On this page
Key takeaways
5- DiscordSRV bridges Minecraft chat and Discord, with optional console forwarding and account linking.
- Create a Discord application, enable SERVER MEMBERS INTENT and MESSAGE CONTENT INTENT, and keep the bot token private.
- Set BotToken and the global channel ID in plugins/DiscordSRV/config.yml, then restart and test both directions.
- Use synchronization.yml to map LuckPerms groups to Discord role IDs.
- Link to Join can require players to link Discord before joining, so test the flow before enabling it for everyone.
This guide is for Minecraft server owners who want players to chat between Minecraft and Discord, or staff to receive console messages in a Discord channel. You will create a bot, connect it to your server, and have checks for common setup problems.
Check DiscordSRV support and prepare a test
DiscordSRV bridges chat in both directions, can forward console messages, and supports account linking and role synchronization. Its listing shows support for Bukkit, Folia, Paper, Purpur, and Spigot, with Minecraft versions from 1.7.10 through 26.3. The listed release is 1.30.5, published 24 April 2026. The release notes say it fixes a GameProfiles NMS issue on Minecraft 26.x.
DiscordSRV is free and open source under GPL-3.0-or-later. It is a server-side plugin, so players do not install a client mod. The project asks support requests to use the latest release or a development build. Make a backup and, if possible, try the setup on a copy before changing a live server.
Create and invite the Discord bot
- In the Discord Developer Portal, create an application with New Application.
- Open the application's Bot settings and enable SERVER MEMBERS INTENT and MESSAGE CONTENT INTENT. These are needed for the documented setup.
- In the Installation tab, turn off User Install and set Install Link to None. In General Information, use Reset Token to create a bot token. Leave Public Bot unchecked.
- Copy the Application ID. Follow the invite steps in the DiscordSRV initial setup documentationSource site to add the bot to your Discord server.
- In Discord, enable Developer Mode under User Settings, then Advanced. Right-click the channel for Minecraft chat and choose Copy ID.
Keep the bot token private. If it is exposed, reset it in the Developer Portal. The documentation suggests giving the bot a role with Administrator permission, or granting the specific permissions listed in its setup instructions.
Install the jar and connect a chat channel
Download the current DiscordSRV jar from its project page, then put it in the server's plugins folder. Configure the token and channel ID in plugins/DiscordSRV/config.yml. Stop the server before changing files, then start it again after saving the configuration.
- Stop the server from its console or service manager.
- Upload the DiscordSRV jar to the server's
pluginsfolder. - Start the server once to generate the configuration, then stop it again.
- Edit
plugins/DiscordSRV/config.ymland set the token and channel ID as shown below. - Start the server and check its console for startup errors.
- Stop the server from the Console.
- Use File Manager or SFTP to upload the jar into
plugins. - Start the server once to generate the configuration, then stop it.
- In File Manager, edit
plugins/DiscordSRV/config.ymland set the token and channel ID. - Start the server from the Console and check for errors.
- Stop the server from the console.
- Upload the jar using the Files / FTP page into
plugins. - Start once to generate the configuration, then stop the server.
- Use Files / FTP to edit
plugins/DiscordSRV/config.ymland set the token and channel ID. - Start the server and check the console for errors.
BotToken: "YOUR_TOKEN"
Channels: {"global": "YOUR_CHANNEL_ID"}
# Optional: set a separate console channel
DiscordConsoleChannelId: "YOUR_CONSOLE_CHANNEL_ID"Replace the example values with your own. The console channel setting is optional. The docs list separate files for other features, including alerts.yml, messages.yml, synchronization.yml, voice.yml, and linking.yml.
Check the connection and troubleshoot missed messages
After startup, confirm that the bot appears online and that a test message in Minecraft reaches the selected Discord channel. Then send a message in Discord and check whether it appears in Minecraft. If you configured console forwarding, verify it in the console channel as well.
- Bot is offline: check that the token is current and both required intents are enabled.
- Minecraft chat does not reach Discord: confirm the channel ID and make sure the bot can send messages in that channel. Check Message Content Intent too.
- The plugin does not start: look for errors in the server console, verify the jar is in
plugins, and check that you are using a supported server version. - You changed settings: use
/discordsrv reloadto reload the plugin. If the bot still fails, check the current documentation and update before requesting support.
DiscordSRV's command referenceSource site also documents /discordsrv debugger for generating debug information. Do not share your token when asking for help.
Optionally sync LuckPerms groups to Discord roles
Role synchronization is configured in synchronization.yml. Map each Minecraft group to a Discord role ID with GroupRoleSynchronizationGroupsAndRolesToSync. For LuckPerms, the documentation says to use the group's display name. For other permission plugins, use the group name from that plugin's configuration, matching its capitalization.
GroupRoleSynchronizationGroupsAndRolesToSync:
"Member": "DISCORD_ROLE_ID"
"Moderator": "ANOTHER_DISCORD_ROLE_ID"The bot needs permission to manage the roles involved, and its role must be positioned above roles it needs to assign. Use /discordsrv resync to trigger group synchronization after configuration. For more about building groups and permissions, see our LuckPerms ranks guide.
Enable Link to Join only when your server needs it
Link to Join requires players to link a Discord account before joining. DiscordSRV can kick unlinked players with instructions to message the bot for a linking code. Set Enabled: true in linking.yml and restart after completing the initial bot setup. The feature can also require membership in the Discord server or specific roles.
Consider the extra step from a player's point of view before enabling it. Explain how to link an account in your server's join message or help channel, and test the full flow with a new account before applying it to everyone. For broader Discord planning, see our guide to Discord, votes, and server lists.
Frequently asked questions
Why is my DiscordSRV bot offline?
Check that the token in config.yml is current and that SERVER MEMBERS INTENT and MESSAGE CONTENT INTENT are enabled in the Discord Developer Portal. Review the server console for startup errors.
Why is Minecraft chat not showing in Discord?
Confirm that the global channel ID is correct and that the bot can send messages in that channel. Also check that Message Content Intent is enabled.
How do I sync LuckPerms groups with Discord roles?
Map group names to Discord role IDs in synchronization.yml under GroupRoleSynchronizationGroupsAndRolesToSync. DiscordSRV's documentation says to use LuckPerms group display names, then run /discordsrv resync.
Can DiscordSRV require players to link Discord before joining?
Yes. Enable Link to Join in linking.yml after completing initial setup, then restart the server. Test the linking instructions and any membership or role requirements before making it mandatory.