世界编织者

世界编织者

Worldthreader 通过在每个维度上安全地运行单独的线程来加速服务器。

杂项

Worldthreader 是一个免费且开源的 Minecraft 模组,它通过并行 tick 维度来优化多重维度的处理。它确保了线程安全,如果找不到其他解决方案,则会回退到串行执行。在每个 tick 之后,各维度会互相等待以确保所有内容保持同步,从而避免破坏许多高级红石装置。预计会存在模组不兼容情况,请将任何问题报告至 worldthreader 问题追踪器。

该模组在客户端(单人游戏)和服务器上均可运行,并且不要求双方都安装该模组。

安装

要在多人游戏中使用,必须在服务器上安装该模组。要在单人游戏世界中使用,必须在客户端上安装该模组。

  1. 从 Modrinth 或 CurseForge 下载该模组。
  2. 将下载的 .jar 文件放入 Minecraft 目录的 mods 文件夹中。
  3. 使用 Fabric 模组加载器启动 Minecraft。

配置

要使用游戏规则,你需要 Fabric API。如果没有 Fabric API,Worldthreader 将使用默认设置。

  • /gamerule worldthreader_Active <true/false>(默认 true)启用/禁用该模组
  • /gamerule worldthreader_AdditionalEntityTickAfterTeleport <true/false>(默认 false)启用/禁用实体从主世界传送到下界或末地后立即 tick 实体,以模拟原版传送门的时序
  • /gamerule worldthreader_Debug <true/false>(默认 false)启用/禁用调试日志记录和非法世界访问检测。使用此选项来发现问题,包括正确性和性能相关的问题。如果日志中没有显示任何内容,那只能说明没有发现问题,而不是说不可能存在问题。

常见问题

该模组会改变原版行为吗?

Worldthreader 力求在大多数方面保持原版一致性。

基于实体穿过传送门时序的行为,在实体离开主世界时可能会延迟一个游戏 tick。不过,/gamerule worldthreader_AdditionalEntityTickAfterTeleport 会让未传送到主世界的实体在被放入世界后 tick 一次。这应该能让它们补上错过的那个 tick。然而,这发生在 tick 的末尾,意味着在那个 tick 中没有其他生物或活塞能够推动或伤害该实体,因为它当时还不在那里。

命令方块中的跨维度命令或来自不同维度的共享记分板访问可能会观察到不同的顺序,因为在单个游戏 tick 内,跨维度命令没有跨维度顺序保证。同一维度内的命令顺序与原版保持一致。

我的维度会失去同步吗?

不会。Worldthreader 始终会让各维度彼此同步,将整体 MSPT 设置为最慢的单个维度的 MSPT。

支持超过 3 个维度数量吗?

支持。

如果我的 CPU 线程数少于维度数,我可以使用 Worldthreader 吗?

可以,但这可能会降低性能。

与其他模组的兼容性如何?

与其他模组的兼容性问题可能非常常见。请将所有遇到的问题直接报告给 Worldthreader,以避免给其他模组作者带来麻烦。Worldthreader 的作者愿意合作,并为兼容性向其他模组提出修改建议。

较旧版本的 Minecraft 怎么办?

有一个支持几个较旧版本的 DimThread 模组:https://github.com/WearBlackAllDay/DimensionalThreading