Server setup
How to Set Up a Discord Bot for Your Server
Run one plugin and your in-game chat and a Discord channel become the same conversation. Here is the DiscordSRV path: make the bot, paste the token, link the channel, reload.
How the chat bridge works
- 1Create the bot applicationOpen the Discord Developer Portal, click New Application, then Bot. Copy the bot token under Bot. Enable the Message Content, Server Members, and Presence privileged intents.
- 2Invite the bot to your serverUnder OAuth2 > URL Generator pick scopes bot and applications.commands, give it Send Messages, Manage Webhooks, and Read Message History, then open the generated URL to add it.
- 3Install DiscordSRVDrop DiscordSRV.jar into the plugins folder of your Paper or Spigot server and restart so it writes plugins/DiscordSRV/config.yml.
- 4Paste token and channel IDIn config.yml set BotToken to your copied token and map Channels: { global: "YOUR_CHANNEL_ID" } using the Discord channel's right-click Copy ID (Developer Mode on).
- 5Reload and testRun /discord reload in the console, type in-game and watch it appear in Discord, then reply in Discord to see it relayed back as <Discord> <you>.
What you need
Quick answers
?
Why is in-game chat not reaching Discord?
The channel ID is usually wrong or unmapped. Recopy it via right-click Copy ID, paste it under Channels: global in config.yml, and run /discord reload. Confirm the bot can actually see and post in that channel.
?
Discord messages do not show in-game. What is missing?
Enable the Message Content privileged intent in the Developer Portal under Bot, then restart. Without it the bot cannot read messages to relay them back into the game.
?
Do I need Developer Mode in Discord?
Yes, to copy IDs. Turn on Settings > Advanced > Developer Mode, then right-click any channel and choose Copy ID for the value DiscordSRV expects.
?
Can I bridge more than one channel?
Yes. DiscordSRV supports a console channel for logs plus the global chat channel, and add-on plugins extend it to staff or per-world channels. Map each under its own key in config.yml.
?
Is DiscordSRV safe to leave the token in config.yml?
Keep config.yml off public backups and never paste it in screenshots. If a token leaks, regenerate it in the Developer Portal under Bot, then update config.yml and reload.
?
Does this work on Fabric or modded servers?
DiscordSRV targets Spigot, Paper, and Purpur. For Fabric use a mod like dcintegration; the bot-creation and channel-ID steps are the same, only the install location differs.