
服务器登陆模组
A purely server-side Fabric login module, where the administrator has full control over accounts. Forced login, automatic binding, AFK timeout, and position restoration provide a complete securi 纯服务端 Fabric 登录模组,管理员完全掌控账号。强制登录、自动绑定、挂机超时,为服务器提供完整的安全验证体系
查看大图ServerAuth 登录模块 —— 功能概述
这是一个纯服务端的 Fabric 模组 (1.20.x),为你的服务器提供了一套完整的安全验证系统,包括强制登录、自动绑定、会话管理和防挂机措施。
核心设计理念
· 管理员完全掌控账户:只有 OP(权限等级 4)可以创建/删除账户;普通玩家无法自行注册。
· 强制登录验证:未通过认证的玩家无法移动或交互(被传送到虚空空间,黑屏悬浮)。
· 设备绑定自动登录:玩家可以选择将账户绑定到其设备的 UUID,以便后续访问服务器时自动登录。
· 登录位置恢复:成功登录后,玩家会被传送回其初始出生点。
· 双重超时机制:
· 空闲超时:登录后若在设定的分钟内无活动,将被强制登出,需要重新登录。
· 自动登录有效期:绑定账户后,如果在设定的天数内没有登录,自动登录将失效。后续登录需要手动输入密码。
· 新增 6 种语言,只有管理员可以使用 /change chinese|english|spanish|french|russian|arabic 来切换中文、英文、西班牙语、法语、俄语、阿拉伯语。模组默认语言为中文。
玩家体验(面向玩家的功能)
- 首次进入服务器 · 进入游戏后,玩家会发现自己处于虚空(黑屏),悬浮在空中,无法移动。 · 聊天栏中会出现提示,指导玩家使用 /login 命令登录。
- 登录命令 /login <用户名> <密码> · 输入管理员提供的用户名和密码进行登录。 · 成功登录后: · 玩家将立即被传送回其进入服务器时的位置(出生点或进入时的坐标)。 · 游戏模式将切换为生存模式,允许正常游玩。
- 绑定设备(自动登录) /login <用户名> <密码> -b 或 /login <用户名> <密码> --bind · 在登录时添加 -b 参数,可以永久地将账户绑定到玩家的 UUID(已验证账户的唯一标识符)。 · 玩家在后续进入服务器时将自动登录,无需任何操作。
- 手动登出 /logout · 玩家可以手动登出,返回到虚空状态。 解绑设备 /unbind · 使用此命令可以解除当前账户与设备的绑定(例如,切换玩家时)。 · 解绑后,下次进入需要手动登录。 管理员功能(OP 专属)
所有管理员命令都以 /auth 开头。
| 命令 | 说明 | 示例 |
|---|---|---|
| /auth create <用户名> <密码> | 创建一个普通玩家账户 | |
| /auth create <用户名> <密码> -admin | 创建一个管理员账户(拥有 OP 权限) | |
| /auth delete <用户名> | 删除指定的账户 | |
| /auth unbind <用户名> | 强制解绑指定的账户(适用于玩家切换设备时) | |
| /auth list | 列出所有账户及其绑定状态 | |
| /auth kickall | 踢出所有未登录的玩家(清空服务器) |
⚠️ 注意:在使用 /auth 命令之前,管理员必须通过控制台或其他方式给自己 OP 权限(op [玩家名])。 可配置选项 (config/serverauth/config.json) 配置文件在服务器启动时自动生成。您可以随时修改并保存,无需重启(模组会定期重新读取设置)。
{
"requireLogin": true, // 需要登录(建议保持为 true)
"kickOnFailedLogin": true, // 登录失败时是否踢出玩家
"maxLoginAttempts": 3, // 最大登录尝试次数(计数功能尚未实现)
"enableSession": true, // 启用会话功能
"sessionTimeout": 30, // 保留字段,未使用
"sessionTimeoutMinutes": 30, // 空闲超时(分钟)。超过此时间无活动将强制登出(0 = 永不超时)
"autoLoginExpiryDays": 30 // 自动登录有效期(天)。绑定超过此天数的账户,登录时需要手动输入密码(0 = 永久有效)
}
· 要防止空闲超时:"sessionTimeoutMinutes": 0
· 要启用永久账户绑定:"autoLoginExpiryDays": 0
所有账户信息(包括密码哈希、绑定的 UUID、创建时间)都存储在: [服务器根目录]/config/serverauth/accounts.json
· 密码存储:使用 SHA-256 哈希,无法逆向破解。 · 绑定关系:基于 Minecraft UUID(正版账户为固定值;离线模式下根据玩家名生成)。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。