### **GUI 玩家身份验证插件 - 使用 PIN 身份验证保护您的服务器**
🔒 **GUI 玩家身份验证** 是一个 **Minecraft 插件**,通过要求玩家 **设置并输入安全的 PIN** 才能与世界互动,从而增强服务器安全性。 此插件可防止未经授权的访问,确保只有经过验证的玩家才能游玩。
---
## **🔹 功能**
✅ **PIN 注册和登录:** 玩家在首次登录时必须注册一个 **4 位 PIN** (或任何其他配置的值),并在未来的身份验证中使用它。
✅ **自定义宝箱 GUI:** 玩家使用一个视觉上吸引人的 **宝箱 GUI** 输入他们的 PIN,其中 **浅蓝色染料物品** 代表数字。
✅ **自动踢出系统:** 如果玩家 **在 30 秒内未能进行身份验证**,他们将被 **自动踢出** 服务器。
✅ **PIN 验证:** 如果输入的 PIN 不正确,玩家将 **立即被踢出** 以防止暴力破解。
✅ **玩家限制:** 在身份验证完成之前,玩家 **不能移动、聊天、执行命令或与世界互动**。
✅ **失明效果:** 未经身份验证的玩家会收到 **永久的失明效果**,直到他们成功登录为止。
✅ **PIN 重置命令 (`/resetpin`):** 玩家可以随时重置他们的 PIN 并注册一个新的 PIN。
---
## **🔹 工作原理**
1. **新玩家:**
- 加入时,如果玩家 **没有注册 PIN**,他们会看到一个 **注册 GUI**,其中他们必须 **选择一个 4 位 PIN** (或者用户在 `config.yml` 中输入的位数)。
- 确认后,PIN 会 **安全地存储在 SQLite 数据库中**,玩家可以访问服务器。
2. **返回玩家:**
- 如果玩家已经有 PIN,他们会看到 **登录 GUI** 并且必须输入他们的 **正确 PIN**。
- 正确的 PIN 会 **移除所有限制**,而错误的 PIN 会导致 **立即踢出**。
3. **自动踢出未经身份验证的玩家:**
- 如果玩家 **在 30 秒内未能进行身份验证**,他们将被 **自动踢出** 服务器。
4. **PIN 重置:**
- 玩家可以使用 **`/resetpin`** 删除他们的 PIN 并重新开始注册过程。
---
## **🔹 命令和权限**
| 命令 | 描述 | 权限 |
|---------------|-------------|------------|
| `/resetpin` | 重置玩家的 PIN 并提示重新注册。 | **所有玩家** |
---
## **🔹 配置 (`config.yml`)**
```yaml
# PIN 身份验证所需的数字位数
pin_length: 4
```
- **可自定义 PIN 长度**(如果需要)。
---
## **🔹 为什么使用此插件?**
🔹 **防止帐户被盗用:** 确保只有真正的玩家才能登录他们的帐户。 传统的密码破解器旨在针对 `/login` 身份验证,而这里不存在。
🔹 **暴力破解保护:** 针对错误的 PIN 尝试进行即时踢出,以防止未经授权的访问。
🔹 **用户友好的 GUI:** 玩家通过一个 **直观的宝箱 GUI** 进行互动,而不是输入命令。
🔹 **轻量级和高效:** 使用 **SQLite 存储** 以便于设置和 **降低服务器影响**。
🔹 **非常适合私人和公共服务器:** 非常适合需要额外安全层的 **SMP、小游戏服务器和 RP 服务器**。
---
## **🔹 安装**
1. **下载插件 `.jar` 文件。**
2. **将其放在 Minecraft 服务器的 `/plugins` 文件夹中。**
3. **重启服务器。**
4. **在 `/plugins/GUIPlayerAuth/config.yml` 中自定义设置(可选)。**
5. **享受更安全的 Minecraft 体验!**
---
### **💾 兼容性**
✅ 支持 **Minecraft 1.21+**
✅ 与 **Paper、Spigot 和 Bukkit** 服务器兼容
---
### **🔹 未来更新和功能**
🔜 **MySQL 支持** 用于跨服务器身份验证
🔜 **可配置的自动踢出时间**
🔜 **管理员覆盖命令**
---
🎉 **立即使用 GUI 玩家身份验证保护您的服务器!** 🎉