Voxy服务器

Voxy服务器

VoxyServer是一个fabric服务端模组,它使用voxy将区块体素化为LOD,并将它们流式传输给连接的客户端。

性能

VoxyServer

VoxyServer 是一款 Fabric 服务端模组,它使用 Voxy 将区块体素化为 LOD(细节层次),并将其流式传输给已连接的客户端。安装了 Voxy 和 VoxyServer 的玩家会自动从服务器接收 LOD 数据,无需进行客户端世界扫描或区块加载。未安装 Voxy 的玩家则不受影响。

最新版本:Minecraft 26.1.x | Fabric

工作原理

当服务器加载区块时,这些区块会被体素化为 Voxy 的 LOD 格式,并存储在服务器上每个世界的数据库中。当安装了 Voxy 和 VoxyServer 的玩家连接时,服务器会以玩家位置为中心,呈螺旋状向外流式传输 LOD 区块。随着玩家的移动,新的区块会自动发送。

建筑、爆炸等方块变化会被检测到,受影响的 LOD 区块会重新体素化并自动推送给客户端。

现有的世界也可以使用管理员命令从其区域文件中回填数据,因此已经探索过的地形无需玩家逐区块重新访问即可被体素化。

安装

将 VoxyServer、Voxy 和 Sodium 的 jar 文件放入服务器的 mods 文件夹中。不需要其他服务端依赖。

客户端同样需要 VoxyServer,以及 Voxy 和 Sodium。

配置

首次运行时,会在 config/voxyserver.json 生成一个配置文件。

  • lodStreamRadius:围绕每个玩家流式传输 LOD 的区块半径。
  • maxSectionsPerTickPerPlayer:每个玩家每个 tick 周期内发送的最大 LOD 区块数。
  • sectionsPerPacket:打包到单个网络数据包中的最大 LOD 区块数。
  • tickInterval:每个流式传输周期之间的服务器 tick 数。
  • workerThreads:Voxy 使用的工作线程数。
  • generateOnChunkLoad:在服务器上加载区块时进行体素化。
  • dirtyTrackingEnabled:当方块发生变化时,重新体素化并推送 LOD。
  • dirtyTrackingInterval:脏区块刷新之间的 tick 数。
  • debugTrackingEnabled:定期向控制台输出内部服务器统计信息。
  • debugTrackingInterval:转储跟踪统计信息之间的 tick 数。

客户端配置

如果客户端安装了 ModMenu 和 Cloth Config,玩家可以从模组列表中打开 VoxyServer 配置界面,以调整他们的个人流式传输偏好:

选项 描述
启用 LOD 流式传输 切换服务器是否向你发送 LOD 数据
LOD 流式传输半径 个人 LOD 半径(以方块为单位),0 = 使用服务器默认值
每 tick 最大区块数 每 tick 发送区块的个人速率限制,0 = 使用服务器默认值

这些值受服务器配置的最大值限制,并在保存后自动发送到服务器。

命令

服务器管理员可以将现有已生成的区块导入 Voxy 存储。导入操作按顺序运行并直接读取现有的区域文件,这比等待区块正常加载要快得多。导入完成后,已连接的 Voxy 客户端的导入维度会自动刷新。

  • /voxyserver import existing all 导入所有具有区域文件夹的已加载维度。
  • /voxyserver import existing current 导入执行玩家所在的当前维度。
  • /voxyserver import existing dimension <dimension> 导入特定的已加载维度,例如 minecraft:overworld。
  • /voxyserver import existing status 显示当前导入状态。
  • /voxyserver import existing cancel 取消正在进行的导入任务。

存储

LOD 数据按世界存储在 <world>/voxyserver/ 目录下。可以安全地删除此目录以重新生成所有 LOD 数据。

许可证:

GNU GPLv3