C2ME — Minecraft的并发区块生成模组
C2ME利用多线程技术加速Minecraft区块的生成、加载和保存。了解该模组的设置与兼容性。
C2ME利用多线程技术加速Minecraft区块的生成、加载和保存。了解该模组的设置与兼容性。
C2ME — Minecraft的并发区块生成模组
依赖项:
模组加载器:Fabric(NeoForge有单独的C2ME版本)
Minecraft版本:1.17.1 – 1.21.x 及更高版本
C2ME(Concurrent Chunk Management Engine,并发区块管理引擎)可加速区块的生成、加载和保存。原版Minecraft主要在单线程中执行世界生成,因此在多核处理器上探索新区域时,大多数核心处于闲置状态。C2ME将这项工作并行化分配到所有可用的核心上。最大的收益体现在生成新区块时:在地图上飞行、使用Chunky预生成或在新世界上启动服务器时。
C2ME加速了什么?
该模组重写了处理区块的三个部分:生成(worldgen)、从磁盘加载和写入磁盘(I/O)。这三个部分都在多个线程上并行运行,而不是单线程。一个直观的指标是每秒区块数(cps),即每秒生成的区块数量。原版游戏由于不可扩展,无论核心数量多少,最高限制在约13-14 cps;而C2ME几乎随线程数呈线性增长。
作者在服务器级Xeon Gold 5218R(限制为2 GHz)上的测试结果,使用Terralith数据包进行生成:
线程 | C2ME, cps | Paper, cps | 原版, cps |
|---|---|---|---|
1 | 11.6 | 8.0 | 7.4 |
4 | 45.0 | 32.5 | 12.1 |
8 | 91.6 | 60.2 | 12.8 |
16 | 183.8 | 77.4 | 13.7 |
在16个线程下,C2ME的生成速度约为184 cps,而原版为14 cps——快了约13倍。Paper也是多线程的,但扩展性较差,在16个线程时停留在约77 cps。


保留原版行为
C2ME不会为了速度而改变世界生成逻辑本身——结构、生物群系和矿石的生成方式与原版完全相同。但是,由于原版生成已知的非确定性(漏洞 MC-55596),具有相同种子的世界在不同的启动之间可能会有所不同——这是游戏本身的行为,而不是模组导致的。
安装前请备份你的世界。C2ME深度介入区块处理,虽然它保持了与原版的对等性,但在非标准模组整合包中可能会发生冲突。该模组包含一个CheckedThreadLocalRandom检查,用于捕获那些错误处理内部随机数生成器的模组并报告它们。
配置
设置位于config文件夹中的c2me.toml文件里。关键参数是globalExecutorParallelism:模组分配给生成任务的线程数。默认情况下该值自动选择;为了在地图上飞行时获得最大速度,建议将其设置为处理器的核心数。
兼容性
为了获得最佳效果,作者建议将C2ME与Lithium(游戏逻辑优化)和ScalableLux(多线程光照引擎)一起安装。完全支持在原版中工作的世界生成数据包。来自其他模组的自定义世界生成器通常也能正常工作,但如果模组作者依赖于单线程生成模型,则可能会发生冲突。
总结
C2ME填补了多线程区块生成的空白——这是Lithium(游戏逻辑)和Sodium(渲染)没有做的事情。在多核处理器上探索新区域或通过Chunky进行预生成时,服务器和单人世界能获得最大的收益。在已经生成好的世界中,由于仅从磁盘读取区块,性能提升较小。限制条件:仅限Fabric(NeoForge有单独构建版本),仅对最新版本和快照提供全面支持,旧版本仅接收严重错误修复。安装前必须备份世界。
常见问题解答
C2ME有什么作用? 通过利用多个处理器核心来加速区块的生成、加载和保存。这在生成新区域时最为明显。
C2ME会加速已经生成的世界吗? 程度较轻。主要的收益在于生成新区块。在旧世界中,区块只是从磁盘中读取,速度提升幅度更为有限。
应该将C2ME与哪些模组一起使用? 作者推荐Lithium和ScalableLux。它们的作用范围不重叠:C2ME负责区块,Lithium负责逻辑,ScalableLux负责光照。
C2ME会改变世界生成吗? 不会。世界生成逻辑保持原版一致。相同种子的世界出现差异是由于游戏本身的非确定性(漏洞 MC-55596)引起的,而不是模组。
C2ME支持哪些加载器? 此版本适用于Fabric,NeoForge有单独的C2ME构建版本。没有Forge版本。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











