森林之子(Sons of the Forest)是经典恐怖生存游戏《The Forest》的续作,造屋子、打野人、挖剧情,最多 8 人联机。它的专用服务端有几个坑和别家不一样:三个 UDP 端口、userdatapath 决定存档位置、没有 RCON。这篇教程把这些一次讲清。
服务端同样是 Windows 独占(App ID 2465200),Linux 用 Wine 跑。全部命令可抄。
本文由财富云计算整理,我们主营 NAT 型云服务器(无独立公网 IP),价格比独立 IP 机型省一半以上,8 人服轻松带动。更多开服教程见端口速查表。
一、先记住三个"不一样"
- 三个 UDP 端口:游戏 8766、查询 27016、BlobSync 9700。少开任何一个,轻则列表不显示,重则玩家进不去。
- 存档跟着 userdatapath 走:默认写到 Windows 用户目录下(
AppData/LocalLow/Endnight/),服务器上必须用-userdatapath参数把存档指到服务器目录,否则更新、备份、迁移全是坑。 - 没有 RCON:官方服务端不提供远程控制台,管理靠配置文件 + 服内操作,别去找 RCON 教程了。
二、配置需求
| 同时在线 | CPU | 内存 | 磁盘 | 带宽 |
|---|---|---|---|---|
| 1–4 人 | 2–4 核 | 4–6 GB | 10 GB | 10 Mbps |
| 5–8 人 | 4 核 | 8 GB | 15 GB | 15 Mbps |
- 游戏上限 8 人,配置按 8 人买就行,不存在"以后扩到 16 人"的可能。
- 内存 8G 比较稳,世界建筑多了之后存档体积和内存都往上走。
- NAT 型可跑,三个 UDP 端口逐条映射,参考NAT 型服务器能力指南。
三、安装:Wine + SteamCMD
sudo adduser --disabled-password --gecos "" sotf
sudo mkdir -p /opt/sotf && sudo chown sotf:sotf /opt/sotf
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd wine wine32 wine64 xvfb
wine --version下载服务端(App ID 2465200,强制 Windows 平台):
sudo -u sotf -s
cd ~/steamcmd
./steamcmd.sh +@sSteamCmdForcePlatformType windows \
+force_install_dir /opt/sotf/server \
+login anonymous +app_update 2465200 validate +quitSteamCMD 报错排查见常见错误码。
四、启动:userdatapath 是关键参数
先建 steam_appid.txt。直接运行服务端 exe 需要声明游戏 App ID,否则可能起不来:
echo -n "1326470" > /opt/sotf/server/steam_appid.txt1326470 是《森林之子》游戏本体的 App ID,服务端借它做身份声明。文件内容就一串数字,不要换行符(echo -n)。
启动脚本:
cat > /opt/sotf/start.sh <<'EOF'
#!/bin/bash
cd /opt/sotf/server
exec xvfb-run -a wine SonsOfTheForestDS.exe \
-userdatapath /opt/sotf/userdata
EOF
chmod +x /opt/sotf/start.sh
mkdir -p /opt/sotf/userdata第一次启动会生成配置然后停下,这是正常流程:服务端创建 userdata 目录、写入默认 dedicatedserver.cfg 和空的 ownerswhitelist.txt,提示你编辑后再启动。看到提示后 Ctrl+C,去改配置。
五、dedicatedserver.cfg 配置详解
配置在 /opt/sotf/userdata/dedicatedserver.cfg:
{
"IpAddress": "0.0.0.0",
"GamePort": 8766,
"QueryPort": 27016,
"BlobSyncPort": 9700,
"ServerName": "森林小队",
"MaxPlayers": 8,
"Password": "",
"LanOnly": false,
"SaveSlot": 1,
"SaveMode": "Continue",
"GameMode": "Normal",
"SaveInterval": 600,
"IdleDayCycleSpeed": 0.0,
"IdleTargetFramerate": 5,
"ActiveTargetFramerate": 60,
"LogFilesEnabled": true,
"GameSettings": {
"Gameplay.TreeRegrowth": true,
"Structure.Damage": true
},
"CustomGameModeSettings": {
"GameSetting.Multiplayer.Cheats": false,
"GameSetting.Multiplayer.PvpDamage": "Normal",
"GameSetting.Vail.EnemySpawn": true,
"GameSetting.Vail.EnemyHealth": "Normal",
"GameSetting.Survival.CreativeMode": false
}
}核心字段:
| 字段 | 说明 |
|---|---|
| GamePort / QueryPort / BlobSyncPort | 三个 UDP 端口,默认 8766 / 27016 / 9700 |
| ServerName | 服务器名 |
| MaxPlayers | 上限 1–8 |
| Password | 进服密码,好友服必填 |
| LanOnly | true 仅局域网可见,公网服必须 false |
| SaveSlot | 存档槽位,对应 userdata 下的 Saves/SlotN |
| SaveMode | New = 每次启动都开新世界!Continue = 加载存档 |
| GameMode | Normal / Custom / Peaceful 等 |
| SaveInterval | 世界自动保存间隔(秒),600 比较平衡 |
| IdleDayCycleSpeed | 无人在线时时间流速,0 = 冻结,放假回来世界没变 |
SaveMode 是最大的坑:如果是 New,每次重启服务器都会重新生成世界,好友的基地全没了。确认世界生成后立刻改成 Continue。
GameSettings / CustomGameModeSettings 是游戏规则:敌人密度、伤害倍率、建筑是否可破坏、是否开创造模式。PvP 服调 PvpDamage,休闲服调低敌人密度。
六、管理员与白名单
没有 RCON,管理靠两个文件:
ownerswhitelist.txt:服主白名单,每行一个 SteamID64,名单内玩家拥有最高管理权限- 封禁在 userdata 下按存档槽位管理,踢人用游戏内菜单
SteamID64 获取方法同上(让好友查自己 Steam 账户详情)。管理权限相关注意别把 AppID 泄露到公开页面,参考Steam API Key 与 RCON 安全。
七、端口:三个 UDP 一个不能少
| 端口 | 协议 | 用途 |
|---|---|---|
| 8766 | UDP | 游戏主端口 |
| 27016 | UDP | Steam 查询端口 |
| 9700 | UDP | BlobSync(世界数据同步) |
sudo ufw allow 8766/udp
sudo ufw allow 27016/udp
sudo ufw allow 9700/udp安全组同步放行(安全组配置实战)。NAT 用户在控制台逐条映射三个端口。BlobSync 端口最容易被忘——忘了它,玩家能进服但世界进度不同步或掉线,排查半天找不到原因。
同机器跑第二个森林之子服:三个端口全部 +10,SaveSlot 改 2,userdatapath 换个目录,互不干扰,多开方案见一台服务器开多个游戏服。
八、systemd 守护 + 备份
sudo tee /etc/systemd/system/sotf.service <<'EOF'
[Unit]
Description=Sons of the Forest Dedicated Server
After=network.target
[Service]
Type=simple
User=sotf
ExecStart=/opt/sotf/start.sh
Restart=on-failure
RestartSec=10
WorkingDirectory=/opt/sotf/server
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now sotf
journalctl -u sotf -fsystemd 细节见systemd 服务管理指南。
备份(存档全在 userdata):
cat > /opt/sotf/backup.sh <<'EOF'
#!/bin/bash
SRC="/opt/sotf/userdata"
DST="/opt/sotf/backups"
mkdir -p "$DST"
tar -czf "$DST/sotf-$(date +%F-%H%M).tar.gz" -C "$SRC" .
ls -t "$DST"/sotf-*.tar.gz | tail -n +31 | xargs -r rm
EOF
chmod +x /opt/sotf/backup.sh
(crontab -l 2>/dev/null; echo "0 4 * * * /opt/sotf/backup.sh") | crontab -改 SaveMode 之前、更新之前,必跑备份。存档结构见服务器备份策略,异地备份用rsync。
换服务器搬家:停服 → 备份 userdata → 新服装好同样一套 → 解压 → 启动,世界原样恢复,见游戏服迁移指南。
九、更新流程
sudo systemctl stop sotf
/opt/sotf/backup.sh
sudo -u sotf -s
cd ~/steamcmd
./steamcmd.sh +@sSteamCmdForcePlatformType windows \
+force_install_dir /opt/sotf/server +login anonymous +app_update 2465200 validate +quit
exit
sudo systemctl start sotf更新后检查两件事:steam_appid.txt 是否还在(被删了补上)、dedicatedserver.cfg 是否被重置。官方启动批处理每次更新都会被覆盖,所以别改它,用自己的 start.sh。自动化更新见游戏服自动更新实战。
十、性能建议
- 8 人服 4 核 8G 是舒适区,CPU 单核主频重要。
- Wine 转译有额外开销,内存按原生 +1~2GB 估算。
- 挂个凌晨定时重启清内存:
0 5 * * * systemctl restart sotf十一、常见问题
Q1:服务端启动就退出,没报错?
大概率是缺 steam_appid.txt。按第四节建好再启动。也可能是第一次启动"生成配置后自动退出"——看 userdata 目录里有没有 cfg,有就是正常流程。
Q2:列表看不到服务器?LanOnly 是不是 true;QueryPort 27016 是否放行;ListOnMasterServer 类选项(如有)是否开启。
Q3:玩家能进但世界进度不保存?
SaveMode 是 New,每次启动都开新世界。改成 Continue。
Q4:好友经常掉线?
检查 BlobSync 9700 是否放行/NAT 映射;带宽是否够 8 人同时在线。
Q5:存档损坏怎么办?
用最近一次备份的 userdata 整体替换,重启。这就是备份脚本的价值——损坏只在发生时疼一次。
Q6:能上 MOD 吗?
森林之子的 MOD 生态一般,玩家端 MOD 联机容易版本不一致,谨慎开。MOD 服通用玩法见游戏 MOD 服搭建指南。
十二、小结
森林之子开服 = Windows 服务端 + Wine + 三个 UDP 端口 + userdatapath 管存档 + SaveMode 记得改 Continue。没有 RCON 反而简单:配置文件就是全部控制面。8 人小队玩几个月的故事,全在 userdata 那几个文件夹里,备份挂好,随便造。
需要服务器,可以看看财富云计算的 NAT 型云服务器——无独立公网 IP,价格比独立 IP 机型省一半以上,联机体验不受影响。更多恐怖生存游戏开服教程见游戏配置与开服教程总索引。
相关阅读:英灵神殿开服 · 夜族崛起开服 · 雾锁王国开服 · 开服难度横评 · 游戏服自动更新
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单

[...]sudo systemctl start vrising自动化更新(含失败回滚)见游戏服自动更新实战。备份体系搭建见服务器备份策略。九、性能调优内存:40 人服 16G 是底线,不够就加 swap 兜底(swap 优化)。定时重启:Proton 转译长时间运行内存会缓慢上涨,挂个凌晨重启:0 5 * systemctl restart vrising存档频率:服务端自动存档太频会卡,Ser[...]
2026-10-21 回复
[...]sudo systemctl start enshrouded更新后检查三件事:enshrouded_server.json 是否被重置(服务端更新一般不动它,但要确认)存档目录是否出现新的世界文件夹好友客户端也更新到同版本游戏更新公告和版本号对不上时,先别急着更新服务端——等一波,让主播群当小白鼠。想自动化更新见游戏服自动更新实战,脚本里带"更新失败自动回滚"逻辑。九、性能与稳定性内存增长是世界[...]
2026-10-21 回复
[...]sudo systemctl start sdtdMOD 服要点:EACEnabled 改 false(服务端和玩家客户端 EAC 都要关)MOD 文件放服务端 Mods/ 目录,玩家 Steam 工坊订阅同版本MOD 更新 = 全员同步,版本不一致拒连MOD 越多内存越高,16 人大 MOD 服 16G 起步MOD 服通用运维见游戏 MOD 服搭建指南。自动化更新见游戏服自动更新实战。十、性能:[...]
2026-10-21 回复
[...]sudo systemctl start conan更新后确认 ServerSettings.ini 和 modlist.txt 还在(一般不动,但查一下安心)。备份体系化见服务器备份策略,换服搬家见游戏服迁移指南。十、性能建议Wine 转译额外开销:内存按原生 +1~2GB 估。凌晨定时重启:0 5 * systemctl restart conan,转译层长跑内存缓慢上涨是通病。PvP[...]
2026-10-21 回复
[...]"这游戏能自己开服吗?"是后台被问最多的问题。这篇横评把主流联机游戏按开服难度排了个队,从服务端可得性、系统兼容、配置门槛、运维复杂度四个维度打分,帮你十分钟决定玩哪个、买什么配置。结论先行:只想要"能联机、不折腾",选泰拉瑞亚、饥荒、英灵神殿;愿意折腾换深度玩法,选 Rust、七日杀、PZ。本文由财富云计算整理,我们主营 NAT 型云服务器(无独立公网 IP),价格比独立 IP 机型省一半以上,[...]
2026-10-21 回复
[...]netsh advfirewall firewall add rule name="GameRange" dir=in action=allow protocol=UDP localport=26901-26903完整的 Windows 环境准备(远程桌面连接、运行库安装、SteamCMD 用法、开机自启、8 个常见坑)见:《Windows 云服务器开服通用前置教程》→ htt[...]
2026-10-21 回复