**Sentinel** 是一个轻量级、强大且安全的 1.20+ Minecraft 服务器身份验证插件。它以简洁和安全为理念构建,确保玩家在与世界交互之前注册并登录,从而保护您的服务器免受未经授权的访问和潜在的漏洞。

## 功能
- 🔑 ``/login <密码>`` - 登录您的注册账户
- 权限: ``sentinel.login``
- 别名: ``/l <密码>``
- 🆕 ``/register <密码>`` - 创建一个新的账户
- 权限: ``sentinel.register``
- 别名: ``/r <密码>``
- 🔄 ``/changepassword <旧密码> <新密码>`` - 安全地更改您的密码
- 权限: ``sentinel.changepassword``
- 🗑️ ``/unregister <玩家>`` - 删除玩家账户(默认仅限 OP)
- 权限: ``sentinel.unregister``
- 🔧 ``/sentinel reloadlang`` - 从配置文件重新加载服务器的语言(默认仅限 OP)
- 权限: ``sentinel.use``
## 功能性
- 🚷 **受限模式:** 未登录的玩家将被置于受限状态。
- 🕒 **会话支持:** 15 分钟的自动登录会话窗口(当前硬编码)
- 🧱 **SQLite 存储:** 所有数据本地存储在 `Sentinel/auth.db` 中
- 🛡️ **安全日志:** 与密码相关的命令从日志中过滤,以避免暴露
- 🧩 **多版本支持:** 完全兼容 Minecraft **1.20+**,包括 1.21.x
- 🌐 **基于区域的语言:** 每个玩家的语言将根据其客户端区域自动选择。可用翻译包括:
- `en-US`, `en-GB`, `es-ES`, `pt-BR`, `pt-PT`, `de-DE`, `ru-RU`
- 可以在 `lang/` 文件夹中放置 `.yml` 翻译文件以添加其他区域。
- 🆔 **UUID 模式:** 通过配置文件支持灵活的玩家 UUID 模式:
- `adapt` - 根据服务器的在线模式自动选择
- `online` - 使用 Mojang 认证的 UUID(与 Mojang 账户关联的账户)。
- `offline` - 根据玩家姓名生成 UUID(与用户名关联的账户)。
- 🖥️ **服务器语言配置:** 定义服务器的默认语言(主要用于控制台日志)
## 📢 计划中 / 即将推出
- 目前没有计划中的功能,但欢迎建议和拉取请求!
## 🤝 需要帮助或想贡献?
发现 bug 吗?有建议吗?想帮忙改进吗?
您可以:
- 在 [issues](https://github.com/KaianGuedes/Sentinel/issues) 中提交 bug、想法或功能请求。
- 提交 [pull requests](https://github.com/KaianGuedes/Sentinel/pulls),以改进代码、文档或功能。
- 或在 GitHub 存储库中开始 [discussion](https://github.com/KaianGuedes/Sentinel/discussions)。
感谢您使用 Sentinel!