如果想和小伙伴一块愉快的玩耍?又正好手里面有一台空闲的服务器,那为什么不搭建一台饥荒专用服务器呢?
既然是专用服务器,至少得有这两个前置条件:
一台服务器,建议内存4G,并安装Windows Server 2016以上的操作系统
Steam账号,并购买了饥荒联机版
1、服务器准备
为了一切从简,不用敲一趴啦的命令,这次使用Windows系统。在购买云服务之后,将系统重置为Windows Server,选最新的那个(2019)就行了(至少是2016)。
然后在云服务器上面下载安装steam。steam安装完成之后,登录账号,找到并安装库中的“Don’t Starve Together”和“Don’t Starve Together Dedicated Server”。前者为饥荒联机版的游戏,后者为联机版服务器工具。
待都安装完成之后,在云服务器上面运行饥荒联机版游戏,注意,这里是游戏,不是服务器工具。
打开游戏后转到Mod菜单,等全部Mod下载完成。此步骤的目的是为了让游戏自动下载mod,而不用自己手动去上传mod。
然后转到创建游戏,其中参数和Mod自己调整就是了。
当创建好世界之后,不要进入世界,到人物选择界面之后就可以退出了。
到此为止,服务器的搭建工作就做好了,下面来启动我们的饥荒服务器。
2、启动服务器
工欲善其事必先利其器,启动服务器我们还需要几个参数。
(1)游戏安装目录
如:C:\Program Files (x86)\Steam\steamapps\common\Don’t Starve Together
右键点击库中的Don’t Starve Together,选择管理>浏览本地文件。然后记下地址栏中的目录。
(2)饥荒服务器目录
如:C:\Program Files (x86)\Steam\steamapps\common\Don’t Starve Together Dedicated Server
获取方法同上。
(3)存档位置和存档名称
如:C:\Users\dc2-user\Documents\Klei\DoNotStarveTogether
一般在C:\Users\\Documents\Klei\DoNotStarveTogether里面,可以在资源管理中的文档里面找到。
然后将一串数字目录下的Cluster_x文件夹复制到DoNotStarveTogether目录中,也就是复制到一串数字目录的上一级目录中。
此时存档目录是这样的:
(4)密钥
如:pds-g^KU_u0cSuQde^ImI0/XC*****P+kSgqSlMD/Q=
点击“添加新服务器”
然后记下出现的一串密钥。
此时开服所需要的参数已经准备好了,然后将下面的代码保存为xxx.bat。(注意:后缀名必须为bat(批处理器脚本文件))。然后将上面获取的几个参数填写到脚本中对应的位置。
@echo off
:游戏安装目录
SET GAME_PATH=C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together
:饥荒服务器目录
SET DST_PATH=C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together Dedicated Server
:联机版存档目录,一般在我的文档下面,如果没有,运行一次游戏即可
SET TOKEN_PATH=C:\Users\%USERNAME%\Documents\Klei\DoNotStarveTogether erererr
:存档名称
SET DST_CLUSTER=Cluster_1
:密钥,注意:密钥中‘^’需要替换成4个^。
SET CLUSTER_TOKEN=pds-g^^^^KU_u0cSuQde^^^^yDUn***************************vZFBzDY=
:检查游戏目录下mod文件夹是否存在
if not exist "%GAME_PATH%\mods" (
echo 未找到游戏目录下的mods文件夹!请按任意键退出...
pause>nul
exit
)
:检查存档是否存在
if not exist "%TOKEN_PATH%\%DST_CLUSTER%" (
echo 未找到游戏存档!请按任意键退出...
pause>nul
exit
)
:删除旧的mod,并从游戏目录复制新的mod到dst目录下
echo 正在更新MOD到“%DST_PATH%\mods”...
if exist "%DST_PATH%\mods" (
RMDIR /s /q "%DST_PATH%\mods"
MD "%DST_PATH%\mods"
) else (
MD "%DST_PATH%\mods"
)
XCOPY /s /e /y /q "%GAME_PATH%\mods" "%DST_PATH%\mods" > nul
echo MOD更新完成!
echo 开始启动服务端...
cd /D "%DST_PATH%\bin"
echo %CLUSTER_TOKEN%>"%TOKEN_PATH%\%DST_CLUSTER%\cluster_token.txt"
start cmd.exe @cmd /k dontstarve_dedicated_server_nullrenderer.exe -console -cluster %DST_CLUSTER% -shard Master
start cmd.exe @cmd /k dontstarve_dedicated_server_nullrenderer.exe -console -cluster %DST_CLUSTER% -shard Caves
echo 服务端完成,请检查服务器是否启动成功!
将上面获取到的几个参数:游戏安装目录、饥荒服务器目录、存档位置、存档名称、密钥依次填写到代码中对应的位置。需要注意的是,密钥中‘^’需要替换成4个^。
然后点击脚本运行,即可开启服务器。等服务器启动完成之后,就可以搜索到刚刚创建的服务器了。
实例程序当中包含了洞穴,如果不想启动洞穴(或者服务器无法同时允许地面和洞穴),可以删除代码中的倒数第二行,或者在倒数第二行前面加一个英文的”:”,注释掉它。
:start cmd.exe @cmd /k dontstarve_dedicated_server_nullrenderer.exe -console -cluster %DST_CLUSTER% -shard Caves
3、更新服务器程序和MOD
当游戏或MOD更新后需要更新服务器程序或MOD。
(1)更新游戏
更新之前需要关闭饥荒的服务器,然后打开steam即可更新程序,和正常更新游戏一样。
(2)更新MOD
更新MOD之前也需要关闭饥荒的服务器,然后打开steam更新创意工坊,或者打开饥荒联机版游戏更新MOD。
更新完成之后重新运行一键开启脚本就可以重新启动服务器。