夸克之书

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

Steam饥荒专用服务器搭建

2020-09-09 739点热度 0人点赞 0条评论

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

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

  • 一台服务器,建议内存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饥荒专用服务器搭建插图1

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

Steam饥荒专用服务器搭建插图2
看到选择人物界面就可以退出了
提示:在低配服务器上面创建世界可能有点慢,可以在自己电脑上面创建好世界,然后把存档复制到云服务器中也可以,但是必须要服务器上面至少运行一次联机版游戏,有MOD的话,还需要等待MOD下载完成。 如果是在自己电脑上面创建的世界,需要把自己电脑“我的文档>Klei>DoNotStarveTogether>一串数字>Cluster_x”文件夹复制到云服务器我的文档>Klei>DoNotStarveTogether中

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

2、启动服务器

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

(1)游戏安装目录

如:C:Program Files (x86)SteamsteamappscommonDon't Starve Together

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

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

(2)饥荒服务器目录

如:C:Program Files (x86)SteamsteamappscommonDon't Starve Together Dedicated Server

获取方法同上。

(3)存档位置和存档名称

如:C:Usersdc2-userDocumentsKleiDoNotStarveTogether

一般在C:Users<用户名>DocumentsKleiDoNotStarveTogether里面,可以在资源管理中的文档里面找到。

然后将一串数字目录下的Cluster_x文件夹复制到DoNotStarveTogether目录中,也就是复制到一串数字目录的上一级目录中。

Steam饥荒专用服务器搭建插图5

此时存档目录是这样的:

Steam饥荒专用服务器搭建插图6

(4)密钥

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

打开网站https://accounts.klei.com/account/info,然后选择用steam登录。转到游戏,然后打开“饥荒联机版的游戏服务器”。

Steam饥荒专用服务器搭建插图7

点击“添加新服务器”

Steam饥荒专用服务器搭建插图8

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

Steam饥荒专用服务器搭建插图9

此时开服所需要的参数已经准备好了,然后将下面的代码保存为xxx.bat。(注意:后缀名必须为bat(批处理器脚本文件))。然后将上面获取的几个参数填写到脚本中对应的位置。

@echo off

:游戏安装目录
SET GAME_PATH=C:Program Files (x86)SteamsteamappscommonDon't Starve Together
:饥荒服务器目录
SET DST_PATH=C:Program Files (x86)SteamsteamappscommonDon't Starve Together Dedicated Server
:联机版存档目录,一般在我的文档下面,如果没有,运行一次游戏即可
SET TOKEN_PATH=C:Usersdc2-userDocumentsKleiDoNotStarveTogether
:存档名称
SET DST_CLUSTER=Cluster_1
:密钥,注意:密钥中‘^’需要替换成4个^。
SET CLUSTER_TOKEN=pds-g^^^^KU_u0cSuQde^^^^ImI0/X**********************SlMD/Q=

:检查游戏目录下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饥荒专用服务器搭建插图10
服务器启动完成

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

: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 国际许可协议 进行许可
标签: 暂无
最后更新:2020-12-13

Afirefish

夸克之内,别有洞天

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

文章评论

您需要 登录 之后才可以评论

Afirefish

夸克之内,别有洞天

搜索文章
分类目录
  • C# (28)
  • Linux (3)
  • 树莓派 (13)
  • 物联网 (19)
  • 科普 (4)
  • 笔记 (30)
  • 默认 (44)
最新 热点 随机
最新 热点 随机
树莓派PWM风扇控制 PVE重启后LVM Thin数据丢失,错误:Volume group "****" has insufficient free space (128 extents): 4048 required. OpenWrt配置SmartDNS OpenWrt x86安装Frpc Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50 IdentityServer4证书创建 免费本地解析域名(locallocal.cn),支持HTTPS 使用淘宝npm以及安装cnpm
你见过哪些有趣的代码?修改PostgreSQL数据库默认用户postgres密码在VS Code开发Arduino项目Error response from daemon: cannot stop container: ******: Cannot kill container *******:.....单机Docker搭建FastDFSC# Json序列化时将长整型(long)属性序列化为Json字符串使用淘宝npm以及安装cnpm免费本地解析域名(locallocal.cn),支持HTTPS
树莓派自动化推流摄像头到Bilibili直播 树莓派PWM风扇控制 ASP.NET Core 3.1 WebApi Swagger与API版本控制的美妙结合 树莓派.Net Core Iot入门系列篇(2):DHT22温湿度传感器的使用 使用淘宝npm以及安装cnpm 树莓派4系统下载(集合) 解决问题:The context cannot be used while the model is being created 23种常见的设计模式(4):模板方法模式
最近评论
发布于 2 周前(02月21日) 好的谢谢,那我只能通过kill杀死推流指令进程来实现了。
发布于 2 周前(02月21日) 要用这个项目的话,你得自己拉代码来改了。做这玩意儿主要是考虑全天候的,没考虑过关[笑哭]
发布于 2 周前(02月21日) 就是想问有没有能通过代码控制的关闭推流的指令,而不需要手动控制。我想设置一个按钮来控制开始推流和结束...
发布于 2 周前(02月20日) 唔,没懂你意思,直接拔电源不就行了。不拔电源关闭推流服务也行撒。
发布于 2 周前(02月20日) 你好,我想问一下,如果不想推流了,该用什么方法停止树莓派推流呢?
书签
  • 打赏
  • 毒鸡汤(有点意思)
  • 米店
  • 金鱼直播间
放松一下
https://www.quarkbook.com/wp-content/uploads/2020/09/Yanni-Nightingale.flac
用户您好!请先登录!
登录 注册

COPYRIGHT © 2020 夸克之书. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

蜀ICP备15036129号-9

登录
注册|忘记密码?