У 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), по документации, может быть недоступна части игроков.
