夸克之书

  • 首页
  • 科普
  • 笔记
  • .NET/C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. 默认
  3. 正文

Steam饥荒专用服务器搭建

2020-09-09 9009点热度 1人点赞 1条评论

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

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

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

%title插图%num
等待Mod下载或更新完成

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

%title插图%num

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

%title插图%num
看到选择人物界面就可以退出了

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

2、启动服务器

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

(1)游戏安装目录

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

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

%title插图%num
如何在steam中查看游戏目录
%title插图%num
游戏目录

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

%title插图%num

此时存档目录是这样的:

%title插图%num

(4)密钥

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

%title插图%num

点击“添加新服务器”

%title插图%num

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

%title插图%num

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

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

%title插图%num
服务器启动完成

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

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

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

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2021-05-24

afirefish

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • 翩翩蒯公子 Maxwell

    赞一个,挺好的文章。

    2021-05-15
    登录以回复
  • 您需要 登录 之后才可以评论
    放松一下
    https://www.quarkbook.com/wp-content/uploads/2021/05/凤凰传奇-海底(Live).flac
    分类
    • .NET/C#
    • Linux
    • 树莓派
    • 物联网
    • 科普
    • 笔记
    • 算法
    • 默认
    最新 热点 随机
    最新 热点 随机
    在代码中判断龙芯新旧世界平台 Windows获取固定后缀的IPv6地址 目前为止,你可能找不到第二台支持志强的1L小主机(P350 Tiny+W-1350+ECC+双NVME+PCIE扩展)!!! iKuai(爱快)实现成都移动IPTV IPoE拨号 Linux EXT4分区误删除后数据恢复 C#连接到巴法云
    在代码中判断龙芯新旧世界平台
    必须添加对程序集“netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”的引用。 C# Json序列化时将长整型(long)属性序列化为Json字符串 树莓派.Net Core Iot入门系列篇(3):I2C Ubuntu18.04安装Docker 23种常见的设计模式(8):中介者模式 在代码中判断龙芯新旧世界平台
    最近评论
    Eagle 发布于 8 个月前(10月21日) 参考博主教程成功搞定了成都移动IPTV组播转单播,电脑、手机都可以播放了。但目前有个问题,原IPTV...
    rundoze 发布于 10 个月前(08月31日) 牛逼
    cc21216695 发布于 2 年前(09月27日) 试了一下,加入启动项也无效,压根没有用
    afirefish 发布于 3 年前(11月28日) 非常感谢,非常棒!
    》随缘《 发布于 3 年前(11月20日) 最新【一键处理】方法: https://github.com/MrXhh/VSTools/rele...
    书签
    • 打赏
    • 毒鸡汤
    • 米店
    • 金鱼直播间

    COPYRIGHT © 2023 quarkbook.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    蜀ICP备15036129号-9

    登录
    注册|忘记密码?