饥荒联机版

饥荒联机版

32 个评价
饥荒联机版DST开服后修改世界设置
由 sunnycc 制作
经过一顿操作总算是成功了,趁着还没忘来总结下。
   
奖励
收藏
已收藏
取消收藏
正篇
最近和小伙伴联机,开萌新局,设置了白天长,没想到这个档玩的还挺好的,一直没有重开。


但是作为温蒂玩家,服务器的“白天长”的设置显然……(阿比盖尔:别讲了就是菜),于是我找到了一个修改疾病设置的帖子[forums.kleientertainment.com]作为参考(整理+翻译见文末),尝试修改一下世界设置。

开服用的是DST Dedicated Server(教程[blog.ttionya.com],第一种方法,非SteamCMD),所以游戏目录并不是一个DoNotStarveTogether文件夹(想看这部分的移步尝试3),而是DoNotStarveTogether_EasyConfigOverworld和DoNotStarveTogether_EasyConfigCaves两个文件夹,Overworld是地面,Caves是洞穴,请先把这两个文件夹打包备份:



系统:win10教育版
工具:系统自带记事本
友情提示:
尝试之前请先备份!
尝试之前请先备份!!
尝试之前请先备份!!!

尝试1
记事本打开DoNotStarveTogether_EasyConfigOverworld/Cluster_1/save文件夹内(我们只有1个档所以是Cluster_1,多个档的记得弄清序号)的saveindex文件:



发现设置白天黄昏夜晚长度的一行是day="longday",找不到的用ctrl+f搜索:



根据开服教程[blog.ttionya.com]的配置世界指导,这一项的设置可以为"default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"。
为了对比明显,先试一下将"longday"修改为"onlydusk"(只有黄昏)并保存,别的地方不需要改,保持原样。



虽然有地面和洞穴两个文件夹,但是洞穴服务器的saveindex文件里没有这个选项,不用去管他。
启动服务器,然后发现地面和洞穴两个服务器都出现了更新世界设置的动作:



赶紧进服务器看一眼:



成功了!之后就可以按照类似的方法设置白天长度为默认"default"了,其他的世界设置参数参考这里[forums.kleientertainment.com]

尝试2
将帖子里给的命令照葫芦画瓢改成TheWorld.topology.overrides.day = "onlydusk",进游戏按shift+~(就是1左边那个键)开启控制台,输入命令,回车,没有变化,不要着急。

  • 按一下ctrl会从本地/Local变成远程/Remote,应该要改成Remote才生效,需要你是管理员。
退出游戏,用c_shutdown()指令关闭2个服务器,然后再次启动服务器,发现Overworld服务器出现了和前面一样的setting day to onlydusk内容,但是Caves服务器并没有。



打开游戏,发现服务器设置还是Long Day,但是进入服务器后发现实际已经变成了只有黄昏,进入洞穴,也是只有黄昏(配图偷个懒)。
这个方法也宣告成功。


尝试3(非独立服务器)
如果是直接游戏内用Host Game开的档,没有架设专属服务器, saveindex文件的位置和前面第1条是不同的,它在DoNotStarveTogether/一串数字是你的id号/Cluster_1/Master/save文件夹里(多个档的记得弄清Cluster_的序号)。



控制台命令的方法和前面是一样的。

最后祝各位玩得愉快,永不饿死(正篇结束)~
参考:关闭疾病的教程(整理+翻译)
写在前面:我本人其实没有试过帖子内的内容,毕竟是2016年12月的,可能一些细节和当前版本会有出入,但是帖子介绍的原理是好使的!

玩家Kaio17在Klei论坛咨询[forums.kleientertainment.com],已经玩了1200天的存档,植物总是生病,有没有关闭疾病选项的命令/控制台代码呢?(非dedicated服务器)

大神DarkXero的回复总结如下:

方法1
输入命令TheWorld.topology.overrides.disease_delay = "none"然后重启服务器。不需要每次玩都输入这个命令,因为overrides设置已经保存了,游戏会自动读取。
查看服务器的设置,疾病一栏仍然是“默认”,但是实际上已经设置为“无”了(划重点!!),因为设置已经存在游戏目录下的client_save文件夹中的saveindex文件里了,然后根据里面的信息,游戏会自动更新leveldataoverride.lua文件。

方法2
你也可以自己编辑saveindex文件,找到overrides下的列表内的disease_delay=设置为”none”。

  • 成功标志1
    查看服务器日志会有一句-OVERRIDES: disease_delay set to "none"-
  • 成功标志2
    控制台输入命令c_announce(TUNING.DISEASE_DELAY_TIME)结果应该是0,而不是24000

方法3
输入命令TUNING.DISEASE_CHANCE = 0,但是每次你打开服务器的时候都要输入一次。

玩家Kaio17实际操作的时候遇到的问题

问题1
使用windows 10(的不知道哪个)文本编辑器编辑saveindex文件,默认使用了byte order mark (Encode in UTF-8-BOM)编码,导致游戏读不出来,所以最后是用的第一种方法输代码。(大神貌似暗示应该用Encode in UTF-8,不过我用win10自带的记事本就没遇到这情况)

问题2
在一段时间内仍然会有植物生病,但是这都是以前的设置导致的(潜伏期?),过一阵就不会再有疾病产生了。游戏里面已经生病的植物仍然需要挖掉,修改这个设置只是阻止新的疾病产生,而不能阻止已经产生的疾病扩散,也不能把已经感染的植物改成健康。
  • 如果不愿意等待,大神DarkXero给出了另一个命令
    for k,v in pairs(Ents) do if v.components.diseaseable then SpawnPrefab(v.prefab).Transform:SetPosition(v.Transform:GetWorldPosition()); v:Remove(); end end
    来替换处于疾病潜伏期的植物,让他们变成健康的同类植物。

那么是不是可以尝试一下修改别的设置呢?于是有了这一篇。
6 条留言
奥普斯博 2021 年 9 月 1 日 下午 8:09 
nice
Misaka 2021 年 8 月 21 日 上午 8:43 
有点困难2333
2976885070 2020 年 4 月 14 日 上午 3:13 
能不能教怎么把离线玩的”仅本地“存档改成联机可以和朋友玩的a
我的手好冷 2019 年 1 月 21 日 下午 6:58 
很棒大赞:DSTtophat:
sunnycc  [作者] 2019 年 1 月 18 日 上午 9:13 
没遇到过,你挂个加速器试试吧
去他的兔子 2019 年 1 月 18 日 上午 6:12 
大佬,我的饥荒 无法打开注册页面,怎么办啊?