DeerFolia · 实体节流配置
设置 kaiiju-entity-throttling.yml 的实体上限和移除阈值。
文件控制什么
Kaiiju 实体节流器读取 config/kaiiju-entity-throttling.yml。文件按每个 Folia 区域中的实体数量,为指定类型设定正常更新上限和移除阈值:
- 少于或等于
limit的实体保持正常的每 tick 更新; - 超过
limit的实体仍然存在,但部分更新会被跳过; - 超过
removal后,实体会逐步移除; - 没有出现在文件中的实体类型不受此文件限制。
数量按区域计算,不是所有世界的服务器总数。Folia 区域会随玩家和区块活动变化。此文件不是全局刷怪上限。
默认写法
首次启用功能时,核心会写入类似以下内容:
ZombifiedPiglin:
limit: 1000
removal: 3000
Axolotl:
limit: 1000
removal: 3000
每种实体都由一个同名区段组成。使用核心启动日志中列出的实体名称。例如:ZombifiedPiglin、Axolotl、Villager、IronGolem、Item 和 ExperienceOrb。名称必须保持日志中的大小写。不要添加 Minecraft 命名空间、下划线或 Entity 后缀。
字段详解
| 字段 | 要求 | 说明 |
|---|---|---|
| limit | 至少为 1 | 该实体类型在一个区域内保持每 tick 更新的数量上限。 |
| removal | -1 或大于 limit | 超过该数量后启动逐步移除。-1 表示不按此阈值移除,但仍可节流。 |
如果 removal 小于或等于 limit,且不是 -1,启动时会记录错误,并将它改为 limit * 10。请直接设置有效值,不要依赖这个修正。
如何为刷怪场调优
实体节流会影响实体 AI、移动、拾取、繁殖、攻击和掉落。按单个用途调优:
- 只为会造成目标区域压力的实体类型添加条目。
- 将
limit设为测试区域正常运行所需的数量。 - 将
removal设为明显高于limit的值,为短时峰值留出空间。 - 观察 10–20 分钟的实体数量、CPU、TPS 和农场产出。
- 发现行为异常时,移除对应条目或关闭总开关。
不要为了降低 CPU 而给 Villager、Item、Player 或所有实体设置极低的 limit。交易所、物品分类机、刷怪场和玩家交互会让正常服务器看起来像区域过载。
错误与回滚
- 核心会记录并跳过未知实体名称。
- 核心会忽略小于 1 的 limit。
- YAML 语法错误会阻止配置正常加载。
- 每次修改后都要完整重启服务器。
- 回滚时恢复整个文件并重启。不要只删除报错行后继续使用未知状态。
如果不确定是否应该限制某个实体,请先在 deer-folia.yml 中将 kaiiju-entity-throttling 设为 false。确认问题是否消失。然后一次恢复一个经过测试的条目。