У S&box є офіційний виділений сервер (Steam app ID 1892930), який ставиться через SteamCMD і запускається sbox-server.exe. Офіційна документація не вказує ні порт за замовчуванням, ні файл конфігурації: посібник спирається лише на описане. Потрібно близько 15 хвилин.
Покрокове встановлення
Встановіть SteamCMD (Windows або Linux).
У Linux також встановіть .NET Runtime.
Встановіть сервер: «+login anonymous +app_update 1892930 validate +quit».
Прив'яжіть клієнтські бібліотеки Steam (реєстр Windows або симлінк ~/.steam/sdk64/steamclient.so).
Створіть скрипт запуску інструментом «Скрипт запуску S&box».
Запустіть сервер із +game (і картою) та +hostname.
У консолі сервера введіть «status», щоб дізнатися ID лобі; клієнти вводять «connect <lobbyId>».
Автоматизуйте запуск (systemd або планувальник) та оновлення.
Вимоги
- Windows або 64-бітний Linux (Ubuntu/Debian); для Linux обов'язковий .NET Runtime (офіційна документація).
- Мінімальні вимоги до заліза не опубліковані: офіційно не задокументовано.
- Анонімний вхід SteamCMD: обліковий запис і ліцензійний ключ не потрібні.
Встановлення у Windows (локально або Windows Server)
Із C:\steamcmd встановіть сервер; він потрапить у steamapps\common\sbox dedicated server. Для гілки staging додайте -beta staging (доступна не всім).
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 1Встановлення на Linux VPS (Ubuntu/Debian)
Створіть не-root користувача, встановіть SteamCMD і .NET Runtime (пакети дистрибутива або Microsoft), потім встановіть сервер і прив'яжіть steamclient.so. Скрипт запуску має виконувати sbox-server.exe з вашими аргументами, як описано в офіційній документації.
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.soПорти для відкриття
Порти задаються через +port (хостинг) і +net_query_port (запити: гравці, карта). Офіційна документація не вказує значень за замовчуванням і протокол; типово підключення йдуть через релей Steam. Якщо задаєте порти, відкрийте їх по UDP і TCP для перевірки, потім звузьте за результатами. У прикладі 27015/27016 — значення зі стороннього посібника (неофіційні).
- +port <порт> — порт хостингу (значення за замовчуванням не задокументоване).
- +net_query_port <порт> — порт запитів (кількість гравців, карта).
Файрвол Linux (ufw)
Підлаштуйте під свої порти. Відкрийте ті самі порти у файрволі / security group хостера (OVH, Hetzner, Scaleway), а при домашньому хостингу прокиньте їх (NAT) на роутері.
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27016/udp
sudo ufw enableБрандмауер 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-27016Служба systemd (Linux)
Файл /etc/systemd/system/sbox.service; run-server.sh — скрипт, створений інструментом (зробіть виконуваним через 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.targetАвтозапуск у Windows
Заплануйте Run-Server.bat під час старту машини (командний рядок адміністратора):
schtasks /create /tn "sbox-server" /tr "C:\steamcmd\steamapps\common\sbox dedicated server\Run-Server.bat" /sc onstart /ru SYSTEMОновлення та перезапуски
Файл збереження сервера не задокументований: резервуйте дані вашої гри згідно з її кодом. Для оновлення зупиніть сервер і знову запустіть app_update; підключені клієнти отримують зміни коду та перезавантажують їх на льоту.
# 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 sboxЯк заявити про сервер
У гри немає фіксованого публічного порту: гравці заходять за ID лобі через релей Steam. Додайте сервер на game-rank.com/jeux/sbox (якщо гра там є), щоб його знайшла спільнота.
Усунення несправностей
- Steamworks не ініціалізується: не прив'язані клієнтські бібліотеки Steam (реєстр SteamClientDll64/SteamClientDll або ~/.steam/sdk64/steamclient.so).
- «Not Connected»: код гри ще не створив лобі; див. документацію з мережі S&box.
- Сервер не стартує в Linux: немає .NET Runtime або скрипт не виконуваний.
- Гілка staging недоступна: приберіть -beta staging і перевстановіть.
- Тест на одній машині не працює: додайте +net_allow_local 1 і підключайтеся через «connect local».
Поширені запитання
- Чи є у S&box файл конфігурації сервера?
- Офіційна документація його не згадує: налаштування йде через аргументи «+» командного рядка (ConVar і ConCmd, що виконуються під час старту).
- Чи потрібно відкривати порти?
- Типово підключення йдуть через релей Steam, що ховає IP сервера. Обов'язкові порти в документації не вказані; якщо задаєте +port і +net_query_port, відкрийте ці порти.
- Чи потрібні обліковий запис Steam або ліцензія?
- Встановлення виконується анонімним входом. Токен +net_game_server_token (постійний Steam ID) необов'язковий і, за офіційною сторінкою, доступний після релізу S&box.
- Що обрати: стабільну гілку чи staging?
- Гілка за замовчуванням підходить для більшості випадків; staging (-beta staging), за документацією, може бути недоступна частині гравців.
