Minecraft 服务器玩家账号与 QQ 号绑定插件,通过 Web 界面完成注册和绑定流程。
- Web 界面注册,QQ 号作为唯一标识
- 邮箱验证码验证(自动生成 QQ@qq.com 邮箱)
- QQ 群成员验证(通过 NapCat WebSocket API)
- 游戏内验证码确认玩家身份
- 支持同一 QQ 绑定多个游戏账号(可配置上限)
- Cloudflare Turnstile 人机验证
- 深蓝色主题,支持明暗模式切换
- SQLite 数据库存储,PreparedStatement 缓存优化
- Minecraft 1.21+
- Java 21+
- NapCat QQ 机器人(用于群成员验证)
- 将插件 JAR 文件放入服务器的
plugins目录 - 启动服务器,插件会自动生成配置文件
- 编辑
plugins/QQBindPlugin/config.yml配置文件 - 重启服务器或使用
/qqbind reload重载配置
# Web 服务器端口
web-port: 8080
# NapCat WebSocket 地址
napcat-url: ws://127.0.0.1:3001
# 需要验证的 QQ 群号
group-ids:
- 123456789
- 987654321
# 每个 QQ 最大绑定账号数
max-bindings-per-account: 1
# SMTP 邮件配置
smtp:
host: smtp.qq.com
port: 587
username: your-email@qq.com
password: your-smtp-password
# Cloudflare Turnstile 配置
turnstile:
sitekey: your-sitekey
secret: your-secret- 玩家访问 Web 注册页面
- 输入 QQ 号,点击发送验证码
- 系统验证 QQ 是否在指定群内
- 弹出 Turnstile 人机验证
- 验证通过后发送验证码到 QQ 邮箱
- 玩家输入验证码完成注册
- 玩家进入 Minecraft 服务器
- 因未绑定被踢出,同时获得验证码
- 登录 Web 绑定页面
- 输入验证码完成绑定
- 自动设置群名片为游戏用户名
| 指令 | 描述 | 权限 |
|---|---|---|
/qqbind reload |
重载配置文件 | qqbind.admin |
/qqbind unbind <玩家> |
解除玩家绑定 | qqbind.admin |
/qqbind list |
列出所有绑定 | qqbind.admin |
插件使用两个 SQLite 数据库文件:
webusers.db- Web 用户账号binds.db- 玩家绑定数据
插件提供 API 供其他插件调用:
// 获取玩家的 QQ 号
Long qq = plugin.getDataManager().getQQ("playerName");
// 获取 QQ 绑定的所有玩家
List<String> players = plugin.getDataManager().getPlayersByQQ(123456789L);
// 检查玩家是否已绑定
boolean bound = plugin.getDataManager().isPlayerBound("playerName");./gradlew build生成的 JAR 文件位于 build/libs/ 目录。
MIT License