处罚系统
EMC 安全中心采用违规积分制,每次检测触发累加积分,积分超限后自动处罚。
违规积分
积分累加
每次检测模块调用 flag() 方法时,会向玩家的对应模块添加违规积分。积分金额由各检测模块根据行为严重程度自行决定。
积分衰减
插件每 30 秒执行一次异步衰减任务,逐步减少玩家的违规积分。这确保了:
- 偶发误判不会永久累积
- 玩家正常游戏一段时间后积分会自然归零
- 只有持续作弊的玩家才会触发处罚
积分上限
每个检测模块都有独立的 max-violations 配置。当某个模块的违规积分达到上限时,自动执行处罚命令。
威胁等级
根据玩家的总违规积分自动评估威胁等级:
| 等级 | 说明 |
|---|---|
| 安全 | 无违规或极少违规积分 |
| 可疑 | 存在一定违规积分,需关注 |
| 危险 | 违规积分较高,可能在使用作弊 |
| 严重 | 违规积分极高,强烈建议处理 |
管理员可通过 /ac info <玩家> 查看威胁等级。
自动处罚
当违规积分达到模块上限时,插件自动执行处罚命令。默认处罚命令为:
kick %player% [EMC安全中心] 检测到异常行为: %check%
可用变量:
%player%— 玩家名称%check%— 触发的检测模块名称
实时告警
拥有 emc.anticheat.alerts 权限的管理员会实时收到检测告警消息,包含:
- 触发的玩家名称
- 检测模块名称和中文描述
- 当前违规积分
- 检测详细信息
告警消息受 alert-cooldown 配置控制,防止同一检测项短时间内刷屏。
豁免系统
手动豁免
管理员可通过 /ac exempt <玩家> 手动豁免指定玩家,豁免后所有检测模块对该玩家不生效。
权限豁免
拥有 emc.anticheat.bypass 权限的玩家自动跳过所有检测。
条件豁免
插件内部的 ExemptManager 还会根据玩家当前状态自动豁免,例如:
- 创造模式玩家
- 刚加入服务器的短暂保护期
- 其他特殊状态