
FastChunkGen
FastChunkGen是C2ME的非官方Forge移植版,包含修复、稳定性提升和性能优化。
FastChunkGen
FastChunkGen 基本上将 Minecraft 的区块处理移出了主服务器线程。世界生成在多个工作线程上运行,区块读取/写入异步进行,因此不会冻结主游戏循环!
它是 C2ME (作者 RelativityMC) 的非官方 Forge 移植版,但针对 Forge 进行了修复和改进。 别装其他的移植版,装这个就对了!
它的作用
- 跨多个线程生成区块,而非仅靠单线程(根据 CPU 核心数和内存进行扩展)。
- 异步区块读取与写入,使自动保存不会拖慢服务器。
- 将光照更新放在专用线程上。
- 修复了大量仅在并行运行世界生成时才会出现的原版线程安全问题(结构片段、共享随机数、加权列表等)。
- 减少了地表规则、NBT 处理和噪声采样中的内存分配。
你能获得多少 TPS/加载速度提升取决于你的 CPU 和世界生成模组,但总体而言,这个模组绝对会让区块加载更快。
与官方 C2ME 的区别
与许多现存的 c2me 移植版不同,此移植版真正针对 Forge 环境修复并改进了原版模组!
- 不再丢失 Forge 区块数据: 原版 c2me 的异步保存路径只是原版的复制,忽略了 Forge 的
ChunkDataEvent.Save事件。任何保存区块数据的模组都会在每次保存时丢失数据。fastchunkgen 会在主服务器线程上正确触发该事件。 - 修复方块实体保存: 方块实体现在在主服务器线程上进行序列化。上游在线程外调用
saveWithFullMetadata(),导致与 Forge 能力系统出现竞争条件和数据损坏。区块 section、高度图、调色板和结构仍然保持异步。 - 延迟
ChunkDataEvent.Load事件: 现在该事件在服务器线程上、区块生效之前执行。 - 修复无限循环错误: 修复了世界生成中的异常可能使工作线程陷入无限循环的错误。
- 修复调度器死锁: 修复了单个异常会永久冻结所有区块调度的问题。
- 修复锁泄漏: 当生成任务抛出错误时(以前会永久破坏该区域),邻接锁不再泄漏。
- 修复 Ticket 泄漏: 线程外的区块请求在失败时会清理其 ticket,不再泄漏内存。
- 更好的服务器关闭: 专用服务器不再立即执行
System.exit(0),因此你的退出代码和关闭日志得以保留。如果发生挂起,30 秒的看门狗仍会强制退出。 - 正确的日志记录: 所有日志都通过带有模组名称的 SLF4J 记录,而不是将原始堆栈跟踪信息刷屏到 stderr。
特意未移植客户端模块或不相关的模块:无 tick 视距、客户端视距解锁、服务器实用命令以及原生数学库。
兼容性
已与 480+ 个模组一同测试。生成了 5000+ 个区块并游玩,零问题!
Fastchunkgen 还会在启动时检查已安装的模组以自动解决冲突:
- ModernFix: 两个模组都优化了相同的三个地表规则和方块规则方法。FastChunkGen 的版本优先!如果你希望 ModernFix 来处理这些,请设置
generalOptimizations.overrideModernFixWorldGenAllocations = false。关于 proto chunks,关闭它以获得更快的区块生成速度。 - Radium / Lithium / Canary: 如果安装了这些模组中的任何一个,我们重复的 NBT 复制补丁和区块优先级补丁会自动禁用。
- ThreadTweak, FastNoise, FerriteCore: 没有重叠的方法,开箱即用,效果良好。
安装前请注意!
备份你的世界。 上游 C2ME 仍是 alpha 级技术,任何重写区块保存的模组都值得你先备份一下以防万一。
配置
配置文件在首次启动时生成于 config/fastchunkgen.toml。每个选项都有独立的开关,默认值设置为字符串 "default"。将其替换为实际值以进行覆盖。
高风险选项默认关闭:
ioSystem.gcFreeChunkSerializer- 无分配的区块写入器,但无法触发ChunkDataEvent.Save事件。启用后,模组会丢失每个区块的数据。ioSystem.recoverFromErrors- 自动重新生成损坏的区块而不是崩溃,但会摧毁那里的任何建筑。fixes.enforceSafeWorldRandomAccess- 对不安全的线程外世界随机访问进行硬崩溃,而不是仅仅记录警告。适用于查找有问题的世界生成模组。
致谢
C2ME 由 RelativityMC 和 ishland 开发(MIT 许可证)。Forge 移植基础来自 sj-hub9796/c2meF。均使用 MIT 许可证。
嗯……这是我最后一个归档项目了。自由的感觉真好.. ^_^
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。