# Updating Your s&box Server (/docs/sbox/updating-server)



import { Step, Steps } from 'fumadocs-ui/components/steps';

s\&box ships engine updates on Facepunch's cadence. When a patch goes out, your server doesn't auto-update — you need to re-run the SteamCMD app update so the binary on your node matches what your players' clients are running.

When to update [#when-to-update]

Update when any of these happen:

* Players report **"server version mismatch"** or "can't connect" after they themselves got an update.
* The Facepunch changelog mentions a network or protocol bump.
* **Log Viewer** shows network errors after the server worked fine yesterday.
* You're switching branches between [public and staging](/docs/sbox/staging-branch).

If everything is working and there's no announcement, leave it alone. Updating mid-session disconnects everyone.

Updating from the panel [#updating-from-the-panel]

<Steps>
  <Step>
    Stop the server [#stop-the-server]

    In the [LOW.MS Control Panel](https://panel.xgamingserver.com), open your service and stop it. Updates run against the file system; running them against a live process is unsafe.
  </Step>

  <Step>
    Click Steam Update [#click-steam-update]

    In the sidebar, click **Steam Update**. The panel runs `app_update 1892930 validate` for you. Watch the output — you should see SteamCMD validate, download deltas, and exit cleanly.
  </Step>

  <Step>
    Start the server back up [#start-the-server-back-up]

    Hit START and watch **Log Viewer** for the "ready" line. Your `+game` package will re-download too if its publisher pushed a new version.
  </Step>
</Steps>

Updating self-hosted via SteamCMD [#updating-self-hosted-via-steamcmd]

If you're running outside the panel:

```bash
./steamcmd +login anonymous +app_update 1892930 validate +quit
```

The same command installs and updates — `validate` re-checks file integrity and is the recommended default.

For staging:

```bash
./steamcmd +login anonymous +app_update 1892930 -beta staging validate +quit
```

Reading the log after an update [#reading-the-log-after-an-update]

Healthy boot sequence:

1. SteamCMD validation passes.
2. The game package referenced by `+game` downloads from sbox.game's cloud.
3. The engine signals to Steam that the server is up.
4. A "ready" line appears.

If you see the engine start but the game package fails to load, the publisher may have pushed a broken build — try [rolling the server back](#rolling-back) or pick a different package. If the engine itself crashes, the update is the most likely cause; see [Troubleshooting](/docs/sbox/troubleshooting).

Rolling back [#rolling-back]

Before any update, take a snapshot via **Cloud Backup** in the panel. If the new build breaks something, **Cloud Restore** rolls the server back to that snapshot. This is the fastest way to recover from a bad patch — much quicker than waiting for a hotfix.

There's no built-in way to pin a previous engine version through SteamCMD on the public branch. If you absolutely need an older build, switch to staging only if it happens to still carry it, or restore from a backup.

Updating the gamemode (vs the engine) [#updating-the-gamemode-vs-the-engine]

These are separate updates:

* **Engine** — updated by you, via Steam Update / SteamCMD as above.
* **Game package** — updated by its publisher. Your server pulls the latest version from sbox.game on next boot. There's no operator-side action; if a gamemode is broken, contact its publisher.

Related Guides [#related-guides]

* [Install the Server](/docs/sbox/install-server)
* [Staging Branch](/docs/sbox/staging-branch)
* [Troubleshooting](/docs/sbox/troubleshooting)
