Connecting your Rust server to Discord
A step-by-step guide to the rustd.xyz Discord bot: what it posts, which slash commands it adds, and how to set it up for one server or a whole community.
Most Rust communities live on Discord, and players ask the same things there every day: is the server up, how many are on, when is the wipe, what is the next map. rustd.xyz answers those questions in your Discord by itself, using a bot you add with one click. You don't create a Discord application, host a bot or install a plugin on the game server. The panel already talks to your server over RCON, and the bot posts what the panel sees.
What the bot does
- A live status post. The bot keeps one message in your status channel, with one card per server, and edits it as things change. Each card shows whether the server is online, restarting or offline, how many players are on out of the maximum, and when the last and next wipes are. It can also show a link to the public map and a
client.connectline players can paste into the F1 console. Your channel holds one message that stays current, not a stream of "server online" lines. - Next-map announcements. When the next wipe's map is revealed and rendered, the bot posts its picture, seed, size, the wipe time and a link to the public next-map page. It posts once per map and edits the same post if you re-roll.
- In-game chat relay. Players' chat is relayed to a Discord channel, batched every few seconds into one message so a busy server doesn't hit Discord's rate limits.
/verify: players link their Discord account to their Steam ID, and can be given a role for it./say: Discord admins can say something in game chat without opening the console.
Looking for a Discord kill feed? Kills, deaths, joins and leaves are not posted to Discord. They are recorded in each server's activity feed in the panel, where you can filter them by type. The status post's player count updates as people join and leave.
Before you start
- A server added to rustd.xyz and connected over RCON.
- Permission to add bots to your Discord server, which means the Manage Server permission or ownership.
- Discord's Developer Mode, so you can copy IDs: in Discord, open User Settings → Advanced and turn on Developer Mode.
Step 1: Add the bot to your Discord
In the panel, open Community from the sidebar. It holds the settings shared by every server in your community, and Discord is one of them. Click 1. Add the bot to your Discord, choose your Discord server, and authorise it.
The bot asks for five permissions and uses each one for something specific:
- Manage Roles, to give the verified role after
/verify. - View Channel, Send Messages, Embed Links and Attach Files, to list your channels in the panel's pickers and to post the map picture, the status post and relayed chat.
It never reads message history, and it only ever edits its own posts.
Step 2: Link your Discord server
In Discord, right-click your server's icon and choose Copy Server ID. Paste it into Discord server (guild) ID on the Community page.
If you want verified players to get a role, create the role in Discord first. Then go to Server Settings → Roles, right-click the role, choose Copy Role ID, and paste it into Role to grant on verification. Leave that field empty to link accounts without giving a role. In Discord's role list, the bot's own role has to sit above the role it grants, or Discord will refuse.
Click Save. Saving also registers the bot's slash commands, /verify and /say, in your Discord server.
Step 3: Pick the channels
Once the server ID is saved, the Community page lists your channels in three pickers:
- Map channel: next-map announcements.
- Status channel: the live status post.
- Chat channel: relayed in-game chat.
Pick any or all of them, click Save, then use the Test button next to each to send a test post. Test works on the saved channel, so save first. A channel you just created shows up after you click refresh the list. A private channel has to give the bot's role View Channel. Until it does, the picker marks it "bot can't see it", and nothing the bot posts there arrives.
Step 4: Turn it on for each server
Channels are set once for the whole community, but each server chooses what it sends. Open the server's Settings page and tick the ones you want:
- Post the next map to Discord when it is revealed and rendered
- Keep a live status post in the status channel
- Relay in-game chat to Discord
Every server posts to the community's channels by default. If one server should post somewhere else, for example a separate chat channel for each server, choose a channel in that server's override picker. Several servers can share a status channel: each one gets its own card on the same post.
On the status card, the map link appears when the server's public map page is enabled, and the client.connect line appears when you have ticked "show join info" for it.
Player verification with /verify
- A player runs
/verifyin your Discord. Only they see the reply, which gives them a short code. - They type
!verify CODEin game chat on any of your servers within 10 minutes. - The panel links their Discord account to the Steam ID that typed the code, shows their Discord handle on the Players page, and gives them the verification role if you set one. The Discord reply updates to confirm.
No Oxide or uMod plugin is needed: the panel reads game chat over RCON. Verification counts for the whole community, so a player verified on one of your servers is verified on all of them.
Talking in game with /say
/say message:Server restarting in 10 minutes broadcasts the line in game chat as [Discord] yourname: …. With more than one server, add server: with the server's name. Discord only shows /say to members with the Manage Server permission. To let a moderator role use it, change the command's permissions under Server Settings → Integrations. Messages are kept short to fit Rust's chat line.
Troubleshooting
- "This Discord server is not linked to a rustd.xyz panel yet." The server ID hasn't been saved on the Community page, or it is a different Discord server's ID.
- "The bot cannot see this server's channels." The bot was removed, or it was added without its permissions. Add it again with the button in step 1.
- The status card shows offline. A card turns red only after the server has been unreachable for two minutes, so a brief reconnect never shows as an outage. If it stays red, check the server's RCON connection in the panel.
- The role isn't given. Move the bot's role above the verification role in Discord's role list.
Try it on a real server
rustd.xyz is a hosted control panel for the Rust servers you already run: players, bans, wipes, plugins, Discord and a live map in one place.
Sign in