Skip to main content
← All Guides
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
  1. 1
    Create the bot application
    Open 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.
  2. 2
    Invite the bot to your server
    Under 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.
  3. 3
    Install DiscordSRV
    Drop DiscordSRV.jar into the plugins folder of your Paper or Spigot server and restart so it writes plugins/DiscordSRV/config.yml.
  4. 4
    Paste token and channel ID
    In 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).
  5. 5
    Reload and test
    Run /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>.
DiscordSRV · console
[DiscordSRV] Enabled · linked to #minecraft-chat
[DiscordSRV] Bot logged in as AstroBridge#4417
In-game chat
<Steve> anyone up for the nether run?
<Alex> yep, gimme 2 min
#minecraft-chat
Steve anyone up for the nether run?
Alex yep, gimme 2 min
@you (from Discord) on my way
<Discord> <you> on my way
> reload plugins after editing config.yml
$ /discord reload

What you need

DiscordSRV.jar
config.yml
Bot token
Channel ID

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.
Hosting
Skip the setup
Get a managed server with one click instead of configuring it all yourself.
Database
Browse every block and item
Look up IDs, recipes, and assets to reference in your server's chat and signs.