ArcadiaBridge
A Discord ↔ Minecraft bridge for one or many servers: two-way chat, account verification, synced sanctions, player reports with Discord buttons, cross-server chat, staff chat and topic channels.
Server-side mod for NeoForge 1.21.1, built for the Arcadia: Echoes of Power network and fully open source. One shared MySQL/MariaDB database lets all your servers work as one: a link, a ban or a mute applies everywhere.
Features
Discord ↔ Minecraft
- Two-way chat between a Discord channel and the Minecraft chat, with the player's LuckPerms prefix. Each server can have its own channel.
- Announcements: server start and stop, joins, leaves, deaths.
- Two display styles: compact (one line per event, all sent by the bot) or rich (player messages through a webhook with their head, announcements as coloured embeds).
/onlineon Discord: who is connected, on which server.- Mentions are neutralised both ways: nobody can ping
@everyonefrom Minecraft.
Account verification
- On first join, the player gets a private code and enters it on Discord with
/verify. Codes are random, hashed, single-use and expire. - Optional grace period or kick mode, chat blocked until verified, a Discord role for verified players.
Moderation
- Ban, temporary ban, mute, temporary mute, warnings, with full history, from the game or from Discord (
/mc). - Synced both ways: a ban in game bans the linked Discord account, a Discord ban bans the linked Minecraft account, a mute becomes a Discord timeout. Durations really expire.
- Reports:
/report <player> <reason>in game, sent to the staff on Discord with Ban / Mute / Ignore buttons. - Ban evasion alerts: the staff is warned when a banned account shares the address of a joining player (alert only, never an automatic sanction; addresses are never stored, only a salted fingerprint).
Several servers, one community
- Cross-server chat: players of all your servers talk together; each one can stay local with
/chat local. On Discord, each server keeps its own channel. - Staff chat shared by all servers (
/sc), which also receives reports and alerts. - Topic channels (
#trade,#recruitment…) created by the staff and joined by players with/canal. - Private messages across servers:
/msgreaches a player connected to another server. - Automatic primary server: Discord commands and expirations are handled by one server at a time, elected through the database; if it stops or crashes, another one takes over within seconds.
Tabbed chat (optional)
With the client mod ArcadiaChat, players get chat tabs (global, server, private, staff, channels), @mentions, a typing indicator and one-click server switching. Players without it keep the normal chat.
Installation
- Drop the jar in the server's
modsfolder (server side only, players do not need it). - Create a MySQL or MariaDB database, shared by all your servers.
- Create a Discord application and bot, enable the Message Content intent, and invite it with these permissions: View Channels, Send Messages, Embed Links, Manage Messages, Ban Members, Moderate Members, Manage Roles (and Manage Webhooks for the rich style).
- Start the server once, then fill
config/arcadiabridge.toml: database, bot token, server and channel IDs, and a uniqueserverIdper server.
The default language is French: set language = "en_us" in the [general] section for English. All messages can be edited in config/arcadiabridge/lang/.
Commands
| Command | Permission |
|---|---|
/arcadia_ban, /arcadia_tempban, /arcadia_unban |
arcadiabridge.command.ban |
/arcadia_mute, /arcadia_tempmute, /arcadia_unmute |
arcadiabridge.command.mute |
/arcadia_warn, /arcadia_history |
arcadiabridge.command.warn, .history |
/arcadia_unlink |
arcadiabridge.command.unlink |
/sc <message> (staff chat) |
arcadiabridge.chat.staff |
/canal create\|delete <channel> |
arcadiabridge.chat.channels.manage |
/report, /chat, /canal list\|join\|leave\|say, /msg |
everyone |
Discord: /verify, /online, and /mc (ban, tempban, unban, mute, unmute, warn, info, unlink) for members with the Ban Members permission or a configured staff role.
Permissions go through the NeoForge permission API, so through LuckPerms if installed; without it, staff commands are for operators.
Compatibility
- Minecraft 1.21.1, NeoForge, Java 21, server side only.
- Optional: LuckPerms (permissions and chat prefixes), LPC (chat formatting is kept across servers), No Chat Reports.
- Bundles JDA, HikariCP, MySQL Connector/J and their dependencies (relocated, no conflict with other mods).
🇫🇷 Version française
Un pont Discord ↔ Minecraft pour un ou plusieurs serveurs : chat dans les deux sens, vérification des comptes, sanctions synchronisées, signalements avec boutons sur Discord, chat inter-serveurs, chat staff et canaux thématiques.
Mod serveur pour NeoForge 1.21.1, conçu pour le réseau Arcadia: Echoes of Power, entièrement open source. Une base MySQL/MariaDB partagée fait fonctionner tous les serveurs comme un seul : une liaison, un ban ou un mute s'applique partout.
- Discord ↔ Minecraft : chat dans les deux sens avec le préfixe LuckPerms, annonces (démarrage, connexions, morts), style compact ou riche (webhook avec la tête du joueur),
/online. - Vérification des comptes : code privé à saisir sur Discord avec
/verify; délai de grâce ou expulsion, rôle « vérifié ». - Modération : ban, ban temporaire, mute, avertissements et historique, en jeu ou depuis Discord, synchronisés dans les deux sens. Signalements
/reportavec boutons sur Discord, alerte de contournement de ban. - Plusieurs serveurs : chat inter-serveurs (
/chat), chat staff commun (/sc), canaux thématiques (/canal),/msgentre serveurs, élection automatique du serveur primaire. - Chat à onglets avec le mod client facultatif ArcadiaChat.
Installation : le jar dans mods (serveur uniquement), une base MySQL/MariaDB commune, un bot Discord avec l'intent Message Content, puis config/arcadiabridge.toml à remplir (un serverId différent par serveur). Langue par défaut : français (language = "en_us" pour l'anglais).

