Emrald docs
Host your projects/servers

Create a server

Register a dedicated s&box server with Emrald and connect it to an environment.

A server is a registered s&box dedicated server instance. It belongs to exactly one environment and pulls its config (variables, groups, permissions, addons) from there at boot — then receives live updates via WebSocket while it runs.

Before you start

  • A project (Create a project)
  • An environment to run the server in (any of the three works — Development is a good first target)
  • A machine that can run the s&box dedicated server binary (Windows, Linux, or a managed host)

Register the server in the panel

  1. Open your project → Servers in the left sidebar.
  2. Find the section for the environment you want and click New server.
  3. Fill in the dialog:
    • Name — e.g. "EU #1" or "Roleplay Main". Displayed everywhere.
    • Max players — the cap, between 1 and 128.
    • Whitelist enabled — if on, only SteamIDs in the env's whitelist can join. You can edit the whitelist on the server's detail page later.
  4. Click Create. Emrald generates a one-time auth token and shows it in a dialog.

Copy the token now. It's shown only once and stored hashed on our side — we can't retrieve it later. If you lose it, you'll have to rotate the token and update your server config.

Boot the s&box server

On your host machine, launch the dedicated server with the token:

./sbox-dedicated +authorize <YOUR_TOKEN>

What happens at boot:

  1. The server POSTs the token to Emrald's auth endpoint.
  2. Emrald validates the token and returns: project / environment / server IDs, the gamemode JWT, the game-api URL, and the WebSocket URL for live updates.
  3. The server caches all of that and stays connected for the rest of its lifetime.
  4. The panel's Servers tab flips the server's status to Online.

If you're testing against a local Emrald instance, also pass -allowlocalhttp so s&box allows HTTP calls to localhost.

Status badges

The Servers tab shows one of three states per server:

StatusMeaning
OnlineWebSocket connected, heartbeats received in the last 60s.
NoSyncWebSocket dropped but the server may still be recovering. Shown in yellow.
OfflineClean shutdown received, or 60s grace expired without a heartbeat.

Status, player count, and the player list all update in real time — no need to refresh.

Manage a running server

Click any server card to open its detail page. From there you can:

  • Rename the server (the slug stays immutable so external references survive).
  • Adjust max players and toggle the whitelist on/off.
  • Edit the whitelist — add or remove SteamIDs.
  • Browse the live player list — click any avatar for actions (kick, change group, give money, ban, etc.) if you have the right permissions.
  • View / rotate the token.

Rotate the token

Use this when:

  • You lost the original token.
  • You suspect it's been leaked.
  • You want to invalidate the running server (e.g. forced restart on a new host).

On the server detail page, click Rotate token and confirm. A new token is shown once — copy it, update your server's launch command, restart. The old token stops working immediately.

Delete a server

Click Delete on the server detail page (Owner / Admin only). The server is unregistered from the panel; if a dedicated instance is still running with the old token, it'll lose its WebSocket connection on the next reconnect attempt and stop applying config.

Next steps

On this page