LagReducer

一个能帮助服务器防止卡顿的插件。

资源图片
LagReducer — 动态距离、安全清理和智能实体上限,适用于 Paper 1.21.8 在不破坏游戏体验的前提下,保持高 TPS。LagReducer 会动态降低玩家的视野/模拟距离,仅在他们高速移动时才会降低。它还会定期安全清理杂物,并对每个区块的实体数量进行上限控制,并采用精确且可配置的规则。 为什么要使用 LagReducer? - 流畅的性能:仅在需要时( elytra/飞行/车辆/高速时)减少客户端/服务器负载。 - 安全清理:可配置的警告、黑名单和名称豁免保护贵重物品和宠物。 - 在需要的地方进行硬性限制:按区块总数、类别和每类型限制,并使用限制器黑名单。 特性 - 动态距离(每个玩家) - 在以下情况下降低视野和模拟距离:飞行、滑翔、在车辆中或超过速度阈值(方块/秒)。 - 在速度降低后自动恢复距离(具有迟滞和最小切换延迟)。 - 提供一个权限绕过,供工作人员/测试人员使用。 - 清理物品和实体 - 自动定时清理,并广播警告(可自定义时间)。 - 类别切换:物品、生物、经验球、投掷物、杂项。 - 物品材料和实体类型的黑名单。 - 可选的“豁免命名实体”以保护宠物和命名生物。 - 实体限制器(每个区块) - 总数、物品、生物、怪物、动物、环境 的限制。 - 每个实体类型的限制(例如:僵尸:12)。 - 限制器黑名单:完全忽略某些类型(不计数且从不取消它们)。 - 忽略选定的生成原因(例如:自定义、命令、生成蛋)。 - 调试日志记录选项。 命令 - /lagreducer reload — 重新加载配置并重启功能 - /lagreducer clear — 立即运行清理 - /lagreducer status — 显示功能切换和清理间隔 别名:/lr 权限 - lagreducer.admin — 使用重新加载/状态和管理员功能 - lagreducer.clear — 允许手动清理命令 - lagreducer.bypass.distance — 使玩家免受动态距离更改的影响 配置一览 - 动态距离调整: - sampleTicks, speedThresholdBps, restoreHysteresisFactor, minSwitchMillis - fastViewDistance, fastSimulationDistance, consider: flying/gliding/vehicles - 清理安全: - warnAtSeconds, exemptNamedEntities - entityBlacklist, itemBlacklist - 实体限制器控制: - perChunk: total/items/living/monsters/animals/ambient (将值设置为 -1 以禁用限制) - perType: 每个实体类型的限制 - blacklist: 限制器完全忽略的类型 - ignoreSpawnReasons, debug 示例配置片段 ```yaml dynamicDistance: enabled: true sampleTicks: 10 speedThresholdBps: 12.0 restoreHysteresisFactor: 0.7 minSwitchMillis: 1500 fastViewDistance: 6 fastSimulationDistance: 4 consider: { flying: true, gliding: true, vehicles: true } clearer: enabled: true intervalSeconds: 600 warnAtSeconds: [60, 30, 10, 5, 3, 2, 1] exemptNamedEntities: true categories: { items: true, living: true, xpOrbs: true, projectiles: false, misc: false } entityBlacklist: [ARMOR_STAND, ITEM_FRAME, PAINTING] itemBlacklist: [NETHER_STAR, DRAGON_EGG, SHULKER_BOX] entityLimiter: enabled: true blacklist: [ARMOR_STAND, ITEM_FRAME, PAINTING] perChunk: total: 150 items: 80 living: 100 monsters: 60 animals: 60 ambient: 20 perType: { ZOMBIE: 12 } ignoreSpawnReasons: [CUSTOM, SPAWNER_EGG, COMMAND] debug: false ``` 兼容性和要求 - 服务器:Paper 1.21.5+ (以及兼容的分支) - Java:21 - 无 NMS,仅 API;在小范围补丁中安全。 - 没有外部依赖。 安装 - 将 LagReducer.jar 放入 plugins/ - 启动服务器以生成配置 - 编辑 plugins/LagReducer/config.yml - 使用 /lagreducer reload 应用更改 注意事项 - 将任何限制器值设置为 -1 以禁用该特定的限制。 - 黑名单保护实体/物品免于清理或限制。 - 与大多数优化插件兼容;避免同时运行多个“清理滞后”插件,以防止冲突。