跳到主要内容

处罚系统

EMC 安全中心采用违规积分制,每次检测触发累加积分,积分超限后自动处罚。

违规积分

积分累加

每次检测模块调用 flag() 方法时,会向玩家的对应模块添加违规积分。积分金额由各检测模块根据行为严重程度自行决定。

积分衰减

插件每 30 秒执行一次异步衰减任务,逐步减少玩家的违规积分。这确保了:

  • 偶发误判不会永久累积
  • 玩家正常游戏一段时间后积分会自然归零
  • 只有持续作弊的玩家才会触发处罚

积分上限

每个检测模块都有独立的 max-violations 配置。当某个模块的违规积分达到上限时,自动执行处罚命令。

威胁等级

根据玩家的总违规积分自动评估威胁等级:

等级说明
安全无违规或极少违规积分
可疑存在一定违规积分,需关注
危险违规积分较高,可能在使用作弊
严重违规积分极高,强烈建议处理

管理员可通过 /ac info <玩家> 查看威胁等级。

自动处罚

当违规积分达到模块上限时,插件自动执行处罚命令。默认处罚命令为:

kick %player% [EMC安全中心] 检测到异常行为: %check%

可用变量:

  • %player% — 玩家名称
  • %check% — 触发的检测模块名称

实时告警

拥有 emc.anticheat.alerts 权限的管理员会实时收到检测告警消息,包含:

  • 触发的玩家名称
  • 检测模块名称和中文描述
  • 当前违规积分
  • 检测详细信息

告警消息受 alert-cooldown 配置控制,防止同一检测项短时间内刷屏。

豁免系统

手动豁免

管理员可通过 /ac exempt <玩家> 手动豁免指定玩家,豁免后所有检测模块对该玩家不生效。

权限豁免

拥有 emc.anticheat.bypass 权限的玩家自动跳过所有检测。

条件豁免

插件内部的 ExemptManager 还会根据玩家当前状态自动豁免,例如:

  • 创造模式玩家
  • 刚加入服务器的短暂保护期
  • 其他特殊状态