DiscordSRV connects your Minecraft server to a Discord server: in-game chat appears in a Discord channel, messages typed in that channel appear in-game, and — with a little setup — you can pipe your server console and sync roles too. It's the standard way to keep a community talking whether they're logged in or on their phone. The catch that trips people up is that DiscordSRV runs its own Discord bot, so it needs a token and the right intents, just like any bot.
| At a glance | |
|---|---|
| You need | A plugin-capable server (Purpur, PaperSpigot, Spigot family), DiscordSRV from the Plugins page, and a Discord server you manage |
| Also | A bot token from the Discord Developer Portal (see below) |
| Plan | Any |
The bot lives inside your Minecraft server
Here's the reassuring part: you do not host a second thing. DiscordSRV is the bot — it connects out to Discord from inside your Minecraft server process. There's no separate app server to run, no port to open. You give DiscordSRV a token, it logs in, and the bridge is live while your Minecraft server is up.
That also means the token you create is used by DiscordSRV, not by any of the bots in the Discord Bots guides. If you've made a bot before, the token steps will feel familiar.
Get a bot token and set intents
DiscordSRV needs its own Discord application:
- In the Discord Developer Portal, create an application, add a Bot, and copy its token (Reset Token shows it once).
- On the Bot page, turn on the Message Content Intent and the Server Members Intent — DiscordSRV reads message text (to relay it into the game) and member info (for linking and roles). Without Message Content, Discord-to-game chat won't work.
- Invite the bot to your Discord server with the
botscope and permission to read and send messages in the channel you'll bridge.
💡 Tip: The token is a password. Paste it only into DiscordSRV's config on the server, never into chat or a public repo. If it leaks, reset it in the portal — the old one dies instantly. More on why in Your first Discord bot.
Configure the bridge
DiscordSRV's config is /plugins/DiscordSRV/config.yml, edited in the File Manager. The two things you must set:
| Setting | What to put |
|---|---|
BotToken |
The token you copied from the portal |
Channels |
A mapping of an in-game channel name to a Discord channel ID — the classic entry is global: "your-channel-id" |
To get a channel ID, enable Developer Mode in your Discord user settings, then right-click the channel and Copy ID. Paste that ID (in quotes) as the global channel.
After editing, run /discordsrv reload in the console (or restart). Watch the console: DiscordSRV logs whether the bot connected and found the channel.
🎯 Good to know: DiscordSRV can do a lot more than two-way chat — a console channel that streams your server log to Discord, role synchronization between a Discord role and an in-game permission group, join/leave announcements, and avatars in messages. Each is a config section. Turn them on one at a time so you can tell what changed.
Linking accounts
Chat relay works without any player setup. But linking — tying a player's Minecraft account to their Discord account — is what unlocks the good stuff: role sync, showing a player's Discord name, per-player features. Players run /discord link in-game, get a code, and confirm it with the bot in Discord. It's optional but worth encouraging if you use roles.
Verify it works
Type a message in-game — it should appear in the bridged Discord channel within a second. Type a message in that Discord channel — it should appear in the game chat. If one direction works and the other doesn't, that's your clue (see below).
Troubleshooting
- Bot never comes online /
Bot has not connected— the token is wrong or was reset. Copy a fresh one intoBotTokenand/discordsrv reload. - Game chat reaches Discord, but Discord messages don't reach the game — the Message Content Intent is off. Enable it on the Bot page in the Developer Portal.
- Nothing bridges at all — the channel ID is wrong or the bot can't see that channel. Re-copy the ID (Developer Mode → Copy ID) and confirm the bot has read/send permission there.
- Role sync or linking misbehaves — that's the account-linking and Server Members intent territory; enable the intent and check DiscordSRV's own documentation, since these features and their config keys evolve.
- Anything version- or feature-specific — DiscordSRV's official docs are the current reference for config keys beyond the basics above.