Discord Integration Project - Login (compatible with BungeeC
4.5.0Make your users login using Discord.
4.5.0latestv4.5.0 — Prejoin verification, multi-language, FastLogin bypass, security overhaulMay 9, 2026 New features · Prejoin verification (DiscordSRV-style) — optional. Unregistered players are kicked with a one-time code; they run +confirm <code> (or /confirm) on Discord and reconnect. Already-registered players get a DM with Approve / Deny buttons. AuthMe is integrated — the password is DM'd and applied on next join. · FastLogin premium bypass — verified Mojang account owners skip the Discord flow. Secure at the protocol level (cannot be spoofed by name). · Multi-language — set language: es in config to load lang_es.yml. Spanish bundled out of the box; any locale supported via lang_<code>.yml. · Auto-updating server status embed in a Discord channel — online players, MOTD, TPS, uptime. Edits the same message every N seconds, no spam. · Whitelist gate — admins approve / deny join requests directly from a Discord embed with buttons. · Welcome DM sent once on first successful registration. Configurable. · Config auto-merge — upgrades append new keys to your config.yml without regenerating it. Your values are preserved. · Cross-server identity — multiple Bukkit servers can share a single MySQL DB. A player registered on server A is recognised on server B without re-linking Discord. · Configurable bot activity — PLAYING, WATCHING, LISTENING, COMPETING, STREAMING with live placeholders (%minecraft_players%, %minecraft_max_players%, %minecraft_motd%, %server_name%). · Limbo mode (opt-in) — players awaiting verification go to spectator + invisible + chat-muted so they cannot disrupt other players. Stability & security · Critical CVE in MySQL connector patched (mysql-connector-j 8.4.0) · JDA bumped to stable 5.0.2 · Real HikariCP connection pool for MySQL and SQLite (with WAL on SQLite) · Discord token auto-redacted in logs ([REDACTED_DISCORD_TOKEN]) · Anti-DoS rate limit on prejoin verification (5 attempts / IP / minute, 1000-entry hard cap) · Schema version guard prevents an older plugin from corrupting a DB already migrated by a newer one · Eager config validation at startup — lists every missing required key in one pass · Clean JDA shutdown on plugin disable (no more "zip file closed" errors) · JDA classes shaded under di.shaded.jda — no more conflicts with Vixio, DiscordSRV or other plugins that bundle their own JDA copy · DM coordinator coalesces Discord DMs per recipient to avoid hitting per-user rate limits Bug fixes · Roles not granted after registration (giveRole did not handle null role and queue() had no error handler) · Cascading "zip file closed" errors when the config was incomplete · "Server is not fully started" when using FastLogin (DILogin now registers as FastLogin's auth-plugin via reflection) · Click-to-copy on the register message did not work on MC 1.18+ (version parser only knew up to 1.17) · NullPointerException in TmpCache during PlayerJoinEvent (ConcurrentHashMap rejects null values — sentinel pattern now) · SQLite pool starvation at startup caused by an initial connection leak · Race conditions in concurrent caches · Connection leaks in the DAO (missing try-with-resources) · "Users" header in +userlist was not translatable — now lives in lang.yml
Developer experience · bStats integration (Spigot ID 31219, Bungee ID 31220) · 22 unit tests run in CI · PR validation workflow runs mvn verify on every pull request · /confirm slash command in addition to +confirm · api-version: '1.13' in plugin.yml — silences the "Legacy plugin" warning · release-please automates the changelog and release pipeline Installation Drop the following jars into your server's plugins/ folder: · DICore-4.5.0.jar — default. Bundles SLF4J + log4j so JDA logs work out of the box. · DICore-4.5.0-noslf4j.jar — use if your server already exposes SLF4J (modern Paper, Velocity, hybrid). Loading two SLF4J copies would cause LinkageError. · DILogin-4.5.0.jar — registration & login system. · DILitebansLogs-4.5.0.jar — optional, sends LiteBans punishments to Discord. Direct upgrade from 4.4.0 — config auto-merge appends the new keys for you without touching your existing values. No manual migration needed. Links · GitHub release: https://github.com/Alhxe/Discord-Integration/releases/tag… · Issues / suggestions: https://github.com/Alhxe/Discord-Integration/issues Enjoy!
4.4.5v4.5.0 — Prejoin verification, multi-language, FastLogin bypass, security overhaulMay 9, 2026 New features · Prejoin verification (DiscordSRV-style) — optional. Unregistered players are kicked with a one-time code; they run +confirm <code> (or /confirm) on Discord and reconnect. Already-registered players get a DM with Approve / Deny buttons. AuthMe is integrated — the password is DM'd and applied on next join. · FastLogin premium bypass — verified Mojang account owners skip the Discord flow. Secure at the protocol level (cannot be spoofed by name). · Multi-language — set language: es in config to load lang_es.yml. Spanish bundled out of the box; any locale supported via lang_<code>.yml. · Auto-updating server status embed in a Discord channel — online players, MOTD, TPS, uptime. Edits the same message every N seconds, no spam. · Whitelist gate — admins approve / deny join requests directly from a Discord embed with buttons. · Welcome DM sent once on first successful registration. Configurable. · Config auto-merge — upgrades append new keys to your config.yml without regenerating it. Your values are preserved. · Cross-server identity — multiple Bukkit servers can share a single MySQL DB. A player registered on server A is recognised on server B without re-linking Discord. · Configurable bot activity — PLAYING, WATCHING, LISTENING, COMPETING, STREAMING with live placeholders (%minecraft_players%, %minecraft_max_players%, %minecraft_motd%, %server_name%). · Limbo mode (opt-in) — players awaiting verification go to spectator + invisible + chat-muted so they cannot disrupt other players. Stability & security · Critical CVE in MySQL connector patched (mysql-connector-j 8.4.0) · JDA bumped to stable 5.0.2 · Real HikariCP connection pool for MySQL and SQLite (with WAL on SQLite) · Discord token auto-redacted in logs ([REDACTED_DISCORD_TOKEN]) · Anti-DoS rate limit on prejoin verification (5 attempts / IP / minute, 1000-entry hard cap) · Schema version guard prevents an older plugin from corrupting a DB already migrated by a newer one · Eager config validation at startup — lists every missing required key in one pass · Clean JDA shutdown on plugin disable (no more "zip file closed" errors) · JDA classes shaded under di.shaded.jda — no more conflicts with Vixio, DiscordSRV or other plugins that bundle their own JDA copy · DM coordinator coalesces Discord DMs per recipient to avoid hitting per-user rate limits Bug fixes · Roles not granted after registration (giveRole did not handle null role and queue() had no error handler) · Cascading "zip file closed" errors when the config was incomplete · "Server is not fully started" when using FastLogin (DILogin now registers as FastLogin's auth-plugin via reflection) · Click-to-copy on the register message did not work on MC 1.18+ (version parser only knew up to 1.17) · NullPointerException in TmpCache during PlayerJoinEvent (ConcurrentHashMap rejects null values — sentinel pattern now) · SQLite pool starvation at startup caused by an initial connection leak · Race conditions in concurrent caches · Connection leaks in the DAO (missing try-with-resources) · "Users" header in +userlist was not translatable — now lives in lang.yml
Developer experience · bStats integration (Spigot ID 31219, Bungee ID 31220) · 22 unit tests run in CI · PR validation workflow runs mvn verify on every pull request · /confirm slash command in addition to +confirm · api-version: '1.13' in plugin.yml — silences the "Legacy plugin" warning · release-please automates the changelog and release pipeline Installation Drop the following jars into your server's plugins/ folder: · DICore-4.5.0.jar — default. Bundles SLF4J + log4j so JDA logs work out of the box. · DICore-4.5.0-noslf4j.jar — use if your server already exposes SLF4J (modern Paper, Velocity, hybrid). Loading two SLF4J copies would cause LinkageError. · DILogin-4.5.0.jar — registration & login system. · DILitebansLogs-4.5.0.jar — optional, sends LiteBans punishments to Discord. Direct upgrade from 4.4.0 — config auto-merge appends the new keys for you without touching your existing values. No manual migration needed. Links · GitHub release: https://github.com/Alhxe/Discord-Integration/releases/tag… · Issues / suggestions: https://github.com/Alhxe/Discord-Integration/issues Enjoy!
4.4.0Minecraft 1.21Aug 1, 2024 Add support for Minecraft 1.214.3.1Slash commands and more commandsMay 29, 2024 · Added slash commands · Added userinfo command (discord and minecraft) · Added userlist (discord) command · Added bungeecord option on config (core config) · Added controller for discord message deletions · Bungeecord option in all config files · Updated Discord API · Updated search for discord users (previously it was with the NAME#TAG tag) · Fixed error that the discriminator showed when registering has been corrected · Fixed problem with user registration via USERNAME · Fixed problem when giving roles when registering via discord4.2.0Mar 31, 2024 4.2.0 • NEW. The ability to save sessions even when the server is turned off has been added. When a user tries to access the server again after a startup, it is checked to see if they have the same IP. ( session_persist: true on DILogin config file) • FIX. If the MySQL database connection is interrupted, an attempt is made to reconnect. (Thanks to @skout) • FIX. Fixes to login event when plugin is on BungeeCord. I've been seeing a lot of servers crash when DICore is hosted on BungeeCord. After these changes, I hope everything goes well. For data security, the IP when saved is encrypted to SHA-256. Use DICore-4.2.0-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV) https://github.com/Alhxe/Discord-Integration/releases/tag…4.1.0Compatible with Spigot 1.20Jun 12, 2023 Now the plugin is compatible with Minecraft version 1.20. Use DICore-4.1.0-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)4.0.4small fixesMay 29, 2023 Fix • Registration using username (bug: https://github.com/Alhxe/Discord-Integration/pull/27) • Removed from the console a debugging message that showed the username and IP when logging in • Updated a dependency that had vulnerabilities.4.0.3Jan 9, 2023 4.0.2Fix versionJan 7, 2023 More info there https://github.com/Alhxe/Discord-Integration/releases/tag…4.0.1BungeeCord supportJan 3, 2023 DICore 4.0.1 First version compatible with BungeeCord. I have worked a lot to make this possible, I hope everything goes well and they use it. The configuration and language files have been modified, therefore I recommend generating them again (delete them and start the server) For Spigot Everything continues as before For Bungee You have to put DICore/DILogin both in Bungee and in each spigot server. Just need to configure on Bungee, no need to modify anything on bukkit servers. It is important that the option in spigot.yml of BungeeCord=true is active on each server • BungeeCord support • Aliases can be added to all commands. Example: register ----> registrar (can translate all commands if u want) • Teleport users to another server after login • Register now is optional. If u make that option as true, only registered users are forced to login. • It will be possible to select that only a certain list of roles (luckperms) have to register/login. (It can be used for your administrators/moderators/... to have double authentication) • Option to give discord roles to the user when he is registered • Registration forms can be deactivated/activated. Use DICore-4.0.1-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.4.4Aug 31, 2022 New - Small grammatical errors in comments have been corrected. - Added login sync roles when luckperms is set. - Modification of the DILogin event, now it brings the information of the Discord User of the player. - Removed some annoying messages that appeared on the console. - Event priority change of sending messages. #19 #16 - Removed residual message after executing some commands. #17 - Version of DILogin compatible with nLogin About luckperms role synchronization When a user login, the server will check their Discord roles to sync. If the user has a role in discord and does not have it in minecraft: The role in minecraft is added. If the user does not have a role in discord and if in minecraft: The role in minecraft is deleted. Use DICore-2.4.4-alpha1-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.4.2Jul 26, 2022 New features - It has been added as an option in DILogin that all the messages are through the server. (messages_only_channel: false #If true, bot will not send private messages) - Now if a registered user leaves the discord server, they will not be able to connect to the minecraft server. Corrections - Updated dependencies that had vulnerabilities. Use DICore-2.4.2-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.4.1Jul 14, 2022 New features - You can now register from discord with the command +register MinecraftNickName (example: +register Alhxe) - Now you can register from minecraft with the user and tag (example: /register Alhxe#0127) Corrections - Updated DILogin config.yml file that caused an error due to a tab. - Updated dependencies that had vulnerabilities. Important update DICore to the latest version. Use DICore-2.4.1-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.4.0Jun 18, 2022 New features: · Includes all of: https://github.com/Alhxe/Discord-Integration/releases/tag… · Now compatible with version 1.19. · Fixed an issue related to the security of a dependency. Use DICore-2.4.0-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.3.0May 15, 2022 New features - You can now use the unregister command with offline people. - Now you can use custom characters in the +register command - You can now change the bot status in Discord. - You can modify register alias command. Corrections - Now when you shut down the server you don't get an error related to ZIP. - Mobs no longer interact with players at login or registration. Use DICore-2.3.0-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.2.0Compatible with minecraft 1.18Dec 10, 2021 Now you can use with Minecraft 1.183.1.2-SNAPSHOTNew dev optionsSep 25, 2021 Possibility in the API not to include config or lang files within the dicore folder.3.1.1DILogin 3.1.1Sep 22, 2021 • Added new DILogin whitelist by role. (delete your dilogin config file to the new config) • Fixed vulnerability in a dependency. Use DICore-2.1.0-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.1.0Add support to 1.17Jul 1, 2021 Now the plugin is supported in version 1.17 of minecraft.3.0.6Multiverse supportApr 13, 2021 • Now supports multiverse. (For teleportation) • Fixed NullPointerException messages. Use DICore-2.0.4-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.0.5DILogin 3.0.5Mar 24, 2021 DILogin 3.0.5 • Fixed authme compatibility. • Added teleportation system. When the user connects they will go to a spawn. When the user logs in, they will return to their position. • New configuration is needed in the DILogin config.yml: Code (YAML): #Teleport options teleport : true teleport_x : -207 teleport_y : 90 teleport_z : 272 teleport_world : world teleport_yaw : 2.4 teleport_pitch : 12.9 Use DICore-2.0.4-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.0.4AuthMe supportMar 22, 2021 • Added AuthMe support. • Hide inventory before logging in. (versions prior to 1.12.X). • In the event of a missing translation or error line, execute the line established in the default file. • New language files added internally in DILogin (you can get them by opening the jar as if it were a zip file). Use DICore-2.0.3-noslf4j only if you have another plugin that generates incompatibilities related to slf4j (For example DiscordSRV)3.0.3Error correction.Mar 18, 2021 - FIX: In some cases the bot did not see all users. - Added register in minecraft command. - EDITS ON LANG OF DILOGIN: ADD: register_submit: 'I have sent you a message on Discord. Read it to be able to finish the registration.' EDIT: register_arguments is now register_discord_arguments EDIT: register_request: '&cTo register, use the command &6%register_command% &con our discord server or use here &6/register <nick> &cwhere nick is your Discord name with the discriminator. (Example: Nick#0001)' ADD: register_discord_desc: 'To complete your registration you just have to react to this message. Once you accept, %minecraft_username% s account will be linked with this Discord user.' ADD: register_arguments: 'Enter the discord user id.' EDIT: register_user_not_detected: 'I have not found any user with id %user_discord_id%.' REMEMBER GET NEW DICORE VERSION3.0.2Important fixes ¡¡Requires DICore 2.0.2!Mar 17, 2021 · Packaging improvements, reducing the weight of files other than the core. · Fixed that the user after unregister could reconnect per session. · Changed the registration system, now users must register from discord. · A new line is needed in the conf of DILogin: register_code_length: 5 · Changes in the line of lang of DILogin: EDIT: register_request: '&cTo register, use the command &6%register_command% &con our discord server.' EDIT: register_arguments: 'Enter the registration code.' DELETE: register_submit DELETE: register_user_not_detected DELETE: register_discord_desc ADD: register_code_not_found: 'The code you have entered is not valid.' Minor fixes: · Fixed unregister problem that when you didn't enter arguments it generated an error. · Fixed unregister now send messages to user using command.3.0.1Total reconstructionMar 16, 2021 The whole plugin core and plugin have been updated. Now it no longer generates errors and all messages are deleted correctly. The DILogin plugin brings the possibility to limit the accounts created per user. New lines have been added in the configuration files. For them to work, delete the ones you have and let new ones be generated. Then you can change what you need between the two. Now in each version of the core the plugins corresponding to that version will be included. Now the project is Open Source: https://github.com/Alhxe/Discord-Integration A discord has been created for problems, suggestions, or any topic related to Discord Integration plugins: https://discord.gg/gd6RtfpMDk2.0.4Last update - Requires DICore 1.0.2Dec 28, 2020 Adapted the plugin to support the latest version of DICore.2.0.3Spaced Names fixDec 27, 2020 · Fixed severe error when trying to register discord users that contain spaces. · Added German translation.2.0.2Error correctionDec 25, 2020 Various severe bugs that caused the plugin to close have been fixed.2.0.1New Session SystemDec 21, 2020 Now the user will not have to log in for the duration of their session. To activate this, remember to refresh your plugin configuration again, as there are new options in the config file. Other changes · Fixed a severe bug that prevented the plugin from executing, generating a NullPointerException.2.0Core addedDec 19, 2020 Now this plugins is a module from Discord Integration Project.1.0.2Added new commandsDec 13, 2020 In principle this will be the last thing I develop of the plugin. Well, I think this is what a basic login plugin would be. If there was support for this idea, it could be further developed. Added: · /forcelogin <nick> · /unregister <nick>1.0.1Fix nick error.Dec 13, 2020 Fixed: · Error in Discord names that contained spaces. · Error in the default yaml file.1.0Dec 13, 2020
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
26.2MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.9MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
4.7MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta