GameGrid

Get your Discord bot working: start to finish

Invite the bot, connect it to your server, give your staff access, and run your first command — in order, with what to check if a step does not work.

What you get, and what it costs

The GameGrid bot puts your game server inside your own Discord. Your staff can start, stop and restart it, read the console, run commands, take and restore backups, edit settings, install mods and manage players without opening the panel. Your players can check whether it is up, and — on the games that support it — link their account, earn currency and buy items.

It is included. There is nothing to buy and no separate plan.

Five minutes, four steps. Invite the bot, run /setup with an API key, give your roles access, then run /servers. Everything else is optional.

You need: Manage Server on the Discord side, and access to your GameGrid panel to create an API key. If you own the Discord server you already have the first.

Step 1 — Invite the bot

Open Discord Bot in the panel sidebar and use the invite link there. It carries the exact permissions the bot needs and nothing more.

Pick the Discord server you want it in. Discord will show you the permission list — approve it.

The bot appears offline until step 2. That is expected: it has joined, but it does not yet know which GameGrid account it is acting for.

If the invite link does nothing: you are probably not an administrator of that Discord server, or you are signed into a different Discord account in your browser than in your app. Discord only offers servers where you hold Manage Server.

Step 2 — Create an API key, then run /setup

The bot talks to your servers through the Customer API, so it needs a key of your own. That is what keeps it able to touch your servers and nobody else's.

In the panel: Account → API Keys → Create key. Give it a name you will recognise later, such as "Discord bot". Copy the key — it is shown once and cannot be retrieved afterwards.

Which scopes. The picker groups them. For the whole command set, tick: Servers, Console & logs, Files, Settings, Players, Backups, Mods, Economy, Support tickets, Account, and Windrose Plus if you run Windrose.

The two easy mistakes: Servers is what allows start, stop and restart — a key without it lists your servers and cannot control them. And Backups covers taking *and* restoring, so leave it off if you do not want that reachable from Discord.

A key with fewer scopes is perfectly fine. Commands it cannot reach reply saying which scope is missing rather than failing silently, so you can start narrow and widen later.

In Discord: run /setup api-key:<your key>. Run it in the Discord server, not in a DM.

Discord hides the value as you type it and the bot's reply is only visible to you. The key is stored encrypted against your Discord server.

If /setup says the key is invalid: the most common cause is a partial copy — keys are long. Create a fresh one rather than trying to repair it.

Step 3 — Decide who can do what

Out of the box only the person who ran /setup and the Discord server owner can do anything. Nobody else can even list your servers. Open it up deliberately.

Access is granted per Discord role, and there are five levels. Each one includes everything below it:

No Access — cannot use the bot at all. The default for every role.

Read Only — view servers, status, players, settings, and the backup list. Cannot change anything. Also the level your players need for /balance, /shop, /buy, /link and /daily.

Console Access — Read Only, plus reading the console and running console commands.

Full Access — everything operational: start, stop, restart, files, settings, mods, backups and restores, and economy administration.

Owner — Full Access, plus the commands that expose your own account rather than your servers: /account, /billing, /tickets, /ticket.

Grant one with /config role role:@Moderators level:Console Access.

A sensible starting point: your members role at Read Only so players can check status and use the shop; moderators at Console Access; a small admin role at Full Access; and Owner only for yourself.

Owner cannot be granted to `@everyone`. The bot refuses anything above Read Only for that role, because @everyone includes every member and those commands show your billing.

Anyone can run /help to see the level they currently hold. Every refusal names the level required and who can grant it, so a member who hits one can ask the right person instead of guessing.

Read Discord Bot Permissions before granting Full Access — it can restore a backup over a live world and award currency.

Step 4 — Run your first command

/servers lists your servers with their service numbers. If you see them, everything above worked.

Your Account page in the panel also lists the Discord servers the bot is linked in.

Then /status for a health summary, or /server server-id:00000044 for one server in detail.

You can address a server three ways, and it is worth setting one up now so nobody types an ID again:

/config default-server server-id:00000044 — every command in this Discord server defaults to it. Best if you run one server.

/config channel-server channel:#smp-controls server-id:00000044 — commands in that channel act on that server. Best if you run several: give each its own channel and the IDs disappear.

Or pass server-id: explicitly, which always overrides the other two.

Service numbers can be typed short. /server server-id:44 is the same as 00000044.

Worth setting up next

A log channel/config log-channel channel:#bot-log. Every action taken through the bot is recorded there with who did it. If more than one person has access, set this up.

A command channel/config command-channel channel:#server-controls restricts where the bot accepts commands, which stops your general chat filling with output.

An alert channel/config alert-channel channel:#alerts posts server-down and backup-failure notices.

Live console/config live-console channel:#console streams the game console into a channel. Passwords and player IP addresses are removed before anything is posted.

Chat bridge/chat-link mirrors in-game chat into a Discord channel and back. Available on the games with a chat interface: see Chat Bridge.

The economy — currency, a shop and rewards for playing. Start at Economy Overview. What it can do depends on your game, and that article says exactly which.

If something is not working

"This interaction failed" — Discord gives a bot three seconds to acknowledge a command. A slow first call can miss it. Run the command again; if it happens repeatedly, check the platform status page.

"Not set up. Run /setup first." — the bot has no API key for this Discord server. Someone may have run /config reset, or the bot was removed and re-invited.

"You need Full Access to …" — expected. Someone with /config role has to grant it. The message names the level.

"No server specified." — no default and no channel binding. Add server-id:, or set one of the two up as in step 4.

A command is missing from the picker — Discord caches the command list per server and can take a few minutes after the bot joins. Fully restart your Discord client if it persists.

The bot shows offline but commands work — harmless. Discord shows presence per shard and the bot does not set a custom status.

Still stuck? Open a ticket from the panel, or /ticket, and say which step you reached.