Steam饥荒专用服务器搭建

3,231次阅读
一条评论

如果想和小伙伴一块愉快的玩耍?又正好手里面有一台空闲的服务器,那为什么不搭建一台饥荒专用服务器呢?

既然是专用服务器,至少得有这两个前置条件:

  • 一台服务器,建议内存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。

Steam饥荒专用服务器搭建
等待Mod下载或更新完成

然后转到创建游戏,其中参数和Mod自己调整就是了。

Steam饥荒专用服务器搭建

当创建好世界之后,不要进入世界,到人物选择界面之后就可以退出了。

Steam饥荒专用服务器搭建
看到选择人物界面就可以退出了

到此为止,服务器的搭建工作就做好了,下面来启动我们的饥荒服务器。

2、启动服务器

工欲善其事必先利其器,启动服务器我们还需要几个参数。

(1)游戏安装目录

如:C:\Program Files (x86)\Steam\steamapps\common\Don’t Starve Together

右键点击库中的Don’t Starve Together,选择管理>浏览本地文件。然后记下地址栏中的目录。

Steam饥荒专用服务器搭建
如何在steam中查看游戏目录
Steam饥荒专用服务器搭建
游戏目录

(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目录中,也就是复制到一串数字目录的上一级目录中。

Steam饥荒专用服务器搭建

此时存档目录是这样的:

Steam饥荒专用服务器搭建

(4)密钥

如:pds-g^KU_u0cSuQde^ImI0/XC*****P+kSgqSlMD/Q=

Steam饥荒专用服务器搭建

点击“添加新服务器”

Steam饥荒专用服务器搭建

然后记下出现的一串密钥。

Steam饥荒专用服务器搭建

此时开服所需要的参数已经准备好了,然后将下面的代码保存为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个^

然后点击脚本运行,即可开启服务器。等服务器启动完成之后,就可以搜索到刚刚创建的服务器了。

Steam饥荒专用服务器搭建
服务器启动完成

实例程序当中包含了洞穴,如果不想启动洞穴(或者服务器无法同时允许地面和洞穴),可以删除代码中的倒数第二行,或者在倒数第二行前面加一个英文的”:”,注释掉它。

: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。

更新完成之后重新运行一键开启脚本就可以重新启动服务器。

afirefish
版权声明:本站原创文章,由afirefish2020-09-09发表,共计2841字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
载入中...
翩翩蒯公子 Maxwell 评论达人 LV.3
2021-05-15 10:39:49 回复

赞一个,挺好的文章。