SFM优化器

SFM优化器

适用于超级工厂管理器(SFM)的服务器友好型性能增强插件:将缓慢的轮询调度转换为即时数学上均匀的分配,并添加智能休眠/槽位记忆功能。

Super Factory Manager Optimizer(超级工厂管理器优化)

Super Factory Manager (SFM) 的非官方、对服务器友好的附属模组,适用于 SFM 4.34.0+ —— Minecraft 1.20.1,Forge 平台。

你是否正在运营大型 SFM 工厂,并且每次红石脉冲都会引发卡顿?这个模组就是为你准备的。

SFM 是一个强大的物流模组,但在大型布局中,内置的 ROUND ROBIN(轮询)模式可能是服务端卡顿的主要来源。本附属模组彻底重写了该分发方式的执行逻辑——无需更改你的程序、标签、线缆或容器。

功能特性

  1. 轮询 → 即时均分

    原版模式每 tick 只“轮询”一个目标,并反复尝试每一对输入/输出。 现在,物品 / 流体 / 能量 / 气体会在单个 tick 内通过数学方式均分到所有目标(基数 = 总量 ÷ 目标数,余数则分给最靠前的几个目标),因此整个分配过程是即时完成的,不再跨多个 tick 顿挫执行。

  2. 智能休眠与槽位记忆

    已满的目标与已空的源将临时“休眠”一段可配置的冷却时间,这样网络便不会反复检查那些无法移动任何物品的槽位。 网络会记住上一次成功使用的槽位,避免每次都对庞大的库存进行全面重新扫描。

  3. 更快的默认(非轮询)路径

    普通的 OUTPUT 语句保持其原有的贪心行为,但会跳过冗余的模拟插入操作,并减少槽位扫描次数。

未做更改的内容

SFML 程序、语法、管理器 GUI、磁盘、标签——均保持不变。 轮询语义有意地进行了更改:不再是每 tick 分配给一个目标,而是所有目标现在每 tick 都能接收到它们的份额。类似 output 10 to each ... 的配方仍会像以前一样工作;你可能看到机器被填充得更均匀、更快速。 如果你更倾向于原有的行为,可以在服务端配置文件(sfm-optimizer-server.toml)中禁用 enableEvenSplit

配置项(服务端)

enableEvenSplit(默认 true)—— 均分分配功能的总开关。 sleepCooldownTicks(默认 20)—— 满/空槽位休眠多少 tick 后重新检查。 enableSlotMemory(默认 true)—— 记住上次成功的槽位以减少重新扫描。

环境要求与兼容性

  • Minecraft 1.20.1,Forge 47.4+,Super Factory Manager 4.34.0(较旧的 4.x 版本也许可行;已在 4.34.0 版本上测试)。
  • 客户端与服务端均需安装。
  • 基于 GPLv3 许可协议开源。