Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
💙 Made by Humans - DiscordID is developed and maintained without "Vibe Coding"
⚠️ BETA RELEASE
DiscordID Version 2.0, DiscordID's complete overhaul, is currently in the final stages of Beta testing. Please report any issues on Discord.
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


