延迟消除工具¶
简介¶
- 【独行长路/Don't Starve Alone】 是一个消除延迟的辅助mod,主要面向单人玩家,特别是从饥荒单机版转到饥荒联机版后,非常讨厌联机版的延迟感的玩家。
- 正如其名字 Dont't Starve Alone 中 Alone 一词的含义,本mod只适合单人模式,后续版本也不会支持多人游戏。
- 本mod不修改原版的数值和机制,除了消除延迟,其他事情尽量都不碰。
- 主要的bug来源是地面和洞穴切换过程中的时间同步。如发现bug,可在创意工坊反馈,让我们一起把这个mod变得更好。
运行原理¶
如果你感兴趣,可以看看这个mod的运行原理:
点击展开
许多玩家发现,即便是在自己电脑上开服玩饥荒,只要存档带有洞穴,就能感受到延迟。这是怎么会事呢?
在多人游戏中,客户端和服务器之间需要进行网络通讯,饥荒联机版的网络通讯频率是每秒15次,这意味着玩家的操作(比如点击鼠标)发送到服务器(威尔逊向鼠标处跑动)会有一个延迟,最高为66毫秒。
这种延迟与网速无关,即使客户端和服务器在同一台电脑上(比如本地开洞穴房,或者本地开专服然后自己加入),延迟依旧存在。
想要完全消除延迟,就得让玩家处于服务端。在一些多人游戏中,开房间的玩家会处于服务端,不受延迟影响,加入房间的其他玩家处于客户端,会感受到和服务器的延迟。
但饥荒这个游戏比较特殊,它有“地面”和“洞穴”两个世界,假如房主目前处于地面服务器,那么当房主进入洞穴时,地面世界会关闭,导致其他在地面的玩家无法正常游戏。为了避免这一点,在饥荒中房主也以客户端的形式连接到服务器,在进出洞穴时,玩家客户端只需要切换连接的世界,而不会关闭世界。因此,即使你是房主,也会感到延迟。
这个机制其实可以优化。在“单人联机”,即只有一名玩家的特殊情况下,不需要考虑队友,只运行这名玩家所处的世界就行了。玩家在地面,运行地面世界;玩家在洞穴,运行洞穴世界。保证玩家一直是主机,延迟就不存在,还能减轻电脑的负担。
于是有了这个mod。
启动条件¶
1. 开启本mod¶
这是一个服务器mod,在启动世界前,你需要在服务器mod列表中勾选它。
2. 单人世界¶
世界人数必须设置为1,否则无法启动。
3. 世界带有洞穴¶
不含洞穴的世界本身就不存在延迟问题。当然,你可以把mod开启,但它不会有任何实际效果。
注意事项¶
1. 存档格式¶
开启【独行长路】的世界,存档格式和饥荒联机官方格式有所不同,所以会存在一些兼容性问题。
-
创建新世界前,在mod列表中添加本mod,这个世界的存档会采用特殊的储存格式,以支持延迟消除。
-
你也可以给一个活了100天的旧存档添加本mod。在读档时,官方存档格式会被mod自动转换为特殊格式。
-
一个存档如果已经开启了本mod,就不要关闭。因为官方代码并不能识别mod存档文件的洞穴部分,一旦关闭mod,你会丢失在洞穴的所有游戏进度。
-
存档恢复功能开发中...
注意
本mod适合从开局到结档都是一个人自己玩的存档。
如果你的存档有时候一个人玩,有时候和朋友一起玩,那就不要使用。
2. 回滚¶
本mod已支持回滚,可在游戏中或读档时恢复到更早的存档,操作方法和原版一致。
如果游戏内回滚行为异常,可以先退出世界,然后在读档界面回滚。
注意
云同步存档的游戏内回滚功能可能尚不稳定,如果你的存档是云同步的,建议不要在游戏内直接回滚,而是在读档界面进行回滚操作。
如果游玩时需要频繁回滚,推荐在本地存档内使用【独行长路】。
注意
一个旧存档添加了【独行长路】后,将无法回滚至开启mod前的游戏进度。
3. 自动保存¶
和单机版类似,每次下洞穴或者回到地面都会额外触发一次自动保存。
由于你始终是主机,所以每次保存时都会出现轻微的卡顿,这是正常现象。
4. 重新生成世界¶
该功能已完成,你可以在游戏内重新生成一个新世界。
由于一些底层限制,【独行长路】无法同时生成两个世界。在重置世界过程中,它会先生成洞穴,等洞穴生成完毕后再自动生成地面,最后弹出选人界面,整个过程不需要任何操作,耐心等待即可。
5. 无法在专服使用¶
不要把本mod加到专服,会强制崩溃的。
6. 时间同步¶
正常情况下,洞穴和地面的时间会自动同步,植物生长、boss刷新、四季、月相等计时器也会照常运行。
部分依赖于世界运行的机制将失效,例如:当你位于洞穴时,地面的蚁狮不会在你脚底挖坑;当你位于地面时,洞穴内的海星不会每隔一段时间造成范围伤害。(详见偏执模式)
如果遇到时间不同步的情况,请向我反馈,并附上一份存档文件。
常见问题¶
出现一些bug¶
如果遇到bug,请先确认是否由【独行长路】造成。
- 创建新存档,只添加【独行长路】这一个mod,观察bug能否被重现。
- 也可创建新存档,不开洞穴,不添加【独行长路】,观察bug能否被重现。
- 如果bug确实和【独行长路】相关,再向作者反馈。
阿比盖尔花只显示一阶段贴图¶
这是一个官方bug,我已在论坛反馈(见下方链接),但是官方不修,所以我也没办法。
下面是一些有用的控制台命令,有助于排查模组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倍速 |
游戏掉帧卡顿¶
按如下流程处理:
- 创建新存档,只添加【独行长路】这一个mod,进去玩几分钟。
- 如果仍然有掉帧,说明你的电脑带不动,建议订阅一些能清理地面物品的防卡mod(如掉落物自动堆叠)。假如你财力雄厚,也可以考虑换一台12900k,5950x或者m1。
- 如果不掉帧了,那说明是一些mod的原因。一些大型mod(如【Tropical Experience,三合一】)和一些优化较差的mod(如【tips,提示猎狗和BOSS的攻击时间】)会对游戏性能造成很大的负担,关闭这些mod可能会改善掉帧的问题。
关于tips为什么优化差,因为这个mod会频繁遍历全局实例哈希表Ents(大小约为30000),这对性能弱的电脑就是个灾难...
进出洞穴闪退¶
我无法复现这个bug,有部分玩家指出是144hz刷新率导致的问题,但是我没有电竞显示屏,没法求证。
如果你遇到了进出洞穴游戏闪退的情况,可以试试把显示屏刷新率从144hz调成60hz,看看问题能否解决。如果确实能成功解决,可在创意工坊评论区留言。
(这大概是klei在游戏引擎里留下的诡异bug)
某个物品无法带进/带出洞穴¶
请先查一查这个物品本身究竟能否带进洞穴,比如切斯特眼骨是没法带进洞穴的。
多人版本¶
正如名字所示,【独行长路/Don't Starve Alone】只适合单人世界,后续的版本也不会支持多人游戏。
如果你需要改善多人联机模式下的延迟问题,我觉得你应该去找klei的程序员,这是他们的工作。
开发进度¶
- 跨世界传送
- 上下洞穴
- 控制台
c_migrateto
命令 - 旺达的传送锚点
- 绚丽大门换人
-
存档转换
- 官方存档转换为mod存档。
- mod存档恢复为官方存档。
-
回滚
-
重新生成世界
-
支持修改世界设置