Skip to content

Upgrade to JDA 6 with DAVE protocol support and fix voice reconnect loop#1857

Open
noxianwill wants to merge 4 commits into
jagrosh:masterfrom
noxianwill:master
Open

Upgrade to JDA 6 with DAVE protocol support and fix voice reconnect loop#1857
noxianwill wants to merge 4 commits into
jagrosh:masterfrom
noxianwill:master

Conversation

@noxianwill
Copy link
Copy Markdown

Fix Available

This issue is caused by Discord's mandatory DAVE protocol (End-to-End Encryption) for all voice connections, enforced since March 1, 2026. JDA 5.x does not support DAVE, so Discord rejects the voice connection — causing the bot to loop endlessly trying to reconnect.

What's Fixed

  • ✅ Bot no longer disconnects/reconnects repeatedly from voice channels
  • ✅ Voice E2E encryption (DAVE protocol) now fully supported
  • ✅ Fixed race condition in track-end handling that could cause playback loops
  • ✅ Local playlist playback (!play playlist <name>) works reliably

What Changed

  • Upgraded JDA 5.6.1 → 6.3.2 (required for DAVE protocol compliance)
  • Added libdave-jvm for Discord voice E2E encryption (Windows x86-64 + Linux x86-64)
  • Updated JDA-Chewtils to JDA 6-compatible version
  • Java target bumped from 11 → 17

Download

⬇️ JMusicBot-0.4.3-1.0-fixed

Source code: https://github.com/noxianwill/MusicBot/

Upgrade Instructions

  1. Stop your bot
  2. Replace your old JMusicBot JAR with JMusicBot-0.4.3-fix1.0.jar
  3. Start the bot: java -Dnogui=true -jar JMusicBot-0.4.3-fix1.0.jar
  4. No config changes needed — your existing config.txt will work as-is

⚠️ Note: This release requires Java 17 or newer. If you were running Java 11, you'll need to update your Java installation.

noxianwill and others added 2 commits December 3, 2025 11:36
- Discord deprecated xsalsa20_poly1305 encryption modes on Nov 18, 2024
- Bot now supports aead_xchacha20_poly1305_rtpsize encryption
- Updated JDA 4.4.1_353 -> 5.6.1
- Replaced jda-utilities with jda-chewtils (JDA 5 compatible)
- Updated lavaplayer 2.2.1 -> 2.2.4
- Updated youtube source 1.5.2 -> 1.13.3
- Updated logback 1.2.13 -> 1.5.18
- Fixed bot status not updating to configured value on startup

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Upgrade JDA 5.6.1 -> 6.3.2 (required for Discord mandatory DAVE protocol)
- Add libdave-jvm 0.1.2 with Windows + Linux natives for DAVE E2E encryption
- Update JDA-Chewtils to JDA 6 compatible master-SNAPSHOT from JitPack
- Add endReason.mayStartNext guard in AudioHandler to prevent track loop
- Bump Java target 11 -> 17, maven-shade-plugin 1.5 -> 3.6.0
- Remove dead JCenter repository, add KyokoBot + Lavalink Snapshots repos
- Add dependency-reduced-pom.xml to .gitignore
@Anvnamnet
Copy link
Copy Markdown

Still works as of 2026-April-17.

@charliesh4rk
Copy link
Copy Markdown

Running the force skip command seems to clear the queue.
image

Fix: Add ARM64 support for Raspberry Pi 5.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants