File Details
discordbridge-1.0.6.jar
- R
- Mar 16, 2026
- 12.66 MB
- 10
- 1.21.1
- NeoForge
File Name
discordbridge-1.0.6.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Changelog - Discord Bridge
[1.0.7] - 2026-03-16
Fixed
- 🐛 Discord Error 10062 - Unknown Interaction: Fixed critical timeout issue with
/verifyslash command- Problem: Blocking I/O operations (reading/writing verification file) and Discord API calls were causing responses to exceed Discord's 3-second deadline, resulting in "Error 10062: Unknown interaction"
- Solution: Implemented asynchronous execution - Discord response is sent immediately, while file I/O and nickname changes occur in a background thread
DiscordEventHandler.onSlashCommandInteraction()now sends confirmation instantly viaevent.getHook(), then processes verification operations asynchronously- Added comprehensive error handling with try-catch and logging for background operations
- Impact: Eliminates timeout errors, improves user experience with instant feedback, prevents cascade failures on high-traffic servers
Changed
discord/DiscordEventHandler.java- Refactored verification workflow to use background threading- Version suffix removed for stable release
Documentation
- Added
10_ERROR_10062_FIX_EN.md- Complete technical documentation of the bug and its fix - Added
10_ERROR_10062_FIX_FR.md- French version of the error documentation
Changed
- Internal changelog structure cleanup and version ordering normalization.
[1.0.5] - 2026-03-15
Added
✨ Global Verification System: Players verified once on Discord can now connect to ALL servers without re-verifying
- New
VerificationManagerclass for centralized verification management with intelligent caching - 3-second TTL cache system to minimize file I/O on shared verification JSON
- Updated
/verifycommand with global cross-server verification confirmation - Automatic recognition across all connected server instances
- New
🚫 Ban Synchronization System: Complete ban management across Discord and Minecraft platforms
- New
BanStorageclass for persistent ban storage with JSON persistence - New
BanManagerclass providing easy ban/unban operations with audit trails - Automatic player kickback with customizable reason when banned
- Ban checking at login (priority: before verification check)
- Complete ban tracking: reason, timestamp, who banned the player, and platform
- Bans instantly synchronized across all servers via shared JSON file
- New
📝 Configuration Enhancements:
ENABLE_BAN_SYNC- Toggle ban synchronization on/offBANNED_PLAYERS_PATH- Shared ban file path (default:config/discordbridge-banned.json)BAN_KICK_MESSAGE- Customizable ban kick message with{reason}variable support
📚 Documentation:
- Comprehensive documentation in
08_VERIFICATION_AND_BANS.md - Implementation guide in
09_COMMANDS_IMPLEMENTATION.mdfor future/bancommand additions - Updated README with verification and ban system sections
- Complete API documentation with developer examples
- Comprehensive documentation in
🛠️ New API Methods:
BanManager.banPlayer(username, reason, bannedBy)- Ban player across all platformsBanManager.banPlayerMinecraftOnly(username, reason, bannedBy)- Ban from Minecraft onlyBanManager.unbanPlayer(username, unbannedBy)- Unban playerBanManager.isBanned(username)- Check ban statusVerificationManager.verifyGlobally(username, discordId, server)- Verify globallyVerificationManager.isVerifiedWithCache(username)- Cached verification check
Modified
mixin/PlayerListMixin.java- Now checks bans BEFORE verification on login (prioritizes ban detection)discord/DiscordEventHandler.java-/verifymessage now clearly indicates global cross-server verificationconfig/BridgeConfig.java- Added complete ban-related configuration optionsDiscordBridge.java- Now loads both verified players and bans at startupREADME.md- Added comprehensive ban synchronization documentation and architecture explanation
Files Created
util/BanStorage.java- Core ban data management with JSON persistenceutil/BanManager.java- High-level ban operations with synchronizationutil/VerificationManager.java- Centralized verification management with intelligent cachingminecraft/commands/BridgeBanCommand.java- Skeleton for future ban command implementationIMPLEMENTATION_SUMMARY.md- Technical implementation summaryRESUME_FR.md- French language summary
Technical Details
- Ban checks use direct file I/O for immediate consistency across instances
- Verification uses 3-second TTL cache to reduce I/O while maintaining near-instant updates
- Ban and verification systems are completely independent and can be toggled separately
- Both systems support network paths for true multi-server shared storage
- Includes ban metadata (banner, timestamp, reason) for audit trails and future appeal systems
[1.0.3] - 2026-03-14
Fixed
- Discord Timeout: Added
deferReply()to fix the "Application not responding" red error on Discord. - SDLink Cleanup: Added automated cleanup of old global commands at startup.
- Global Verification: Any server instance can now respond to a verification request, ensuring no instance ignores a command.
- Shared Storage: Added
verifiedPlayersPathto share the verification list between multiple local servers.
[1.0.2] - 2026-03-14
Fixed
- Absolute Join Block: Implemented a Mixin on
PlayerList#canPlayerLoginfor absolute reliability. This blocks unverified players at the socket level, preventing world load and ensuring the kick message is always displayed (fixes "Connection reset").
[1.0.1] - 2026-03-14
Added
- Dynamic
/verifyserver selection fromSERVER_LISTconfig. - Registration logging for slash commands.
[1.0.0] - 2026-03-14
Added
- Initial release for NeoForge 1.21.1.
- Bidirectional chat between Minecraft and Discord.
- Join/Leave notifications.
- Death messages relay.
- Server start/stop notifications.
- Automatic whitelist via Discord role.
- Support for multi-server setups with per-channel routing.
/verifyslash command for player validation.- Automatic nickname synchronization upon verification.
Fixed
- Instant Slash Commands: Switched to Guild-level registration for
/verifyto bypass the 1-hour global propagation delay. - Verification Kick Logic: Moved verification check to
PlayerNegotiationEventand usedevent.getConnection().disconnect()to ensure the custom kick message is properly displayed instead of a "Connection reset" error. - Fat JAR Build: Replaced the problematic
jarJarsystem with the Shadow Plugin to merge JDA and its dependencies flat into the mod JAR, bypassing JPMS class-loading isolation issues. - JPMS Conflicts: Implemented a comprehensive exclusion list (Kotlin, Gson, SLF4J, Netty, etc.) to prevent "split package" ResolutionExceptions when running alongside other mods.
For older changelog entries in French, see the repository history.

