封禁系统
EMC 高级登录包含两套封禁系统:联合封禁和本地封禁。
联合封禁
联合封禁由 EMC 中央 QQ 用户数据库统一管理,所有接入服务器共享封禁数据。
工作流程
- 玩家完成 QQ 授权后,插件自动调用 API 检查封禁状态
- 如果玩家被联合封禁,显示封禁原因和期限,然后踢出服务器
- 联合封禁的管理通过 EMC 中央管理后台进行,插件端不提供管理命令
踢出信息示例
您已被联合封禁!
原因: 违规操作
期限: 永久封禁
如有异议请联系管理员
本地封禁
本地封禁由各服务器独立管理,数据存储在 plugins/EMC-AdvancedLogin/bans.yml 中。
GUI 封禁菜单
管理员执行 /emclogin ban 打开封禁管理界面:
- 主菜单 — 显示所有在线玩家的头颅,附带 QQ ID 和昵称信息
- 确认菜单 — 选择封禁类型:
- 红色羊毛 — 永久封禁
- 橙色羊毛 — 封禁 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 # 封禁时间戳
封禁检查顺序
登录时的封禁检查按以下顺序执行:
- 联合封禁 — 优先检查中央数据库
- 本地封禁 — 联合封禁未命中后检查本地记录
任一命中即踢出玩家,不会继续后续检查。