DeerFolia · 实体节流配置
文档/deerfolia/DeerFolia · 实体节流配置

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

每种实体都由一个同名区段组成。使用核心启动日志中列出的实体名称。例如:ZombifiedPiglinAxolotlVillagerIronGolemItemExperienceOrb。名称必须保持日志中的大小写。不要添加 Minecraft 命名空间、下划线或 Entity 后缀。

字段详解

字段要求说明
limit至少为 1该实体类型在一个区域内保持每 tick 更新的数量上限。
removal-1 或大于 limit超过该数量后启动逐步移除。-1 表示不按此阈值移除,但仍可节流。

如果 removal 小于或等于 limit,且不是 -1,启动时会记录错误,并将它改为 limit * 10。请直接设置有效值,不要依赖这个修正。

如何为刷怪场调优

实体节流会影响实体 AI、移动、拾取、繁殖、攻击和掉落。按单个用途调优:

  1. 只为会造成目标区域压力的实体类型添加条目。
  2. limit 设为测试区域正常运行所需的数量。
  3. removal 设为明显高于 limit 的值,为短时峰值留出空间。
  4. 观察 10–20 分钟的实体数量、CPU、TPS 和农场产出。
  5. 发现行为异常时,移除对应条目或关闭总开关。

不要为了降低 CPU 而给 VillagerItemPlayer 或所有实体设置极低的 limit。交易所、物品分类机、刷怪场和玩家交互会让正常服务器看起来像区域过载。

错误与回滚

  • 核心会记录并跳过未知实体名称。
  • 核心会忽略小于 1 的 limit。
  • YAML 语法错误会阻止配置正常加载。
  • 每次修改后都要完整重启服务器。
  • 回滚时恢复整个文件并重启。不要只删除报错行后继续使用未知状态。

如果不确定是否应该限制某个实体,请先在 deer-folia.yml 中将 kaiiju-entity-throttling 设为 false。确认问题是否消失。然后一次恢复一个经过测试的条目。