OfflineLogin 离线登录

原创 OfflineLogin 离线登录 1.0.0

完成注册/登录后下载
版权类型
原创
API版本
nukkit-mot
版权链接
https://github.com/Mcayear/OfflineLogin/
语言支持
多语言
前置组件
EasySQLX https://github.com/MemoriesOfTime/EasySQLX
[MD] # OfflineLogin OfflineLogin 是一个为 Nukkit-MOT 服务器设计的离线登录与账号验证插件,支持基础密码注册以及通过邮箱(Resend API 或标准 SMTP 服务)发送验证码进行注册验证。 ## 主要特性 - **安全的世界隔离**:提供一个专门的 `login` 超平坦世界,在玩家验证身份前取消所有的移动、交互、破坏和聊天等操作,避免对主世界造成影响和背包数据混乱。 - **多种验证模式**: - `NONE`: 仅基础密码验证 - `RESEND`: 通过 Resend API 发送邮箱验证码进行注册 - `SMTP`: 通过传统 SMTP 服务发送邮箱验证码进行注册 - **数据存储支持**:基于 EasySQLX 插件,默认采用 SQLite 存储玩家账号信息,支持扩展到 MySQL。 - **正版数据迁移**:内置 `/offline convertuuid` 指令,方便正版服务器转入离线模式时,将基于 UUID 保存的玩家背包数据安全迁移为基于玩家名字保存的数据(包含自动备份机制)。 ## 前置依赖 - **[EasySQLX](https://github.com/MemoriesOfTime/EasySQLX.git)**:用于处理数据库存储。请务必确保服务器已安装该前置插件。 ## 指令列表 | 指令 | 描述 | 权限 | | --- | --- | --- | | `/reg <password> <password>` | 注册账号 | 默认玩家 | | `/login <password>` | 登录账号 | 默认玩家 | | `/reset <password>` | 重置密码 | 默认玩家 | | `/offline convertuuid` | 将所有基于 UUID 的玩家数据转换为名字保存,适用于正版转盗版 | OP | ## 配置文件说明 `config.yml` 示例与说明: ```yaml # 注册/验证配置 # 可选: # - NONE:仅密码注册 # - RESEND:通过 Resend 发送邮箱验证码 # - SMTP:通过 SMTP 发送邮箱验证码 active-method: NONE security-settings: # 密码最短长度 min-password-length: 6 # 单个 IP 最多可注册的账号数 max-accounts-per-ip: 1 # 以下仅在 RESEND / SMTP 模式下生效 # 验证码位数 code-length: 6 # 验证码有效期(秒) expire-time: 300 # 发送验证码的冷却时间(秒) request-cooldown: 60 mail-settings: # 邮件标题 subject: "欢迎注册 - 您的验证码" # 邮件内容,{code} 会替换为实际验证码 html-template: "<h1>欢迎!</h1><p>您的注册验证码:<strong>{code}</strong></p><p>请在 5 分钟内完成验证。</p>" # 只会读取与 active-method 对应的配置 resend: # Resend API Key api-key: "<YOUR_RESEND_API_KEY>" # 发件地址,需为 Resend 已验证域名下的邮箱 from-address: "onboarding@resend.dev" smtp: # SMTP 服务器地址 host: "smtp.example.com" # 端口:465(SSL) / 587(TLS) / 25(无加密) port: 465 # 加密方式:SSL / TLS / NONE encryption: "SSL" # 登录账号 username: "mc-server@example.com" # 登录密码或应用专用密码 password: "<YOUR_SMTP_PASSWORD>" # 发件地址,通常与 username 保持一致 from-address: "mc-server@example.com" ``` ## 数据迁移指南 (UUID 转 Name) 如果您的服务器一开始开启了正版验证(基于 UUID 存储玩家背包及状态),而后安装本插件并关闭了正版验证,可以通过以下步骤进行数据迁移: 1. 确保服务器正在运行且只有管理员在线。 2. 执行管理员指令:`/offline convertuuid`。 3. 插件将会自动执行以下操作: - 将当前的 `nukkit.yml` 中的 `save-player-data-by-uuid` 状态修改为 `false`。 - 备份 `players/` 目录至 `players_backup/`。 - 读取所有 `UUID.dat` 格式的数据,提取其中的玩家名,并将其重命名为小写的 `<玩家名>.dat`。 - 清理旧的 `UUID.dat` 文件。 - 自动关闭服务器以应用更改。 4. 确认服务端无异常后重新启动服务器即可。 ## 开发信息 - 适用服务端:Nukkit-MOT - API版本:1.0.14 - 开发者:mcayear [/MD]
作者
Mcayear
下载
37
查看
461
首次发布
最后更新

评分

5.00 星 1 次评分

Mcayear 的其他资源

最新评价

萝莉版八千代嘻嘻
后退
顶部 底部