What DiscordSRV Does
DiscordSRV is a Paper/Spigot plugin that creates a two-way chat bridge between your Minecraft server and a Discord channel. Messages typed in Minecraft appear in Discord, and messages sent in Discord appear in Minecraft. Beyond chat, DiscordSRV can announce when players join or leave, send console output to a Discord channel, restrict server access based on Discord roles, and let players link their Minecraft accounts to their Discord profiles.
It is one of the most popular plugins in the Minecraft community because it solves a real problem: server owners live in Discord but their players are in-game, and without a bridge the two communities are effectively separate. Before you start, make sure your server is running Paper or Spigot. Vanilla and Fabric servers do not support Bukkit plugins. If you need to get Paper set up first, see our plugin installation guide. NetSkyway gives you full, unrestricted plugin access on its free Minecraft servers, so installing DiscordSRV is just a matter of dropping the JAR into your plugins folder.
Creating a Discord Bot
DiscordSRV needs its own Discord bot to post messages. You cannot use an existing bot. Here is the setup process:
- Go to discord.com/developers/applications and click New Application. Give it a name like "Minecraft Bridge".
- Click Bot in the left sidebar, then click Add Bot and confirm.
- Under the bot's username, click Reset Token and copy the token. Store it somewhere safe -- this is what DiscordSRV uses to authenticate. Do not share it publicly.
- Scroll down to Privileged Gateway Intents and enable Message Content Intent. Without this, the bot cannot read Discord messages and relay them to Minecraft.
- Go to OAuth2 > URL Generator. Under Scopes, select
bot. Under Bot Permissions, select Send Messages, Read Message History, and View Channels. Copy the generated URL and open it in your browser to add the bot to your Discord server.
Downloading and Installing the Plugin
Download the latest DiscordSRV release from Hangar or the official GitHub releases page. You want the file named DiscordSRV-Build-X.XX.X.jar.
Upload that JAR to your server's plugins/ folder using your panel's file manager or via SFTP. Start the server once. DiscordSRV will load, fail to connect (because you have not configured the token yet), and generate a plugins/DiscordSRV/config.yml file. Stop the server after it has fully started so you have that config file to edit.
config.yml Setup
Open plugins/DiscordSRV/config.yml in your panel's file editor. There are three values you must set before the bridge will work.
BOT_TOKEN: Paste the bot token you copied from the Discord Developer Portal here. The line looks like:
BOT_TOKEN: "your-token-here"
CHANNEL_IDs (or Channels section): This maps Minecraft chat to a specific Discord channel. To get a channel ID, enable Developer Mode in Discord (User Settings > Advanced > Developer Mode), then right-click any channel and select Copy Channel ID. The config entry looks like:
Channels:
global: "123456789012345678"
Replace the number with your actual channel ID. The key global maps to the default Minecraft chat channel. If you use a multi-channel chat plugin, you can map additional channel names here.
DiscordConsoleChannelId: Optionally, set this to a separate private channel ID if you want the server console to stream into Discord. This is useful for monitoring the server without being logged into the panel. Keep this channel private -- console output includes player IPs and other sensitive data.
Linking the Bot to a Channel
Save the config file and start the server. Watch the console output. DiscordSRV will print a line like DiscordSRV is connected and ready if the token is valid and the bot can reach Discord's API. If you see an error about an invalid token, double-check that you copied the full token with no trailing spaces and that Message Content Intent is enabled on the bot.
Go to your Discord server and check the channel you mapped. The bot should post a server start message automatically if you have that feature enabled (it is on by default). Try sending a message in the Discord channel. It should appear in Minecraft prefixed with the player's Discord username.
Testing the Setup
A full working setup should pass these checks:
- A message typed in-game by a player appears in the linked Discord channel within one second.
- A message typed in the Discord channel appears in Minecraft prefixed with the sender's name.
- Player join and leave events post to Discord (if enabled in config).
- The bot appears online in your Discord server's member list.
If in-game messages reach Discord but Discord messages do not reach Minecraft, check that Message Content Intent is enabled in the Developer Portal -- this is the most common cause. If nothing is working at all, check the server console for DiscordSRV error lines and search them on the DiscordSRV GitHub issues page. Also make sure you have the right plugin installed for your server setup -- check out our list of recommended Minecraft server plugins for other additions worth pairing with DiscordSRV.