服务器使用量
未统计
服务玩家数
未统计
下载量
43,030
插件详细介绍
关于此插件
请注意: 请考虑使用 FarmControl 替代 SAML。SAML 未来很可能不再获得支持。
Simple Anti-Mob Lag (SAML) 是一个旨在通过削弱或冻结特定群组中的生物来减少服务器性能损耗的插件,其设计目标是在不影响游戏玩法的情况下防止或缓解因生物导致的 TPS 下降。
核心机制
冻结与削弱
- 冻结生物:被冻结的生物将完全失去 AI。它们不会移动、不受重力影响、不会被水流推动,并且无法执行许多实体特定功能(例如绵羊重新长出羊毛)。
- 削弱生物:被削弱的生物只会失去部分可配置的寻路目标,而保留其他目标。默认情况下,插件会被动削弱所有动物农场中的生物,主要是移除它们的“随机漫步”寻路目标,从而阻止动物在农场内无意义地走动和相互碰撞,这可以显著降低它们对服务器性能的影响。
运行模式
- 被动任务:默认启用,会持续运行并根据配置被动削弱或冻结生物(例如削弱动物农场)。
- TPS 任务:默认启用,当服务器 TPS 低于设定阈值(默认为 18.5)时,会开始冻结大型生物群组;当 TPS 回升并稳定在较高阈值(默认为 19.5)以上时,会逐步解冻生物。所有参数均可配置。
安装与配置
安装
安装非常简单
- 将 JAR 文件放入服务器的
plugins文件夹。 - 重启或重载服务器。
- 插件将在插件目录中生成
SAML文件夹及其配置文件。
配置文件概览
主要配置文件为 config.yml,包含大量可调选项。以下是一些关键部分:
功能开关
use-advanced-config:是否生成包含更多选项的高级配置文件。enable-passive-freeze-task:是否启用被动冻结/削弱任务。enable-tps-freeze-task:是否启用基于 TPS 的冻结任务。
被动冻结参数
passive-nerf-groups:指定被动任务中应被削弱的生物群组(例如- animal_farm)。passive-do-cleanup:是否清理那些不再符合群组条件的、曾被被动处理的生物。
TPS 冻结参数
tps-freeze-groups:指定 TPS 任务中应被冻结的生物群组(例如- default_group,- lag_causers)。tps-freezing-threshold:触发冻结的 TPS 阈值(默认 18.5)。tps-unfreezing-threshold:开始解冻的 TPS 阈值(默认 19.5)。tps-unfreeze-confidence-range:解冻所需的 TPS 稳定度(标准偏差范围,建议 1-5)。
默认群组设置
定义何为“一群”生物
group-minimum-size:构成一个群组所需的最小生物数量(默认 10)。group-maximum-radius:生物被视为同一群组的最大半径(默认 8.0)。group-require-same-type:群组是否要求生物类型相同。group-use-smart-scaling:是否根据服务器卡顿程度智能调整群组判定范围。
兼容性设置
ignore-metadata:忽略带有特定元数据的实体(例如来自其他插件的 NPC、精英怪等)。ignore-world:永远不会在这些世界运行冻结任务。only-unfreeze-tagged:是否只解冻被 SAML 标记过的生物(建议在使用其他会冻结生物的插件时保持为true)。
游戏性设置
prevent-targeting-frozen:阻止生物以被冻结的生物为目标。unfreeze-on-interact:玩家交互时是否解冻生物。ignore-tamed:是否永不冻结已驯服的生物。ignore-named:是否永不冻结被命名牌命名的生物。never-freeze:指定永不冻结的生物类型列表(例如- PILLAGER,- EVOKER)。
命令与权限
命令
/saml- 基础命令,显示插件版本。/saml reload- 重载插件的配置文件。/saml stats- 显示服务器及各世界中被冻结生物的总数。
权限
saml.saml- 授予使用/saml命令的权限。saml.notify- 当冻结操作开始和结束时(如果在配置中启用),拥有此权限的玩家会收到通知。
兼容性与要求
支持的版本与要求
- Minecraft 版本:支持 1.9 至 1.14。不支持 1.8,因为其依赖的核心 API 在 1.8 中不存在。
- Java:需要 Java 8 或更高版本。
- 功能限制:在 1.13 以下版本中,
ignore-love-mode和use-paper-get-chunk-async配置选项不可用。
关于 1.14 村民
如果你使用 1.14.2+ 版本,可以尝试搭配使用 Villager Optimiser 插件。它可以通过强制村民减少寻路操作频率来大幅提升性能。如果你的 timings 报告中 tickEntity 读数很高,不妨一试。
重要注意事项
- 缓存与卸载:如果禁用
unfreeze-on-unload和unfreeze-on-shutdown,被冻结的实体会被保存到世界中。如果此时卸载插件,这些实体将保持冻结状态。 - 建议:如果你打算未来卸载插件,建议将配置中的
keep-frozen-chunk-cache选项设为true,以便于后续解冻所有生物。 - 数据统计:本插件使用 bStats 收集匿名的服务器使用数据。你可以在
plugins/bStats/config.yml中选择退出。
计划功能
- 自定义群组:更精细地控制应被冻结的生物(例如铁农场村民、鸡农场、末影人刷怪塔等)。
- 异步实体分组。
- 通过命令执行冻结操作,并提供多种选项。
- 被动冻结:可选择始终冻结某些群组或类型的生物,即使 TPS 不低。
- “软”冻结选项:不禁用某些功能(例如绵羊吃草)。
- 更灵敏的 TPS 设置,防止生物在冻结与解冻间频繁“乒乓”切换。
- 更多减少对游戏玩法影响的选项。
欢迎在讨论帖中留下任何建议。
测试支持版本
版本分布
基本信息
插件名称
Simple Anti-Mob Lag
作者
froobynooby
平台
Bukkit / Spigot
支持版本
1.9 - 1.16
点赞数
25
最近版本
暂无数据
-