> For the complete documentation index, see [llms.txt](https://guides.paynow.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.paynow.gg/integrations-and-commands/game-servers.md).

# Game Servers

Linking a game server turns a payment into an item in your player's hands. Without one, PayNow can take the money but has nowhere to send the goods.

*Dashboard → Integrations → Game Servers. Needs `gameserver_read`.*

## Connecting a server

1. Go to **Integrations → Game Servers**.
2. Click **Add Game Server**.
3. Enter the server's **name**, and tick the box for executing commands if applicable.
4. Select the **products** to associate with this server.
5. **Download the plugin** for your game.
6. **Install the plugin** on your server and run the prompted command in the server console.

The server then appears in your Game Servers list. Click it for details, or to reset the token and re-run the command.

Step 6 is the one that gets skipped. The plugin alone isn't enough; the server has to run the registration command so PayNow knows which machine belongs to which entry. A server stuck on **Not Linked** is almost always this.

<figure><img src="/files/CVW2aG0Ot9r3cKSeQY2n" alt="The Game Servers page showing a linked server that is Online, an unlinked one, and the Create button."><figcaption></figcaption></figure>

## Naming servers

Name them the way your players talk about them: `Survival`, `Creative`, `Main EU`. You'll pick these from a dropdown on every product you build, and `Server 1` / `Server 2` guarantees a wrong selection eventually.

## Associating products

A product delivers only to the servers selected on it. Set that from the game server by choosing its products, or from the [product](/products/creating-a-product.md) by choosing its game servers.

{% hint style="danger" %}
**On a multi-server store, check every product's server selection.** A product pointed at the wrong server sells fine and delivers where the customer isn't playing. They'll assume they were scammed, and they'll be partly right.

If your servers have different catalogues, let customers choose at checkout instead. See `available_gameservers` in [Editing Template Files](/your-webstore/editing-template-files.md).
{% endhint %}

## The token

Each server has a token proving its identity to PayNow. Reset it from the server's detail page if it may have leaked, for example into a console screenshot posted in Discord. Resetting invalidates the old token, so you'll re-run the console command. Treat it like a password: anyone holding it can impersonate your server.

## Testing the connection

A status of **Online** doesn't prove delivery works. Before going live:

1. Make a test purchase.
2. Watch the server console. The command should run within seconds.
3. Check the [order timeline](/orders-and-subscriptions/orders.md) to confirm execution was recorded.
4. Confirm the perk actually applied in game.

Do all four. Each rules out a different failure.

## When commands do not run

Three messages come up often enough to name.

| What you see                                          | What it means                                                                                                                                                                                   |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `failed to handle pending commands`, request timeout  | The server or its host had a network problem and the request did not reach PayNow. The plugin keeps retrying, so this clears itself.                                                            |
| Nothing works after reinstalling or moving the server | Run the link command again, then reload the plugin. Restart the server if it still shows stale.                                                                                                 |
| `No changes to apply` when relinking                  | The link command found nothing to change. Run `paynow link` again, then reload the plugin, then restart the server if it persists.                                                              |
| Nothing at all in the console                         | Check the [order timeline](/orders-and-subscriptions/orders.md) first. If it shows the command executed, the problem is on the game side: the plugin, permissions, or the player being offline. |

A command that runs twice is worth reporting with your plugin version and platform. It should not be possible, so it is a bug rather than a setting.

The plugin only makes **outgoing** requests. There is no inbound connection, so there is never a port to forward, and a firewall rule is almost never the fix. A server that persistently cannot reach PayNow has a network problem at the host.

### FiveM

FiveM's own platform rules have required monetisation to run through their approved provider, and servers using anything else have been warned of bans. That is FiveM's policy, not PayNow's. Check FiveM's current terms before building your store on it.
