跳转至

延迟消除工具

简介

  • 【独行长路/Don't Starve Alone】 是一个消除延迟的辅助mod,主要面向单人玩家,特别是从饥荒单机版转到饥荒联机版后,非常讨厌联机版的延迟感的玩家。
  • 正如其名字 Dont't Starve Alone 中 Alone 一词的含义,本mod只针对单人模式进行优化,后续更新也不会支持多人游戏。
  • 点击链接查看使用说明。

2023-3月更新

本次更新包含大量漏洞修复,优化了游戏体验,并增加恢复多人存档的功能。

查看详细更新日志

改动

  • 新增“恢复多人存档”功能。
  • 配置项“偏执模式”更名为“特殊优化”,且改为默认开启。
  • 暂时禁用了对云存档的支持。详情

Bug修复

  • 修复洞穴内的金丝雀不中毒的bug。
  • 修复洞穴中不会发生蚁狮塌方的bug。
  • 修复部分预设(如地震频率,死亡重置倒计时,季节时长)在洞穴不生效的bug。
  • 修复启动界面上,单人设置提示不消失的bug。
  • 修复为旧存档添加mod引发洞穴角色重选的bug。
  • 修复离线存档在网络不良情况下可能导致付费角色(如旺达)读档失败的bug。
  • 修复部分季节boss刷新时间异常的bug。

冲突修复

  • 修复和调用函数 ShardIndex:Load() 的模组的冲突。(Insight)

底层优化

  • 开服创建世界后强制退出,避免因自动保存生成的额外镜像。
  • 更正了一处拼写错误。

运行原理

如果你感兴趣,可以看看这个mod的运行原理:

点击展开

许多玩家发现,即便是在自己电脑上开服玩饥荒,只要存档带有洞穴,就能感受到延迟。这是怎么会事呢?

在多人游戏中,客户端和服务器之间需要进行网络通讯,饥荒联机版的网络通讯频率是每秒15次,这意味着玩家的操作(比如点击鼠标)发送到服务器(威尔逊向鼠标处跑动)会有一个延迟,最高为66毫秒。

这种延迟与网速无关,即使客户端和服务器在同一台电脑上(比如本地开洞穴房,或者本地开专服然后自己加入),延迟依旧存在。

想要完全消除延迟,就得让玩家处于服务端。在一些多人游戏中,开房间的玩家会处于服务端,不受延迟影响,加入房间的其他玩家处于客户端,会感受到和服务器的延迟。

但饥荒这个游戏比较特殊,它有“地面”和“洞穴”两个世界,假如房主目前处于地面服务器,那么当房主进入洞穴时,地面世界会关闭,导致其他在地面的玩家无法正常游戏。为了避免这一点,在饥荒中房主也以客户端的形式连接到服务器,在进出洞穴时,玩家客户端只需要切换连接的世界,而不会关闭世界。因此,即使你是房主,也会感到延迟。

这个机制其实可以优化。在“单人联机”,即只有一名玩家的特殊情况下,不需要考虑队友,只运行这名玩家所处的世界就行了。玩家在地面,运行地面世界;玩家在洞穴,运行洞穴世界。保证玩家一直是主机,延迟就不存在,还能减轻电脑的负担。

于是有了这个mod。


如何使用

1. 开启本mod

这是一个服务器mod,在启动世界前,你需要在服务器mod列表中勾选它。

2. 单人世界

世界人数必须设置为1,否则无法启动。

3.(推荐)将存档类型设置为本地存档

使用云存档运行本mod可能会导致未知的bug,这些bug还在测试和修复,在此之前,建议你使用本地存档。

注意

你可以给旧存档添加【独行长路】,但是在添加后,游戏将无法回滚至开启mod之前的时间节点。

如何关闭mod

在mod开启的情况下,玩家人数必须是1,只能进行单人游戏。如果你想要回到多人游戏,进入启动界面,点击右上角的小按钮:

在弹出框中填写存档的名字,然后点击“开始转换”。

【独行长路】会创建一个当前存档的复制品,并将其转换为多人模式,当前存档不会受影响。

注意

不要直接关闭本mod。一旦关闭mod,你会丢失在洞穴的所有游戏进度。

注意

恢复存档到多人模式后,尽量不要回滚到恢复以前的时间节点,可能会导致未知的bug。

如何回滚

和原版游戏一样,你可以在启动世界之前或冒险中将游戏恢复到更早的时间线上。

如果游戏内回滚行为异常,可以先退出世界,然后在读档界面回滚。

其他注意事项

存档格式

开启【独行长路】的世界,存档格式和饥荒联机官方格式有所不同,所以会存在一些兼容性问题。

  • 创建新世界前,在mod列表中添加本mod,这个世界的存档会采用特殊的储存格式,以支持延迟消除。

  • 你也可以给一个活了100天的旧存档添加本mod。在读档时,官方存档格式会被mod自动转换为特殊格式。

  • 请勿直接关闭mod:官方代码并不能完全识别mod存档格式,关闭mod会导致部分信息的丢失和重置。

自动保存

和单机版类似,每次下洞穴或者回到地面都会额外触发一次自动保存。

由于你是主机,所以每次保存时都会出现轻微的卡顿,这是正常现象。

重新生成世界

你可以在游戏内使用指令重新生成一个新世界。

由于一些底层限制,【独行长路】无法同时生成两个世界。在重置世界过程中,它会先生成洞穴,等洞穴生成完毕后再自动生成地面,最后弹出选人界面,整个过程不需要任何操作,耐心等待即可。

专用服务器

不要把本mod加到专服,这没有任何意义。

时间同步

正常情况下,洞穴和地面的时间会自动同步,植物生长、boss刷新、四季、月相等计时器也会照常运行。

部分依赖于世界运行的机制将失效,例如:当你位于地面时,洞穴内的海星不会每隔一段时间造成范围伤害。(详见特殊优化

如果遇到时间不同步的情况,请向作者反馈。

游戏掉帧卡顿

【独行长路】只会优化延迟,而不会优化帧率。如果出现游戏卡顿,可按如下流程处理:

  1. 创建新存档,只添加【独行长路】这一个mod,进去玩几分钟。
  2. 如果仍然有掉帧,说明你的电脑带不动,建议订阅一些能清理地面物品的防卡mod(如掉落物自动堆叠)。假如你财力雄厚,也可以考虑换一台电脑。
  3. 如果不掉帧了,那说明是一些mod的原因。一些大型mod(如【Tropical Experience,三合一】)和一些优化较差的mod(如【tips,提示猎狗和BOSS的攻击时间】)会对游戏性能造成很大的负担,关闭这些mod可能会改善掉帧的问题。

关于tips为什么优化差,因为这个mod会频繁遍历全局实例哈希表Ents,这对性能弱的电脑就是个灾难,会带来严重的掉帧。


某个物品无法带进/带出洞穴

请先查一查这个物品本身究竟能否带进洞穴,比如切斯特眼骨是没法带进洞穴的。

多人版本

正如名字所示,【独行长路】只适合单人世界,后续的版本也不会支持多人游戏。

如果你需要改善多人联机模式下的延迟问题,我觉得你应该去找klei的程序员,这是他们的工作。

测试指令

下面是一些有用的控制台命令,有助于排查模组bug:

命令 功能
c_freecrafting() 开启物品全制造
c_godmode() 开启无敌,死亡后输入该指令可以复活
c_save() 立刻保存
c_gonext"cave_entrance" 传送到洞穴入口
LongUpdate(480) 跳过一定的时间,数字代表秒数,如480秒代表饥荒的一天
LongUpdate(480, true) 跳过一定的时间,但不影响玩家三围
TheWorld.minimap.MiniMap:EnableFogOfWar(false) 小地图全显示(该指令仅在主机生效)
SetDefaultTimeScale(2) 将游戏速度设置为2倍速

友情链接

回到页面顶部