S&box propose un serveur dédié officiel (Steam app ID 1892930) installé avec SteamCMD et lancé avec sbox-server.exe. La documentation officielle ne précise ni port par défaut ni fichier de configuration : ce guide s'en tient à ce qu'elle décrit. Comptez 15 minutes.
Installation pas à pas
Installez SteamCMD (Windows ou Linux).
Sous Linux, installez aussi le .NET Runtime.
Installez le serveur : « +login anonymous +app_update 1892930 validate +quit ».
Liez les binaires client Steam (registre Windows ou lien symbolique ~/.steam/sdk64/steamclient.so).
Générez le script de lancement avec l'outil « Script de lancement S&box ».
Lancez le serveur avec +game (et une carte) et +hostname.
Dans la console serveur, tapez « status » pour obtenir l'ID du lobby ; les clients font « connect <lobbyId> ».
Automatisez le démarrage (systemd ou tâche planifiée) et les mises à jour.
Prérequis
- Windows ou Linux 64 bits (Ubuntu/Debian) ; Linux : .NET Runtime obligatoire (doc officielle).
- Aucune configuration matérielle minimale n'est publiée : non documenté officiellement.
- Connexion SteamCMD anonyme : aucun compte ni clé de licence nécessaire.
Installation sur Windows (locale ou Windows Server)
Depuis C:\steamcmd, installez le serveur ; il arrive dans steamapps\common\sbox dedicated server. Ajoutez -beta staging pour la branche staging (non jouable par tous).
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 1Installation sur VPS Linux (Ubuntu/Debian)
Créez un utilisateur non-root, installez SteamCMD et le .NET Runtime (paquets de votre distribution ou de Microsoft), puis installez le serveur et liez steamclient.so. Le script de lancement doit exécuter sbox-server.exe avec vos arguments, comme décrit par la documentation officielle.
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 à ouvrir
Les ports se fixent avec +port (hébergement) et +net_query_port (requêtes : joueurs, carte). La documentation officielle ne donne aucune valeur par défaut ni le protocole ; par défaut les connexions passent par le relais Steam. Si vous fixez des ports, ouvrez-les en UDP et TCP pour tester, puis restreignez selon vos observations. Exemple ci-dessous avec 27015/27016, valeur d'un guide tiers (non officielle).
- +port <port> — port d'hébergement (valeur par défaut non documentée).
- +net_query_port <port> — port de requêtes (nombre de joueurs, carte).
Pare-feu Linux (ufw)
À adapter à vos ports. Ouvrez aussi les mêmes ports dans le pare-feu / security group de votre fournisseur (OVH, Hetzner, Scaleway) et, en hébergement local, redirigez-les (NAT) depuis la box.
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27016/udp
sudo ufw enablePare-feu Windows (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-27016Service systemd (Linux)
Fichier /etc/systemd/system/sbox.service ; run-server.sh est le script généré par l'outil (rendu exécutable avec 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.targetDémarrage automatique sous Windows
Planifiez Run-Server.bat au démarrage de la machine (invite administrateur) :
schtasks /create /tn "sbox-server" /tr "C:\steamcmd\steamapps\common\sbox dedicated server\Run-Server.bat" /sc onstart /ru SYSTEMMises à jour et redémarrages
Le serveur ne publie pas de fichier de sauvegarde documenté : sauvegardez les données propres à votre jeu selon son code. Pour mettre à jour, arrêtez le serveur puis relancez app_update ; les clients reçoivent les changements de code et les rechargent à chaud.
# 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 sboxDéclarer et trouver son serveur
Le jeu n'expose pas de port public fixe : les joueurs rejoignent par ID de lobby via le relais Steam. Un serveur S&box peut être ajouté sur game-rank.com/jeux/sbox si le jeu y figure, pour être trouvé de la communauté.
Dépannage
- Steamworks ne s'initialise pas : les binaires client Steam ne sont pas liés (registre SteamClientDll64/SteamClientDll ou ~/.steam/sdk64/steamclient.so).
- « Not Connected » : le code du jeu n'a pas encore créé de lobby ; voir la documentation réseau de S&box.
- Le serveur ne démarre pas sous Linux : .NET Runtime absent ou script non exécutable.
- La branche staging est injouable : retirez -beta staging et réinstallez.
- Test sur une seule machine impossible : ajoutez +net_allow_local 1 et connectez-vous avec « connect local ».
Questions fréquentes
- S&box a-t-il un fichier de configuration serveur ?
- La documentation officielle n'en mentionne pas : la configuration passe par les arguments « + » de la ligne de commande (ConVars et ConCmds exécutés au démarrage).
- Faut-il ouvrir des ports ?
- Par défaut les connexions passent par le relais Steam, qui masque l'IP du serveur. La documentation ne précise pas de ports obligatoires ; si vous fixez +port et +net_query_port, ouvrez ces ports.
- Faut-il un compte Steam ou une licence ?
- L'installation se fait en connexion anonyme. Le jeton +net_game_server_token (SteamID persistant) est facultatif et, selon la page officielle, disponible une fois S&box sorti.
- Quelle version choisir : stable ou staging ?
- La branche par défaut convient à la plupart des cas ; staging (-beta staging) peut ne pas être jouable par tout le monde, d'après la documentation.
