Chunkis

Chunkis

Chunkis 是一个为 Minecraft 打造的高性能稀疏存储引擎。它通过在区块快照之上仅持久化玩家所做的更改,并使用为速度和效率而设计的自定义二进制格式(CIS),大幅缩减了世界存档大小。

优化

在不改变游戏玩法的情况下缩小世界存档

世界会悄悄增长。区域、方块实体、实体以及重复的区块数据可能会让备份、传输和长期存储变得比预期更繁重。

Chunkis 为 Minecraft 提供了一个专用的区块存储层,旨在保持世界数据紧凑且可恢复。

Chunkis 的功能

Chunkis 用自己的 CIS 格式替换了原版区块持久化。它:

  • 将 Chunkis 拥有(“已认领”)的区块数据存储在紧凑的区域文件中——这些区块是 Chunkis 已接管并作为权威来源的区块,而非仍由原版 Anvil 格式拥有的区块;
  • 在区块加载时恢复方块、方块实体、实体以及受支持的元数据;
  • 保护尚未被 Chunkis 认领的原版存档不被覆盖;
  • 拒绝不安全或不完整的区块载荷;
  • 通过其迁移路径支持导入现有的原版世界;
  • 适用于单人世界和集成(局域网托管)服务器。

专用服务器: Chunkis 尚未在专用服务器环境中测试过。如果你运行的是独立/专用服务器(而非从客户端托管的局域网世界),在另行说明之前,请将其视为不受支持。

Chunkis 改变了区块的存储方式。它不添加游戏内容、不更改配方,也不替换渲染。

为什么要使用它?

优势 含义
在许多情况下世界更小 CIS 可以避免冗余存储,但结果取决于世界本身——参见存储影响。
更轻松的备份 更小的存档复制、上传、归档和传输都更快。
更安全、可预测的持久化 Chunkis 会验证所有权并拒绝无法安全重建的数据,因此恢复的状态是经过深思熟虑的,而非依赖原版的偶然行为。
没有虚假的性能承诺 Chunkis 是一个存储模组——不是 FPS 或 TPS 加速器。

要求

  • Minecraft 1.21.11
  • Fabric Loader
  • Fabric API
  • Java 21 或更高版本

安装

  1. 为 Minecraft 1.21.11 安装 Fabric Loader。
  2. 从 Modrinth / CurseForge (链接待定) 下载 Fabric API 和 Chunkis,或从 GitHub Releases 获取最新版本。
  3. 将两个 .jar 文件放入你的 .minecraft/mods 文件夹(如果是集成/局域网托管,则放入服务器的 mods 文件夹)。
  4. 使用 Fabric 配置启动。

兼容性

Chunkis 尚未针对其他写入或优化区块/区域数据的模组(例如光照引擎替换、其他区块存储或压缩模组)进行测试。如果你运行的是该类别的模组,请在测试前备份,并报告你发现的任何冲突。

重要:测试版软件

安装前:

  1. 对你的世界进行完整备份。
  2. 先在副本或新世界上测试。
  3. 重启世界并验证方块、方块实体、实体和维度。
  4. 保留备份,直到你对结果满意为止。

卸载 Chunkis 并不是自动回滚。 如果你需要返回原版存储,请恢复在 Chunkis 成为权威来源之前所做的备份。

现有世界

Chunkis 可以通过其集成服务器迁移路径导入现有的原版 MCA 数据。

迁移会同时检查普通区块区域和外部实体区域。只有在迁移数据经过验证并创建了经验证的备份后,源文件才会被退役。

如果你的世界已经包含权威的 CIS 数据,Chunkis 会将残留的原版区域文件视为过时的接管数据。在允许此转换之前,请始终保留备份。

存储影响

Chunkis 并不保证每个世界都会变得更小。存储结果取决于:

  • 地形和方块状态多样性;
  • 方块实体;
  • 实体;
  • 世界历史;
  • 其他写入区块数据的模组。

基准测试:

原版与 Chunkis 存储对比 — 616.2 MB vs 70 MB,约缩小 88.6%

一个全新生成、未游玩过的 2000×2000 区域(通过 Chunky 生成)在原版区域文件中占用 603 MB,外加其独立实体文件夹中的 13.2 MB(合计 616.2 MB),而在 Chunkis 4.0.0 的合并格式(区域 + 实体一起)中为 70 MB——减少了约 88.6%。这是在未游玩世界上进行的单次基准测试;游玩过的世界拥有更多方块实体和地形多样性,将会看到不同的结果。欢迎社区提交在真实、游玩过的世界上的基准测试——提交 issue 并附上你的数据。

常见问题

Chunkis 会改善 FPS 或 TPS 吗?

不承诺有普遍改善。Chunkis 专注于区块存储、保存/加载行为和持久化安全。

Chunkis 总是比原版更小吗?

不——参见存储影响。

Chunkis 会改变游戏玩法吗?

它不添加游戏内容。它改变的是区块数据的持久化和恢复方式。

我可以在现有世界上使用它吗?

可以,通过现有世界中描述的迁移路径。请先备份——参见测试版软件。

Chunkis 可以在专用服务器上运行吗?

未测试。Chunkis 已确认可在单人世界和集成(局域网托管)服务器上运行。专用服务器支持尚未测试——如果你尝试,请谨慎行事并先备份。

我可以自动恢复到 Anvil 吗?

不可以。请改为恢复你使用 Chunkis 之前的备份。

如果我发现问题怎么办?

请报告,并附上你的 Minecraft 版本、Fabric 版本、完整的模组列表、复现步骤、latest.log 以及崩溃报告(如果有)。

在 GitHub 上报告 bug 阅读详细文档


许可证: [MIT]