基本信息
我的世界Java版本
平台
运行环境
分类

其他链接
详情信息
Qiu's Optimization
轻量级 Minecraft Forge 模组优化器 —— 为 1.20.1 服务器降本增效
📖 简介
Qiu's Optimization 是一个专为 Minecraft Forge 1.20.1 服务器设计的性能优化模组。通过 批处理缓存、AI 降频 和 TPS 动态调节 三大核心机制,显著降低世界内置服务器的 CPU 负载,让响应更流畅。
无需任何依赖,开箱即用,全自动运行。
✨ 特性
-
🔄 TileEntity 批处理
缓存所有模组方块实体,每 1 秒统一处理一次,替代原版每 Tick 遍历,遍历次数减少 20 倍。 -
🧠 实体 AI 智能降频
距离玩家 32 格外的生物,AI 更新频率从 0.05 秒/次降至 2 秒/次,CPU 负载降低 70%。 -
📉 TPS 动态降级
当服务器 TPS 低于 18 时,自动降低处理频率,防止彻底卡死。 -
⚙️ 全配置化
所有参数可在.minecraft/config/qiusoptimization-common.toml中自由调节。 -
🪶 轻量无侵入
仅 1 个 Java 文件,不修改原版核心逻辑,兼容绝大多数模组。
📦 安装
- 下载最新发布的
qiusoptimization-{version}.jar - 放入
.minecraft/mods/目录 - 启动游戏或服务器(Forge 47.4.4+)
⚙️ 配置说明(1.0.1)
配置文件位于:.minecraft/config/qiusoptimization-common.toml
通用设置
[general]
# 是否在日志中打印泥土方块注册名
logDirtBlock = true
# 魔法数字(示例配置)
magicNumber = 42
# 魔法数字介绍文字
magicNumberIntroduction = "The magic number is: "
# 示例物品列表
items = ["item1", "item2"]
性能优化设置
[optimization]
# TileEntity 缓存重建间隔(Tick),默认 20(1 秒),范围 5~200
tileUpdateInterval = 20
# 远距离实体 AI 更新间隔(Tick),默认 40(2 秒),范围 10~200
entityAIInterval = 40
# TPS 降级阈值,低于此值启动保护模式,范围 10.0~20.0
tpsThreshold = 18.0
# 是否启用实体 AI 优化(远距离实体更新频率降低)
enableEntityOptimization = true
# 是否启用 TileEntity 批处理优化
enableTileOptimization = true
# 是否启用 TPS 动态降级(服务器卡顿时自动降低处理频率)
enableTPSDowngrade = true
掉落物合并设置
[item_merge]
# 是否启用掉落物合并
enableItemMerge = true
# 合并检测半径(格),范围 1~10
itemMergeRadius = 3
# 每区块最大掉落物数量,超过上限会删除多余的,范围 10~200
maxItemsPerChunk = 50
# 掉落物合并检测间隔(Tick),范围 10~100
itemMergeCheckInterval = 20
区块错峰保存设置
[chunk_saving]
# 是否启用错峰保存(将一次性保存分散到多个 Tick 执行)
enableStaggeredSaving = true
# 每批保存的区块数量,范围 1~50
chunksPerSave = 10
# 保存间隔(Tick),范围 20~200
saveInterval = 100
配置参数速查表
配置项 默认值 说明 tileUpdateInterval 20 TileEntity 缓存重建间隔,越大 CPU 占用越低,但 TileEntity 响应越慢 entityAIInterval 40 远距离实体 AI 更新间隔,越大 CPU 占用越低,远处生物越迟钝 tpsThreshold 18.0 TPS 降级阈值,低于此值自动降低处理频率 enableEntityOptimization true 关闭后实体 AI 恢复原版行为 enableTileOptimization true 关闭后 TileEntity 恢复原版行为 enableTPSDowngrade true 关闭后 TPS 降级保护失效 enableItemMerge true 关闭后掉落物不再自动合并 itemMergeRadius 3 合并检测半径,越大合并效率越高但开销也略大 maxItemsPerChunk 50 每区块掉落物上限,超过后删除最早生成的 itemMergeCheckInterval 20 检测间隔,越大 CPU 占用越低,但掉落物堆积时间越长 enableStaggeredSaving true 关闭后区块保存恢复原版一次性保存机制 chunksPerSave 10 每次保存的区块数量,越大保存越快但单次卡顿时间越长 saveInterval 100 保存间隔,越大保存频率越低
修改配置后
修改配置文件后需要重启服务器才能生效。
💡 提示:调整 chunksPerSave 和 saveInterval 可以平衡保存速度和卡顿程度。服务器性能较好时可适当增大 chunksPerSave 加快保存速度。
⚙️ 配置说明(1.0.1fix)
配置文件位于:.minecraft/config/qiusoptimization-common.toml
通用设置
[general] # 是否在日志中打印泥土方块注册名 logDirtBlock = true # 魔法数字(示例配置) magicNumber = 42 # 魔法数字介绍文字 magicNumberIntroduction = "The magic number is: " # 示例物品列表 items = ["item1", "item2"]
性能优化设置
[optimization] # TileEntity 缓存重建间隔(Tick) # 默认: 20 (1秒) 范围: 5 ~ 200 tileUpdateInterval = 20
# TPS 降级阈值,低于此值启动保护模式
# 默认: 16.0 范围: 10.0 ~ 20.0
tpsThreshold = 16.0
# 是否启用 TileEntity 批处理优化
enableTileOptimization = true
# 是否启用 TPS 动态降级
enableTPSDowngrade = true
实体优化设置
[entity] # 实体优化模式 # BOOST - 加速模式:分配更多CPU给实体(推荐) # REDUCE - 降频模式:节省CPU以提升帧率 # PRESERVE - 保持原版:不做任何实体优化 entityMode = "BOOST"
# 近距离范围(格),此距离内实体完全保持原版更新频率
# 默认: 16 范围: 4 ~ 64
nearDistance = 16
# 中距离范围(格),此距离内实体轻微降频
# 默认: 32 范围: 8 ~ 128
midDistance = 32
# 远距离实体AI更新间隔(Tick)
# 默认: 10 (0.5秒) 范围: 1 ~ 40
farInterval = 10
# 额外实体更新间隔(Tick),0表示禁用
# 默认: 4 (0.2秒) 范围: 0 ~ 20
extraTickInterval = 4
# 每Tick额外更新的实体数量上限
# 默认: 20 范围: 1 ~ 100
maxExtraEntityTicks = 20
掉落物合并设置
[item_merge] # 是否启用掉落物合并 enableItemMerge = true
# 合并检测半径(格)
# 默认: 3 范围: 1 ~ 10
itemMergeRadius = 3
# 每区块最大掉落物数量,超过上限会删除多余的
# 默认: 50 范围: 10 ~ 200
maxItemsPerChunk = 50
# 掉落物合并检测间隔(Tick)
# 默认: 40 (2秒) 范围: 10 ~ 100
itemMergeCheckInterval = 40
区块错峰保存设置
[chunk_saving] # 是否启用错峰保存(将一次性保存分散到多个Tick执行) enableStaggeredSaving = true
# 每批保存的区块数量
# 默认: 5 范围: 1 ~ 50
chunksPerSave = 5
# 保存间隔(Tick)
# 默认: 200 (10秒) 范围: 20 ~ 400
saveInterval = 200
配置参数速查表
| 配置项 | 默认值 | 说明 |
|---|---|---|
| tileUpdateInterval | 20 | TileEntity缓存重建间隔,越大CPU占用越低 |
| tpsThreshold | 16.0 | TPS降级阈值,低于此值自动降低处理频率 |
| enableTileOptimization | true | 关闭后TileEntity恢复原版行为 |
| enableTPSDowngrade | true | 关闭后TPS降级保护失效 |
| entityMode | BOOST | 实体优化模式:BOOST/REDUCE/PRESERVE |
| nearDistance | 16 | 此距离内实体完全原版更新 |
| midDistance | 32 | 此距离内实体轻微降频 |
| farInterval | 10 | 远距离实体AI更新间隔(Tick) |
| extraTickInterval | 4 | 额外实体更新间隔,0=禁用 |
| maxExtraEntityTicks | 20 | 每Tick额外更新的实体数量上限 |
| enableItemMerge | true | 关闭后掉落物不再自动合并 |
| itemMergeRadius | 3 | 合并检测半径,越大合并效率越高 |
| maxItemsPerChunk | 50 | 每区块掉落物上限 |
| itemMergeCheckInterval | 40 | 掉落物检测间隔 |
| enableStaggeredSaving | true | 关闭后区块保存恢复原版机制 |
| chunksPerSave | 5 | 每次保存的区块数量 |
| saveInterval | 200 | 保存间隔(Tick) |
三种实体模式选择
| 模式 | 说明 | 推荐场景 |
|---|---|---|
| BOOST | 加速模式:节省的CPU分配给实体,实体更流畅 | 性能较好的设备(推荐) |
| REDUCE | 降频模式:降低远处实体更新频率,节省CPU | 低配设备,帧率优先 |
| PRESERVE | 保持原版:不做任何实体优化 | 测试对照 |
修改配置后
修改配置文件后需要重启服务器才能生效。
性能调优建议
高配设备(追求实体流畅度):
- entityMode = "BOOST"
- extraTickInterval = 2
- maxExtraEntityTicks = 30
低配设备(追求帧率):
- entityMode = "REDUCE"
- farInterval = 15
- tileUpdateInterval = 30
平衡配置(推荐):
- entityMode = "BOOST"
- extraTickInterval = 4
- maxExtraEntityTicks = 20
- tileUpdateInterval = 20
🔧 技术细节
| 优化项 | 原版机制 | 优化后 |
|---|---|---|
| TileEntity 遍历 | 每 Tick 全量扫描 | 每 20 Tick 缓存 + 批量处理 |
| 实体 AI 更新 | 所有实体每 Tick 运算 | 近处 10 Tick/次,远处 40 Tick/次 |
| TPS 保护 | 无 | 低于阈值自动降频至 5 Tick/次 |
🚀 性能测试(参考)
在含 50+ 模组的整合包中测试(Alex's Mobs、Biomes O' Plenty、Spore 等):
| 指标 | 优化前 | 优化后 | 提升 |
|---|---|---|---|
| 平均 TPS | 17.2 | 19.8 | +15% |
| 实体 Tick 耗时 | 3.2ms | 0.9ms | -72% |
| 区块加载耗时 | 4.1ms | 2.3ms | -44% |
🤝 兼容性
兼容:
- Forge 47.4.4+ (1.20.1)
- 绝大多数 Forge 模组
不兼容/需注意:
- OptiFine:现代版本 OptiFine 与 Forge Mixin 系统存在冲突。建议使用 Rubidium + Oculus 替代。
- ModernFix:部分优化与 OptiFine 冲突,如同时使用请禁用
release_protochunks等 Mixin。
📝 命令
游戏内无专用命令,优化全自动运行。可通过游戏日志查看启动状态:
[QiusOptimization] 优化引擎已激活! (Tile批处理+AI降频)
[QiusOptimization] 当前配置: Tile间隔=20t, AI间隔=40t, TPS阈值=18.0
🛠️ 开发与构建
# 克隆仓库
git clone https://github.com/qym1421/qiusoptimization.git
# 构建
./gradlew build
# 输出位于 build/libs/
📄 许可证
本项目采用 MIT License,可自由使用、修改、分发。
🙏 致谢
- Minecraft Forge
- 感谢所有测试玩家提供的反馈
📬 反馈与建议
- Issue 提交:GitHub Issues
⚠️ 免责声明
本模组通过缓存与降频优化性能,不会影响游戏核心玩法机制。部分实体行为(如 AI 响应速度)在远距离时可能略有延迟,属正常优化效果。
Made with ❤️ by QiuYM


