跳到主要内容

封禁系统

EMC 高级登录包含两套封禁系统:联合封禁本地封禁

联合封禁

联合封禁由 EMC 中央 QQ 用户数据库统一管理,所有接入服务器共享封禁数据。

工作流程

  1. 玩家完成 QQ 授权后,插件自动调用 API 检查封禁状态
  2. 如果玩家被联合封禁,显示封禁原因和期限,然后踢出服务器
  3. 联合封禁的管理通过 EMC 中央管理后台进行,插件端不提供管理命令

踢出信息示例

您已被联合封禁!
原因: 违规操作
期限: 永久封禁

如有异议请联系管理员

本地封禁

本地封禁由各服务器独立管理,数据存储在 plugins/EMC-AdvancedLogin/bans.yml 中。

GUI 封禁菜单

管理员执行 /emclogin ban 打开封禁管理界面:

  1. 主菜单 — 显示所有在线玩家的头颅,附带 QQ ID 和昵称信息
  2. 确认菜单 — 选择封禁类型:
    • 红色羊毛 — 永久封禁
    • 橙色羊毛 — 封禁 7 天
    • 绿色羊毛 — 取消操作

封禁执行

封禁生效后:

  • 被封禁的玩家立即被踢出服务器
  • 封禁记录保存到 bans.yml
  • 下次该 QQ ID 的玩家登录时会在封禁检查阶段被拦截

解封操作

/emclogin unban <QQ唯一ID>

从本地封禁列表中移除指定 QQ ID。

自动过期

临时封禁会在到期后自动失效,玩家下次登录时插件检测到过期会自动清理记录。

bans.yml 数据格式

bans:
"QQ唯一ID":
reason: "管理员封禁"
expires: 1234567890000 # 过期时间戳(毫秒),0 表示永久
banned_by: "管理员游戏名"
banned_at: 1234567890000 # 封禁时间戳

封禁检查顺序

登录时的封禁检查按以下顺序执行:

  1. 联合封禁 — 优先检查中央数据库
  2. 本地封禁 — 联合封禁未命中后检查本地记录

任一命中即踢出玩家,不会继续后续检查。