
书接上文,环境搭建好后,接下来时开服前的配置。
有别于其它游戏,饥荒联机版(以下简称“dst”)并不需要公网ip,服务器起来后,会在饥荒联机大厅进行注册,之后玩家启动dst,搜索服务器,进行加入,然后就可以一起玩耍了。
饥荒联机大厅进行注册,需要这个,英文名字叫 “Cluster Token”。
1.1、在自己的电脑上启动 饥荒联机版(下文简称 dst)
1.2、主界面按 ~键,调出控制台,然后输入以下指令,并敲下Enter键,以生成令牌:
TheNet:GenerateClusterToken() ~键,波浪号键一般位于键盘左上角,在ESC键的下方,tab键的上方,数字键1的左边;

1.3、令牌保存在“cluster_token.txt”的文本文件中,可以在个人文档下找到,例如:
%userprofile%\Documents\Klei\DoNotStarveTogether\
我的路径是下面这个,其中 132274880 可能是用户id什么的,每个人可能不相同:
C:\Users\hf\Documents\Klei\DoNotStarveTogether\132274880\cluster_token.txt
2.1、启动 dst;
2.2、创建游戏 --> 创建新世界 --> 生成世界,期间各种选择,根据个人喜好选择,记得填写密码哦。
如果什么都不懂 可以参考下面的截图:

2.3、模组,要玩模组的话,在这要勾选启用了,如下图这样,注意只勾 服务器模组 下面的就可以了。
饥荒模组分 本地模组 和 服务器模组,服务器端只安装服务器模组就好了。

2.4、生成世界后,点击“断开联线”退出世界

世界也是在我的文档下面,例如
%userprofile%\Documents\Klei\DoNotStarveTogether\
我的是:
C:\Users\hf\Documents\Klei\DoNotStarveTogether\132274880\
名为 Cluster_1、Cluster_2 之类的文件夹,一个文件夹即一个世界,每多生成一个世界,Cluster后面的数字会加1,所以我刚才创建的世界在 Cluster_2 文件里。
拷贝 Cluster_2 文件夹 到桌面,并命名为S1。

找到 模组配置文件,例如 我模组配置文件是这个路径,将这个文件拷贝到桌面:
C:\Users\hf\Documents\Klei\DoNotStarveTogether\132274880\Cluster_2\Master\modoverrides.lua
用文本编辑器打开内容是这样的,workshop-后面的数字先留意一下,后面有用:
return {
["workshop-2287303119"]={configuration_options={[""]=0, T_crop=true, chestB=-1, chestG=-1, chestR=-1, display_hp=-1, food_estimation=-1, food_order=0, food_style=0, lang="Auto", show_food_units=-1, show_uses=-1 },enabled=true},
["workshop-378160973"]={configuration_options={ENABLEPINGS=true, FIREOPTIONS=2, OVERRIDEMODE=false, SHAREMINIMAPPROGRESS=true, SHOWFIREICONS=true, SHOWPLAYERICONS=true, SHOWPLAYERSOPTIONS=2 },enabled=true},
["workshop-829529625"]={configuration_options={uses=10000000, uses2=10000000 }, enabled=true}
} 前往模组目录,我的是:
C:\Program Files (x86)\Steam\steamapps\workshop\content\322330\
配置文件中显示了“workshop-2287303119”,则需要将 “2287303119”这个文件夹拷到桌面(一会上传到服务器mods目录下)。
如果你启用了多个mod,则需要挨个拷贝,拷贝完后将 目录名改为 “workshop-2287303119”这种格式。

4.1、将第一步获得的 cluster_token.txt 文件拷贝到刚才的 S1 目录下。
4.2、将整个 S1文件夹 上传至 服务器的 “/root/dst/klei/DoNotStarveTogether”目录下:

4.3、将模组配置文件 和 模组文件 上传至 服务器的“/root/dst/dst_client/mods/”目录下:

先生成脚本,方便之后开服。
这是个人的文件放置安排:
[root@tx ]# tree ~/dst/
./dst/
├── dst_client
│ ├── bin
│ ├── bin64
│ ├── data
│ ├── linux64
│ ├── mods
│ │ ├── workshop-2287303119
│ │ ├── workshop-378160973
│ │ ├── workshop-829529625
│ │ ├── dedicated_server_mods_setup.lua
│ ├── steamapps
├── klei
│ ├── Agreements
│ └── DoNotStarveTogether
│ ├── S1
│ ├── Caves
│ │ ├── server.ini
│ └── Master
│ ├── server.ini
│ └── S2
│ ├── Caves
│ │ ├── server.ini
│ └── Master
│ ├── server.ini
├── updateDST.sh
└── startDST.sh
5.1、准备开服脚本
startDST.sh(开服脚本):
cd ~/dst/
touch ./startDST.sh
vi ./startDST.sh 粘贴下面内容:
#!/bin/bash
steamcmd_dir="/root/steamcmd"
install_dir="/root/dst/dst_client"
doc_dir="/root/dst/klei"
cluster_name="S1"
cd "$install_dir/bin"
run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
run_shared+=(-persistent_storage_root "$doc_dir" )
#不想开启洞穴就把&和后面的都去掉
"${run_shared[@]}" -shard Master | sed 's/^/Master: /' &
"${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' 这里的S1,对应了前面的操作,如果你有多个世界,可以改成 S2、S3这种,同时对应地,修改此脚本。
updateDST.sh(更新脚本):
cd ~/dst/
touch ./updateDST.sh
vi ./updateDST.sh 粘贴下面内容:
#!/bin/bash
# 获得本sh所在目录
sh_path=$(cd `dirname $0`; pwd)
cmdDir=/root/steamcmd/
dstDir=/root/dst/dst_client/
"$cmdDir"steamcmd.sh \
+login anonymous \
+force_install_dir "$dstDir" \
+app_update 343050 validate \
+quit
设置这脚本为可运行
chmod +x ./startDST.sh
chmod +x ./updateDST.sh 脚本创建好后之后这样使用
# 启动 开服程序
~/dst/startDST.sh
# 更新
~/dst/updateDST.sh
5.2(可选)为了让服务器后台运行,先创建一个screen会话:
(本文默认你已经会screen指令了,不会则跳过这步)
screen -S dst 5.3、运行开服脚本
~/dst/startDST.sh
6.1、启动dst;
6.2、点击 浏览游戏;
6.3、在右边输入 服务器的名字,例如 我的是“hf和他的小伙伴们”,输入“hf”,然后点旁边的“搜索按钮”:

6.4、在搜索结果中找到你的服务器,选中它,然后点击“查看模组”按钮,如果正确安装则会显示在这:

确认服务器开好无误后,就可以召唤小伙伴了,你和小伙伴进入服务器的方式都是一样的。
7.1、启动dst;
7.2、点击 浏览游戏;
7.3、输入 服务器的名字,然后点 “搜索”按钮

7.4、在服务器列表中选中服务器,然后点击“进入”按钮

7.5、如果你设置了密码,此时会要求输入密码,设置密码是必要的,密码可以弄简单点,毕竟服务器是公开的。
7.6、然后就可以愉快滴玩耍了~
在服务器界面直接按Ctrl+C 关闭服务器。
令牌,除启动dst敲指令获得外,还可以访问科雷官网下载
1、访问科雷官网,选择steam登录
https://accounts.klei.com/account/game/servers?game=DontStarveTogether

2、新建一个服务器,今天我的steam登录不了,主要是因为邮箱收不到邮件,待日后补上。
3、这里的服务器票据,这就是上文提到的令牌:

4、点击“下载设置”后将获得一个名为“MyDediServer.zip”的压缩包,文件结构如下图:
.MyDediServer
├── cluster.ini // 服务器配置
├── cluster_token.txt // 服务器票据
└── Master // 主世界
└── server.ini // 主世界服务器配置
└── Caves // 洞穴
├── server.ini // 洞穴服务器配置
└── worldgenoverride.lua
列举cluster.ini部分重要设置项:
(//以及后面的内容是注释,实际配置不能写这些东西)
[GAMEPLAY]
game_mode = survival // 游戏模式 生存=survival, 无尽=endless, 荒野=wilderness
max_players = 6 // 最大人数
pvp = false // 是否开启pvp
pause_when_empty = true // 服务器无人时,自动暂停
vote_kick_enabled = false // 投票踢人
[NETWORK]
cluster_name = hf和他的小伙伴们 // 服务器名字
cluster_description = hf-S1 // 服务器介绍
cluster_intention = social // 游戏风格 社交=social, 合作=cooperative, 竞争=competitive, 疯狂=madness
cluster_password = mima // 服务器密码
[MISC]
max_snapshots = 6 // 最大快照数,决定了可回滚的天数
console_enabled = true // 是否开启控制台
// 这部分一般不改
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10889
cluster_key = supersecretkey 完整的可参考:https://dontstarve.fandom.com/zh/wiki/多人版饥荒独立服务器?variant=zh
实际上用dst创建这个更加方便,但了解还是很有必要,文件传到服务器上,改文本更方便。
“Master/server.ini” 一般默认
“Caves/server.ini”也是默认,如果你不打算开洞穴,可以将整个 Caves 文件删除。
通过 dst创建的服务器配置中,例如 “Cluster_2”可以找到“Master/leveldataoverride.lua”
有时服务器开不起来,删掉这个可能会解决问题。
有次我饥荒开服不成功,从科雷官网下载这个配置,然后稍作修改,放到服务器上就好了。
