跳到内容
S&box

安装 S&box 服务器

S&box 提供官方专用服务器(Steam app ID 1892930),通过 SteamCMD 安装并用 sbox-server.exe 启动。官方文档未给出默认端口,也没有配置文件说明:本指南只依据文档所述内容。预计耗时约 15 分钟。

最后更新:2026/10/9

S&box 提供官方专用服务器(Steam app ID 1892930),通过 SteamCMD 安装并用 sbox-server.exe 启动。官方文档未给出默认端口,也没有配置文件说明:本指南只依据文档所述内容。预计耗时约 15 分钟。

分步安装

  1. 安装 SteamCMD(Windows 或 Linux)。

  2. 在 Linux 上还需安装 .NET Runtime。

  3. 安装服务端:“+login anonymous +app_update 1892930 validate +quit”。

  4. 链接 Steam 客户端库(Windows 注册表或符号链接 ~/.steam/sdk64/steamclient.so)。

  5. 用“S&box 启动脚本”工具生成启动脚本。

  6. 使用 +game(及地图)和 +hostname 启动服务器。

  7. 在服务器控制台输入“status”获取大厅 ID,客户端执行“connect <lobbyId>”。

  8. 自动化启动(systemd 或计划任务)与更新。

前提条件

  • Windows 或 64 位 Linux(Ubuntu/Debian);Linux 必须安装 .NET Runtime(官方文档)。
  • 官方未公布最低配置(无官方文档)。
  • SteamCMD 匿名登录:无需账号或许可证密钥。

在 Windows 上安装(本地或 Windows Server)

在 C:\steamcmd 中安装服务端,文件位于 steamapps\common\sbox dedicated server。加 -beta staging 可获取 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(发行版或微软软件包),然后安装服务端并链接 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)

请按你的端口调整。同时在服务商(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

收录你的服务器

游戏没有固定的公开端口:玩家通过 Steam 中继使用大厅 ID 加入。若 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)可能并非所有人都能游玩。

S&box 服务器工具

S&box
S&box免登录
生成 S&box 专用服务器的 .bat 或 .sh 脚本:+game、+hostname、+port、+net_query_port 及 steamclient 链接。
启动脚本打开
文档
S&box
S&box免登录
生成通过 SteamCMD 安装和更新 S&box 专用服务器(app 1892930)的脚本,可选 staging 分支。
更新SteamCMD打开
文档