S&box provides an official dedicated server (Steam app ID 1892930) installed with SteamCMD and started with sbox-server.exe. The official documentation specifies neither a default port nor a config file: this guide sticks to what it describes. Allow 15 minutes.
Step-by-step installation
Install SteamCMD (Windows or Linux).
On Linux, also install the .NET Runtime.
Install the server: "+login anonymous +app_update 1892930 validate +quit".
Link the Steam client binaries (Windows registry or ~/.steam/sdk64/steamclient.so symlink).
Generate the launch script with the "S&box launch script" tool.
Start the server with +game (and a map) and +hostname.
In the server console type "status" to get the lobby ID; clients run "connect <lobbyId>".
Automate startup (systemd or scheduled task) and updates.
Requirements
- Windows or 64-bit Linux (Ubuntu/Debian); Linux: .NET Runtime required (official docs).
- No minimum hardware is published: not officially documented.
- Anonymous SteamCMD login: no account or license key needed.
Install on Windows (local or Windows Server)
From C:\steamcmd, install the server; it lands in steamapps\common\sbox dedicated server. Add -beta staging for the staging branch (not playable by everyone).
cd /d C:\steamcmd
steamcmd.exe +login anonymous +app_update 1892930 validate +quit
REM Test local : ajoutez +net_allow_local 1, puis « connect local » côté client
sbox-server.exe +game facepunch.sandbox facepunch.flatgrass +hostname "My Dedicated Server" +net_allow_local 1Install on a Linux VPS (Ubuntu/Debian)
Create a non-root user, install SteamCMD and the .NET Runtime (distribution or Microsoft packages), then install the server and link steamclient.so. The launch script must run sbox-server.exe with your arguments, as the official documentation describes.
sudo adduser --disabled-password --gecos "" sbox
sudo -iu sbox
# SteamCMD déjà installé dans ~/steamcmd
cd ~/steamcmd && ./steamcmd.sh +login anonymous +app_update 1892930 validate +quit
mkdir -p ~/.steam/sdk64
ln -sf ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.soPorts to open
Ports are set with +port (hosting) and +net_query_port (queries: players, map). The official documentation gives no default value or protocol; by default connections go through the Steam relay. If you set ports, open them for UDP and TCP to test, then narrow down based on what you observe. Example below uses 27015/27016, a third-party guide value (unofficial).
- +port <port> — hosting port (default not documented).
- +net_query_port <port> — query port (player count, map).
Linux firewall (ufw)
Adapt to your ports. Open the same ports in your provider's firewall / security group (OVH, Hetzner, Scaleway) and, for home hosting, forward them (NAT) from the router.
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27016/udp
sudo ufw enableWindows firewall (netsh)
netsh advfirewall firewall add rule name="sbox UDP" dir=in action=allow protocol=UDP localport=27015-27016
netsh advfirewall firewall add rule name="sbox TCP" dir=in action=allow protocol=TCP localport=27015-27016systemd service (Linux)
File /etc/systemd/system/sbox.service; run-server.sh is the script generated by the tool (made executable with chmod +x).
[Unit]
Description=S&box dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=sbox
WorkingDirectory=/home/sbox/steamcmd/steamapps/common/sbox dedicated server
ExecStart=/home/sbox/run-server.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetAutomatic start on Windows
Schedule Run-Server.bat at machine startup (administrator prompt):
schtasks /create /tn "sbox-server" /tr "C:\steamcmd\steamapps\common\sbox dedicated server\Run-Server.bat" /sc onstart /ru SYSTEMUpdates and restarts
No save file is documented for the server: back up your game's own data as its code defines. To update, stop the server then rerun app_update; connected clients receive code changes and hot-reload them.
# cron root, 05:00 : mise à jour puis redémarrage / update then restart
0 5 * * * systemctl stop sbox && sudo -u sbox /home/sbox/steamcmd/steamcmd.sh +login anonymous +app_update 1892930 validate +quit && systemctl start sboxList your server
The game does not expose a fixed public port: players join by lobby ID through the Steam relay. An S&box server can be added on game-rank.com/jeux/sbox, if the game is listed there, to be found by the community.
Troubleshooting
- Steamworks does not initialize: Steam client binaries not linked (registry SteamClientDll64/SteamClientDll or ~/.steam/sdk64/steamclient.so).
- "Not Connected": the game code has not created a lobby yet; see the S&box networking documentation.
- Server does not start on Linux: .NET Runtime missing or script not executable.
- Staging branch is unplayable: remove -beta staging and reinstall.
- Single-machine test fails: add +net_allow_local 1 and connect with "connect local".
Frequently asked questions
- Does S&box have a server config file?
- The official documentation does not mention one: configuration goes through "+" command-line arguments (ConVars and ConCmds run at boot).
- Do I need to open ports?
- By default connections go through the Steam relay, which hides the server IP. The documentation specifies no mandatory ports; if you set +port and +net_query_port, open those ports.
- Do I need a Steam account or a license?
- Installation uses an anonymous login. The +net_game_server_token (persistent Steam ID) is optional and, per the official page, available once S&box is released.
- Which branch: stable or staging?
- The default branch suits most cases; staging (-beta staging) may not be playable by everyone, according to the documentation.
