- 版权类型
- 原创
- 插件中文名称
- 用QQ认证
- 插件英文名称
- AuthWithQq
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
[MD]
# AuthWithQq
**AuthWithQq** 是一款面向 Paper 服务端的一体化 QQ 认证插件。玩家需绑定 QQ 后才能正常游戏,有效提升服务器安全性与玩家社交联络。
## ✨ 功能概览
* **🔐 安全绑定**:支持验证码绑定、网页一键绑定;支持一 QQ 多账号限制及强制入群校验。
* **🌐 网页服务**:内置 HTTP 服务,提供玩家资料页与管理后台,支持自定义端口。
* **🤖 OneBot v11**:反向 WebSocket 接入,支持在 QQ 群/私聊中执行绑定、解绑、查询等指令。
* **👤 游客模式**:未绑定玩家将被限制移动、交互、跨世界传送,可自定义允许的命令与药水效果。
* **🤖 假人支持**:允许真实玩家绑定多个假人(Bot),支持名称前缀校验。
* **🌍 多语言**:原生支持简体中文、繁体中文及英文。
## 📥 环境要求
| 组件 | 最低要求 | 推荐版本 |
| :--------- | :---------- | :--------------- |
| **Java** | JDK 21+ | JDK 21 |
| **服务端** | Paper 1.20+ | 1.20.5+ / 1.21.x |
## 🚀 安装步骤
1. 从 [Releases](https://github.com/cc_cece/AuthWithQq/releases) 下载最新的 `AuthWithQq-xxx.jar`。
2. 将 JAR 文件放入服务器的 `plugins/` 目录。
3. 重启服务器,插件会自动生成 `plugins/AuthWithQq/` 配置文件及语言文件。
## ⚙️ 配置说明
主配置位于 `plugins/AuthWithQq/config.yml`。
| 配置区块 | 功能说明 |
| :----------- | :----------------------------------------------- |
| `binding` | 验证码位数、绑定上限、假人限制、强制入群等 |
| `whitelist` | 白名单列表、是否允许 OP 跳过验证 |
| `server` | 网页服务开关、端口、API 令牌、对外 URL、语言设置 |
| `onebot` | OneBot 接入配置、WS 端口与令牌、允许的群号 |
| `guest-mode` | 游客权限控制(移动、交互、允许的指令等) |
> **安全建议**:请务必修改 `server.token` 和 `onebot.ws-token` 为复杂的随机密码,切勿使用默认值。
## 📜 命令手册
### 玩家命令
| 命令 | 说明 |
| :------ | :------------------------------------- |
| `/bind` | 获取绑定验证码、绑定假人、查看个人资料 |
### 管理命令 (权限: `authwithqq.admin`)
| 命令 | 说明 |
| :--------------------------- | :---------------------- |
| `/auth reload` | 重载插件配置与语言文件 |
| `/auth csv export/import` | 玩家数据 CSV 导入与导出 |
| `/auth whitelist add/remove` | 管理免验证白名单 |
| `/auth bind <玩家> <QQ>` | 强制手动绑定 |
| `/auth unbind <玩家>` | 解除绑定关系 |
| `/auth bot add/unbind` | 管理假人绑定 |
### OneBot (QQ端指令)
| 命令 | 说明 |
| :----------------- | :---------------------------- |
| `绑定 <验证码>` | 在 QQ 内完成账号激活 |
| `绑定假人 <名称>` | 为当前账号添加假人 |
| `假人列表` | 查看已绑定的假人账号 |
| `登记 <QQ> <MC名>` | (管理员专用) 直接手动录入绑定 |
## 🛠️ 技术栈
* **Paper API 1.21.x**
* **SQLite**:高效存储玩家与绑定关系
* **BCrypt**:保障密码/令牌哈希安全
* **Java-WebSocket**:实现 OneBot v11 反向链接
[/MD]