File Details
discordbridge-1.1.0.jar
- R
- Apr 11, 2026
- 15.23 MB
- 10
- 1.21.1
- NeoForge
File Name
discordbridge-1.1.0.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
[1.1.0] - 2026-04-11
Added
- HikariCP Connection Pool — Replaced the single shared JDBC connection with a proper HikariCP thread-safe connection pool. Configurable pool size, timeouts, and lifetime. Zero resource leaks guaranteed via try-with-resources on every query.
- Auto-Create Tables — Database tables (verified_players, banned_players, staff_players, active_sessions) are automatically created on first startup. No manual SQL required.
- JSON File Fallback — When database is disabled (
enableDatabase = false), all storage operates via thread-safe JSON files with atomic writes. Both modes are fully functional. - JSON Error Recovery — Corrupt JSON files are automatically detected, backed up (timestamped .bak), and reset. No crash, no data loss, clear error logs.
- Re-Verification System — Players can re-verify with a different MC username. The old username is automatically removed. One Discord ID = one MC username at all times.
- i18n System (FR/EN) — All user-facing messages available in French and English. Language configurable via
language.language = "fr"or"en"in config. - LuckPerms Integration — Optional runtime detection of LuckPerms. Permission nodes:
discordbridge.admin,discordbridge.ban,discordbridge.verify,discordbridge.staff,discordbridge.status,discordbridge.reload,discordbridge.debug. Add/remove groups on staff promotion/demotion. - Discord Guild Ban Sync — When banning a player in-game, their Discord account is also banned from the guild (if
enableDiscordGuildBan = trueand their Discord ID is known via verification). Works both ways: MC ban -> Discord ban, Discord ban -> MC ban. - New Commands:
/discordbridge servers— Show all connected servers with player counts (queries active sessions across network)/discordbridge debug— Show debug info: Java version, memory, threads, JDA status, pool stats/discordbridge test— Full diagnostic: tests DB connection, Discord bot, chat/verify channels, LuckPerms/discordbridge test db— Test database connection with latency/discordbridge test discord— Test Discord bot with ping and guild count
- Session Kick Message Config — New
sessions.kickMessagewith{server}variable. - Verification Cache Config — Configurable TTL (
verification.cacheSeconds). - Session Timeout Config — Configurable timeout (
sessions.timeoutMinutes) and cache refresh interval. - HikariCP Pool Config — Full control over pool size, connection timeout, idle timeout, max lifetime.
- Thread Pool Config — Configurable async DB thread pool and Discord command thread pool sizes.
- Debug Mode —
advanced.debugModetoggle for verbose logging. - Pool Statistics —
/discordbridge statusshows HikariCP pool stats. - Ban Cleanup Interval — Configurable auto-cleanup for expired temp bans.
- Discord Guild Ban Config —
bans_discord.enableDiscordGuildBanto enable cross-platform bans.
Fixed
- CRITICAL: Thread-Safe Database — Replaced single
java.sql.Connection(non thread-safe, shared across 10+ threads) with HikariCP pool. Root cause of random crashes and connection losses. - CRITICAL: Resource Leaks — All
PreparedStatementandResultSetobjects properly closed via try-with-resources. Previously leaked on everyquery()call. - CRITICAL: Server Startup Freeze —
jda.awaitReady()moved to asyncCompletableFuture. Server starts instantly. - CRITICAL: ENABLE_DATABASE=false NPE — JSON fallback mode fully implemented.
- Bot Reload Broken —
shutdown()properly resetsinitializedflag (AtomicBoolean),/discordbridge reloadworks. - Discord Permission Logic — OR instead of AND for permission checks. Moderators no longer locked out.
- Verification Duplicates — Re-verification overwrites old MC username. One Discord user = one MC account.
- Temp-Ban Race Condition — Single atomic INSERT with expiration instead of two separate queries.
- Active Sessions Unreliable — Thread-safe CAS refresh, per-server cleanup on shutdown.
- Chat Relay Silent Failures — Error callbacks on all Discord message sends.
- PlayerListMixin Typo — Fixed French error message.
- JSON Corruption — Atomic file writes (temp + rename). On parse error: backup + reset.
Changed
- Config Path — Moved to
config/discordbridge/discordbridge-server.toml. - /verify Command — Removed server selection. Just
/verify pseudo:<name>, verified globally. - All Messages — i18n via
Messages.java(FR/EN). No more hardcoded French strings. - All Storage Classes — Dual-mode: DB (HikariCP) or JSON (thread-safe atomic writes).
- BotManager — Async init, proper lifecycle, guild ban/unban methods.
- DiscordEventHandler — Configurable thread pool, i18n messages, OR permission logic.
Performance
- Zero Server Tick Impact — All DB/Discord operations off main thread.
- No Memory Leaks — All JDBC resources closed. HikariCP manages pool lifecycle.
- Optimized Cache — ConcurrentHashMap with configurable TTL, ~90% fewer DB queries on login.
- Atomic JSON Writes — Temp file + atomic rename prevents corruption on crash.
- Configurable Thread Pools — Tune async DB and Discord pools for your load.
Ajouts
- Pool HikariCP — Remplacement de la connexion unique par un pool thread-safe. Zero fuite de ressources.
- Creation Auto Tables — Les tables DB sont creees automatiquement au demarrage.
- Fallback JSON — Stockage fichiers JSON thread-safe quand la DB est desactivee.
- Recuperation JSON — Detection des fichiers corrompus, backup automatique, pas de crash.
- Systeme i18n (FR/EN) — Tous les messages en francais et anglais, configurable.
- Integration LuckPerms — Detection automatique, permissions:
discordbridge.admin,.ban,.verify,.staff,.status,.reload,.debug. - Sync Ban Discord — Ban en jeu = ban sur le serveur Discord (si active).
- Nouvelles Commandes —
/discordbridge servers,debug,test,test db,test discord. - Re-Verification — Les joueurs peuvent changer de pseudo MC.
Correctifs
- CRITIQUE: Base de Donnees Thread-Safe — Pool HikariCP au lieu d'une connexion partagee.
- CRITIQUE: Fuites de Ressources — try-with-resources sur tous les PreparedStatement/ResultSet.
- CRITIQUE: Freeze au Demarrage — Init bot async via CompletableFuture.
- CRITIQUE: NPE sans DB — Mode JSON completement fonctionnel.
- Reload Bot — Flag
initializedcorrectement reinitialise. - Permissions Discord — Logique OR au lieu de AND.
- Duplications Verify — Ecrasement correct de l'ancien pseudo.
- Ban Temporaire Atomique — Une seule requete SQL.
- Sessions Fiables — Cache CAS thread-safe, nettoyage par serveur.
- Corruption JSON — Ecriture atomique + backup des fichiers corrompus.
Modifications
- Config — Deplace vers
config/discordbridge/discordbridge-server.toml. - /verify — Plus de selection serveur, verification globale.
- Messages — Systeme i18n FR/EN complet.
- Stockage — Mode dual DB/JSON dans toutes les classes.
Performance
- Zero Impact Ticks — Toutes les operations DB/Discord hors thread principal.
- Zero Fuites — Toutes les ressources JDBC fermees correctement.
- Cache Optimise — ~90% de requetes DB en moins sur les connexions.
- Ecriture JSON Atomique — Pas de corruption en cas de crash.

