公平用量
文档/easier-building/公平用量

公平用量

公平用量计划的额度统计、超额暂停与 BossBar 显示。

公平用量是什么

公平用量(Fair-use quota)是管理员可以选开的用量限制系统:为不同权限组配置额度计划,统计每个玩家在一段时间内通过 EasierBuilding 处理的方块数量,超出额度自动暂停任务,防止个别玩家一次搬空整个服务器。

公平用量默认关闭。启用后才会检查、扣除用量并显示额度 BossBar,详见管理员手册:配置文件

双窗口统计

每个额度计划包含两个独立窗口,任意一个耗尽都会暂停任务:

窗口默认值含义
滚动窗口(短窗)300 分钟 / 5000 方块滚动计时的近期用量
周期窗口(长窗)168 小时 / 50000 方块跨天 / 跨周的长期用量
  • 每个方块操作在两个窗口同时扣除 1;
  • 窗口到期自动清零并重新计时(从玩家首次使用后才开始计算);
  • 配额可配置为 -1 表示该级别不限制;
  • 任务暂停时会回补已扣除的额度,不会重复扣。

计划如何匹配玩家

  • 一个服务器可以配置多个计划quota-plan 列表);
  • 每个计划绑定一个权限组(如 group.default,通常来自 LuckPerms);
  • 玩家拥有多个权限组的权限时,取 weight 最高的计划
  • 公平用量启用但玩家没有匹配的计划时,其操作会被直接拒绝。

玩家视角

  • 开启公平用量后,编辑模式下会显示两条额度 BossBar:短窗(蓝色)周期(紫色),进度 = 剩余 / 配额,耗尽变红;
  • 额度耗尽时任务以「额度不足」原因暂停,不会失败;
  • 额度刷新后,到 /eb → 任务菜单点「继续任务」即可恢复;
  • 不希望在编辑时看到额度条,可在个人设置中关闭 Quota BossBar(仅影响显示,不影响统计)。

管理员配置要点

config.ymlfair-use-quota 分类中:

fair-use-quota:
  enabled: false          # 总开关
  quota-plan:
    - name: Default
      permission-group: group.default
      weight: 0
      roolling-window-minute: 300
      roolling-window-quota: 5000
      period-limit-hour: 168
      period-limit-quota: 50000
      max-clipboard-count: 10
      max-persistent-clipboard-count: 5
      max-material-backpack-stack: 64000
  • roolling-window-minute 必须小于 period-limit-hour 换算后的分钟数;
  • 两个窗口都有限制时,滚动配额应小于周期配额;
  • max-clipboard-countmax-persistent-clipboard-count 控制命中该方案的玩家剪贴板上限;
  • max-material-backpack-stack 控制命中该方案的玩家每种材料在材料背包中的最大数量,默认 64000;降低上限不会删除已保存的超限材料,只会禁止继续存入;
  • 即使 fair-use-quota.enabled 关闭,材料背包仍会使用该堆叠上限;
  • 修改计划后执行 /eb reload 生效(已保存的用量记录不受影响)。

常见问题

额度耗尽后要等多久才能恢复?

取决于对应窗口的刷新周期。短窗额度每 roolling-window-minute 滚动清零一次,长窗每 period-limit-hour 清零一次,先到先恢复。

玩家离线期间额度会累计吗?

窗口按自然时间滚动,与在线状态无关。离线不会暂停计时,也不会额外扣除。

用量数据存在哪里?

记录保存在 plugins/EasierBuilding/player-data/ 下的玩家档案中,与模式、变体等个人偏好同文件保存。