Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details

Secure your Minecraft Server by only allowing members of your Discord server to join. DiscordID links Discord accounts to Minecraft Java & Bedrock profiles. Any member of your Discord server can easily verify and whitelist themselves.
Version 2.0 was rewritten from scratch to be more secure, feature-rich, and incredibly performant. Thanks to improved asynchronous processing, DiscordID now processes login events up to 3,000x faster than before, reducing wait times by over 99%.

- Guild Verification: Only allow players who are members of a specific Discord server to join.
- Online Roles: Assign an online role to players while they are connected to the Minecraft server.
- Seamless Linking: Players can connect to the server, enter the
/linkcommand on Discord, and be allowed in without having to reconnect. - Secure Sessions (Optional): Require players to verify login attempts from unknown IP addresses via Discord DM. This effectively prevents impersonation on cracked servers.
- Automatic Migration: DiscordID automatically migrates your old links and configuration to the new format and creates a backup so you can easily roll back if needed.
- Floodgate Support: Experimental compatibility with Floodgate (Geyser) for Bedrock players.
How it Works
When an unlinked player attempts to join the Minecraft server, their connection is blocked and they are shown a screen with a 4-character verification code. The player must then go to your Discord server and run the /link <code> command.
Once executed, their Minecraft profile is linked to their Discord account, and they are immediately allowed onto the server without needing to reconnect.

⚙️ Discord Bot Setup
You need to create a dedicated Discord application for DiscordID to function.
- Go to the Discord Developer Portal and click New Application.
- Navigate to the Bot tab in the left sidebar.
- CRITICAL: Scroll down to Privileged Gateway Intents and enable the Server Members Intent. If this is off, DiscordID cannot check if users are in your server or assign roles.
- Click Reset Token to get your bot token. Copy this and paste it into the
discordTokenfield in yourconfig.yml. - Navigate to OAuth2 -> URL Generator.
- Under Scopes, select
bot. - Under Bot Permissions, select Manage Roles (this is strictly required if you want the bot to assign online roles or require specific roles to join).
- Copy the generated URL at the bottom, paste it into your browser, and authorize the bot to join your server.
- Get your server's ID by right-clicking your server icon (requires Developer Mode enabled in Discord) and selecting "Copy Server ID". Paste this into
guildIDin your config. - Role Hierarchy: If you use the online role feature, open your Discord Server Settings -> Roles, and drag your Bot's role above the online role you want it to assign.

Commands & Permissions
Discord Commands
/link <code>-> Links your Discord account to a Minecraft profile using the verification code./link-> Displays the connected Minecraft profile(s) for the server./unlink-> Unlinks your profile. If multiple profiles are linked, a dropdown will appear./unlink <profile>-> Unlinks a specific profile by its name or UUID.
Minecraft Commands (Player)
/discord-> Shows information about your current link./discord unlink-> Unlinks the current profile from its Discord account. (Default Permission: did.unlink)
Minecraft Commands (Admin)
/discord list-> Shows all links on this server. (Permission: did.manage)/discord unlink <profile>-> Unlinks a specific profile. (Permission: did.manage.unlink)/discord link <profile> <account>-> Link a specific profile by name/UUID to a specific Discord account by name/ID. (Permission: did.manage.link)/discord reload-> Reloads the config and restarts the bot. (Permission: did.manage.reload)/discord bypass-> Shows information about bypassed players. (Permission: did.manage.bypass)/discord bypass <on/off>-> Enabled or disabled bypass. (Permission: did.manage.bypass.toggle)/discord bypass add <player>-> Adds a player to the bypass list. (Permission: did.manage.bypass.add)/discord bypass remove <player>-> Removes a player from the bypass list. (Permission: did.manage.bypass.remove)
Configuration
Authentication
- discordToken: Your Discord bot token from the Developer Portal.
- guildID: The ID of your Discord server.
Join Rules
- requireLinked: Enforces the plugin. Only profiles linked to a Discord account are allowed to join.
- requireMember: Only members of the configured
guildIDare allowed to join. - alwaysAllowWhitelisted: Players on the server whitelist bypass all DiscordID requirements.
- alwaysAllowOperators: Server Operators bypass all DiscordID requirements.
- showLinkedMsg: Shows a message to the player upon joining detailing which Discord account they are linked to.
- allowMultiLink: Allows one Discord account to link to multiple Minecraft profiles.
- allowJavaBedrockLink: Allows one Discord account to link to exactly one Java and one Bedrock profile.
- allowMultiSession: Allows multiple profiles linked to the same Discord account to be online simultaneously.
- enforceSessionAuthorization: Players joining from a new IP address must authorize the session via Discord DM.
- sessionDuration: Time in minutes before a player has to re-authenticate an IP session.
Discord
- assignOnlineRole: Enables assigning a Discord role to players while they are online.
- onlineRoleId: The Discord Role ID to assign.
- requireDiscordRole: Requires users to have a specific Discord role to join the Minecraft server. (Set to 0 to disable).
Bypass
- allowBypass: Enables the bypass list.
- allowedPlayer: A list of usernames or UUIDs that are permanently allowed to join if
allowBypassis enabled.
Credits


