Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
A simple Velocity proxy plugin that requires players to link a Discord account before they can join the rest of the network.
VelocityDiscord verifies Discord membership and optional Discord roles before allowing players onto your Minecraft network.
Features
- Discord account linking for Velocity
- Blocks unlinked players before backend connection
- MiniMessage formatted messages
- Persistent account linking
Configuration
bot.token=YOUR_DISCORD_BOT_TOKEN
discord.guild.id=YOUR_DISCORD_GUILD_ID
allowed.discord.role.ids=[123456789012345678,234567890123456789]
special.discord.role.id=345678901234567890
special.enabled=false
debug=false
enforce.linking=true
code.length=6
code.expiry.minutes=10
Allowed roles
allowed.discord.role.ids supports multiple Discord role IDs.
Example:
allowed.discord.role.ids=[123456789012345678,234567890123456789]
Behavior:
- If the list is empty (
[]), any Discord member may link. - If roles are configured, the user must have at least one allowed role.
- Using Discord role IDs is recommended over role names.
Special role mode
VelocityDiscord supports an optional "special role" system.
When enabled, the plugin automatically grants a configured Discord role after successful account linking (regardless if they do not have a required role defined above).
Configuration:
special.discord.role.id=345678901234567890
special.enabled=false
Console commands:
/vdspecial status
/vdspecial enable
/vdspecial disable
Alias:
velocitydiscordspecial
Messages
The generated config includes customizable message settings such as:
messages.kick
messages.success
messages.invalid-code
messages.no-required-role
messages.discord-server-only
messages.wrong-discord-server
messages.bot-offline
messages.usage
Messages use MiniMessage formatting, allowing colors and, formatting.
The kick message supports:
{code}
Notes
- If
allowed.discord.role.idsis empty, role checks are skipped. - Link enforcement stays disabled until a real Discord bot token is configured, preventing accidental lockouts with placeholder tokens.


