基于steamcmd+zerotier搭建森林、未转变者、幻兽帕鲁等游戏服务器
引言
之前我写了一篇文章内网访问:使用Zerotier进行打洞 - 阿雷的小窝 (leihub.cn),通过zerotier实现虚拟局域网组网,可以在外网访问内网服务。zerotier还有个玩法,那就是让处于不同地区的人进行局域网游戏,比如我的世界、泰拉瑞亚、幻兽帕鲁和森林等联机游戏。
准备工作
- 系统要求:确保你的Win10系统具备至少8GB的内存和稳定的网络连接。
安装SteamCMD并下载The Forest服务器
-
下载适用于 Windows 系统的 SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
-
下载文件后解压压缩包双击运行
steamcmd.exe,就会自动更新运行steamcmd。
-
设置游戏安装目录(可选),不设置的话默认将游戏安装在
\steamCMD\steamapps\common目录。在命令行中输入以下命令,指定游戏安装目录,
force_install_dir C:\Users\Administrator\Desktop\Forest
-
匿名登录steam(国内服务器搭建可能存在登录不了的情况,重新打开steamcmd有几率成功)
login anonymous
-
下载The Forest游戏
app_update 556450 validate

-
执行完成后,在
\steamCMD\steamapps\common多了一个TheForestDedicatedServer文件夹,TheForestDedicatedServer.exe这个就是我们需要的森林服务端文件,双击打开即可运行。然后关闭,去配置一下服务端文件。
配置The Forest服务器
-
森林服务器的配置文件存在另外一个路径中。
C:\Users\Administrator\AppData\LocalLow\SKS\TheForestDedicatedServer\ds\server.cfg
-
修改配置文件:根据需求调整服务器的配置,如设置服务器名称、密码、难度等。
// 专用服务器设置。
// 服务器IP地址 - 注意:如果有路由器,此地址为内部地址,需要配置端口转发
serverIP 172.28.64.43 #这个是服务器的zerotier内网地址
// Steam 通信端口 - 注意:如果有路由器,你需要打开这个端口。
serverSteamPort 8766
// 游戏通信端口 - 注意:如果有路由器,你需要打开这个端口。
serverGamePort 27015
// 查询通信端口 - 注意:如果有路由器,你需要打开这个端口。
serverQueryPort 27016
// 服务器显示名称
serverName aleileilei
// 玩家最大数量
serverPlayers 4
// 启用 VAC (Valve 反作弊系统)。必须设置为关闭或开启
enableVAC off
// 服务器密码。空白表示无密码
serverPassword 12345678
// 服务器管理密码。空白表示无密码
serverPasswordAdmin 12345678
// 你的 Steam 账户名。空白表示匿名
serverSteamAccount
// 服务器自动保存间隔时间(分钟)- 最短时间为15分钟,默认时间为30分钟
serverAutoSaveInterval 30
// 游戏难度模式。必须设置为 Peaceful、Normal 或 Hard
difficulty Normal
// 新建或继续游戏。必须设置为 New 或 Continue
initType Continue
// 保存游戏的槽位。必须设置为 1、2、3、4 或 5
slot 1
// 显示事件日志。必须设置为关闭或开启
showLogs on
// 服务器管理员联系邮箱
serverContact email@gmail.com
// 无敌人模式
veganMode off
// 白天无敌人模式
vegetarianMode off
// 加载保存时重置所有建筑孔洞
resetHolesMode off
// 睡觉时重新生长10%被砍伐的树木
treeRegrowMode off
// 允许破坏建筑
allowBuildingDestruction off
// 允许在创意模式中出现敌人
allowEnemiesCreativeMode off
// 允许客户端使用内置调试控制台
allowCheats on
// 使用完整的武器伤害值攻击其他玩家
realisticPlayerDamage off
// 允许定义自定义保存槽文件夹,留空则使用默认位置
saveFolderPath
// 无客户端连接时的目标FPS
targetFpsIdle 5
// 至少有一个客户端连接时的目标FPS
targetFpsActive 60 -
完成服务器配置后,即可运行服务端了,这个时候会打开两个窗口(注意不要关了),当命令行中输出
Dedicated Server Running时就代表服务器已经运行成功了。
-
不过此时游戏服务器是运行在内网的,没有外网ip的情况下,其他人是无法加入游戏的。接下来需要通过搭建虚拟局域网,让玩家加入虚拟局域网,得以进入游戏服务器。
使用ZeroTier进行远程联机
-
ZeroTier作为一款简单易用的VPN解决方案,可以帮助玩家建立安全的虚拟局域网。使用zerotier进行联机,只要能够打洞成功,整体的延迟还是比较低的,没有出现卡顿的情况。
-
安装ZeroTier:在服务器和客户端设备上下载并安装ZeroTier软件,并加入相同的网络。
-
创建和加入网络:在ZeroTier界面创建新的网络,设置网络ID和密码,并分享给其他玩家。

-
其他玩家加入网络就进入了局域网,通过在游戏中搜索服务器的内网ip地址,或者查看局域网游戏,就可以看到游戏服务器了,选择加入服务器即可进行游戏。
-
我遇到了一个bug,在游戏中局域网无法搜索到房间,我的解决方法是在
steam页面-查看-游戏服务器,就可以看到局域网下的服务器,选择连接即可。
-
输入密码,点击加入服务器,就会自动打开游戏进入联机房间。

幻兽帕鲁
使用steamcmd安装幻兽帕鲁。
app_update 2394010 validate |
默认配置文件位于steamcmd/steamapps/common/PalServer/Pal/Saved/Config/WindowsServer/PalWorldSettings.ini
[/Script/Pal.PalGameWorldSettings] |
泰拉瑞亚
使用steamcmd安装游戏。
app_update 105600 validate |
未转变者
安装游戏
app_update 1110390 validate |
下载完成之后在SteamCMD\steamapps\common\U3DS\找到服务端启动Unturned.exe双击启动,运行一遍之后输入shutdown关闭服务器,启动一次服务器是为了让服务端生成地图和相应的配置文件配置。
相应文件在路径steamCMD\steamapps\common\U3DS\Servers\Default\Server中,里面有一个commands.dat文件,打开编辑文件,按实际需求填入以下指令
配置代码
功能
备注
Name
服务器名称
Map
地图类型
默认PEI
Password
服务器密码
公开不填
Welcome
服务器欢迎语
Maxplayer
服务器人数
根据服务器配置填
Mode
服务器难度
可填Eazy,Normal,Hard
Perspective
服务器视角限制
可填First,Third,Both,Vehicle
PVE
开启PVE模式
留空为PVP
Cheats
服务器作弊模式
开True关False
Port
服务器端口
默认27015,更改需要开放端口
完成之后不要着急开服,新版本加入了Steam秘钥,不添加Steam秘钥开服是可以开的,但是玩家进入不了游戏。
进入网站steamcommunity.com,Steam 游戏服务器账户管理 点击打开,访问不了的话就需要使用魔法了,创建一个如图所示的登陆令牌。

申请完之后复制秘钥,找到\steamCMD\steamapps\common\U3DS\Servers\Default文件夹下的Config.json文件,编辑该文件,找到 Login_Token 填入复制好的秘钥。 
配置完成之后双击U3DS文件夹下的Unturned.exe文件即可开服。
结语
大部分steam游戏服务器的开设都大同小异,基本上都可以通过上述方法进行开服,然后使用zerotier进行异地组网联机,希望你能进请享受联机带来的乐趣。
