Discord Integration Project - Login (compatible with BungeeCord)
Let your users register and log into your Minecraft server through Discord. Built for communities that want every player linked to their Discord. Module of Discord Integration Project (
https://www.spigotmc.org/resources/discord-integration-project.86876/).
How does it work? When a user joins the server two flows are possible:
In-server flow — the player receives a Discord DM asking to confirm registration / login. If DMs are disabled the bot tags them in a configured channel.
Prejoin verification flow (opt-in, DiscordSRV-style) — unregistered players are kicked with a one-time code and run +confirm <code> (or /confirm) on Discord. Already-registered players get a DM with Approve / Deny buttons. Reconnect = in.
Main advantages
All plugin messages live in lang.yml and can be translated.
Multi-language out of the box — set language: es (or any code matching a lang_<code>.yml) and ship a translated file. Spanish bundled.
BungeeCord support.
Cross-server identity — multiple Bukkit servers point at a single MySQL DB; a player registered on server A is recognised on server B without re-linking Discord.
FastLogin premium bypass — verified Mojang owners skip the Discord flow. Secure at protocol level (cannot be spoofed by name).
LuckPerms, AuthMe, nLogin and DiscordSRV compatible.
Flexible configuration.
Account safety depends on the user keeping their Discord — Discord 2FA effectively becomes 2FA for the server.
Session system with configurable expiry.
Optional limbo for unverified players (spectator + invisible + chat-muted) so they cannot disrupt online players.
Teleport users to a lobby point and return them to their previous position after login.
Discord-side admin features
Whitelist gate — admins approve / deny join requests directly from a Discord embed with buttons, no in-game commands needed.
Welcome DM — one-shot onboarding message sent on first successful registration.
Auto-updating server status embed — online players, MOTD, TPS, uptime; the bot edits the same message every N seconds.
Configurable bot activity — PLAYING / WATCHING / LISTENING / COMPETING / STREAMING with placeholders (%minecraft_players%, %minecraft_max_players%, %minecraft_motd%, %server_name%).
• Aliases can be added to every command (translate all commands if you wish).
• Teleport users to another server after login.
• Optional registration — if you set it as optional only registered users are forced to log in.
• Restrict registration / login to a specific LuckPerms role list — useful for staff 2FA.
• Give Discord roles to a user automatically on registration.
• Registration forms can be enabled / disabled.
•
Config auto-merge — when you upgrade and new keys are added, the plugin appends them to your config.yml without regenerating it. Your values are preserved.
•
Schema version guard — older plugin instances refuse to start against a DB already migrated by a newer one, preventing corruption in cross-server setups.
•
Eager config validation at startup — every missing required key is reported in one pass.
•
Anti-DoS rate limit on the prejoin flow (5 attempts / IP / minute, hard cap).
•
Discord token redacted from logs automatically.
•
bStats integrated.
AuthMe support Players can register through AuthMe or DILogin and log in with either. The prejoin flow integrates too — the AuthMe password is generated, DM'd to the user, and applied on the next successful join.
https://github.com/Alhxe/Discord-Integration/wiki/AuthMe-support
Some images
(Embed image is your Discord server icon)
Translation files Default is English. Spanish bundled. Supports Minecraft formatting codes (&1, &l, ...), Discord markdown, and player placeholders.
Russian, Ukrainian, Latvian, Japanese, French, German and Chinese translations can be found on the Discord server.
If you want to contribute a new translation, drop it on the Discord — much appreciated <3
BungeeCord installation Add the core plugin DICore and read how to install it (
https://www.spigotmc.org/resources/discord-integration-project.86876/).
Complete the configuration file located in the
DICore/DILogin folder.
Put DICore and DILogin jar on each Bukkit backend (no need to configure anything there).
Set
bungeecord=true in spigot.yml.
MySQL cross-server setup Point every backend at the same MySQL database in
config.yml (database / host / port / username / password / table). The first server creates the schema; the rest auto-detect it via the schema version guard. Full guide:
https://github.com/Alhxe/Discord-Integration/blob/main/docs/CROSS_SERVER.md