SAuth

SAuth

SAuth 是一个轻量级的 Fabric 服务器认证模组,具有安全的离线登录/注册、官方账号检测、按世界存储数据、登录前保护、管理员设置、多语言支持以及可选的客户端安装。

SAuth

SAuth 是一个轻量且安全的 Minecraft Fabric 服务器身份验证模组。

它为离线玩家提供账号注册和登录功能,同时自动识别已通过验证的 Minecraft 账号。

SAuth 可用于专用服务器、局域网世界、单人游戏和整合包,同时普通玩家无需强制在客户端安装。

身份验证数据、设置和已注册账号按每个 Minecraft 世界分别存储。


✨ 功能

身份验证

离线玩家可以使用以下命令注册:

/register <password> <password>

回访玩家可以使用以下命令登录:

/login <password>

在完成身份验证之前,SAuth 会限制正常的游戏操作。

这包括防止以下行为:

  • 移动和游戏交互
  • 破坏和放置方块
  • 使用物品
  • 攻击实体
  • 物品栏交互
  • 丢弃物品
  • 身份验证前的其他操作

成功登录或注册后,正常游戏功能将恢复。


正版账号检测

SAuth 同时支持正版 Minecraft 账号和离线账号。

由 Minecraft 验证的正版账号会被自动识别,无需使用本地 SAuth 密码。

离线账号使用正常的注册和登录系统。

这使得 SAuth 可用于以下环境:

  • 专用服务器
  • 离线模式服务器
  • 局域网世界
  • 整合包
  • 开发和测试环境

受保护的正版账号无法被使用相同已注册身份的离线玩家轻易替换。


按世界分别存储账号

SAuth 按每个 Minecraft 世界分别存储身份验证数据。

例如:

World_A/sauth/
World_B/sauth/

在一个世界中注册的账号不会自动在另一个世界中注册。

这适用于:

  • 局域网世界
  • 多个服务器存档
  • 测试世界
  • 整合包开发
  • 独立的生存和角色扮演世界

身份验证出生点

管理员可以配置专用的身份验证出生点。

玩家在等待注册或登录期间可被临时移动到该位置。

他们之前的位置会被保留,并在成功验证后恢复。

身份验证出生点可以通过 SAuth 管理面板进行配置。

选择新的出生点不会立即覆盖之前的位置。

管理员必须按下保存后,新位置才会生效。


暗色登录

SAuth 包含可选的暗色登录模式。

当玩家等待身份验证时,可以应用更暗的视觉效果,将身份验证过程与正常游戏区分开来。

此选项可由管理员启用或禁用。


🔐 密码安全

密码绝不会以明文形式存储。

SAuth 使用:

  • PBKDF2-HMAC-SHA256
  • 随机密码盐
  • 600,000 次哈希迭代
  • 256 位派生密码哈希
  • 恒定时间哈希比较
  • 登录尝试速率限制
  • 重复失败尝试后的临时保护
  • 可配置的最小密码长度
  • 防止使用玩家用户名作为密码

更改密码会安全地替换已存储的密码哈希。


👤 账号管理

玩家可以使用以下命令更改自己的密码:

/sauth password <current_password> <new_password>

玩家还可以使用以下命令请求删除自己的账号:

/sauth account delete

账号删除需要密码确认。

待处理的删除请求也可以取消。


🛠️ 管理

管理员可以使用以下命令打开 SAuth 管理面板:

/adminauth

该面板提供对身份验证设置和已注册账号的访问。

管理员可以管理:

  • 身份验证出生点
  • 每次登录时的身份验证出生点
  • 暗色登录
  • 登录超时
  • 注册超时
  • 密码要求
  • 已注册账号
  • 账号密码重置
  • 账号移除
  • 消息高亮颜色

智能管理界面

SAuth 会自动选择可用的最佳管理界面。

客户端安装了 SAuth 时

/adminauth

打开自定义 SAuth 管理界面。

客户端未安装 SAuth 时

SAuth 会自动打开原版 Minecraft 物品栏菜单。

这允许管理员即使不在客户端安装该模组也能管理 SAuth。

也可以使用以下命令手动强制使用原版界面:

/adminauth vanilla

可配置的高亮颜色

管理员可以自定义 SAuth 消息中高亮部分所使用的颜色。

实际翻译后的消息无法从面板中编辑。

仅可自定义重要的高亮部分,包括:

  • 命令
  • 参数
  • 重要数值
  • 身份验证说明

支持 Minecraft & 格式代码。

示例:

&b
&e
&6
&b&l

普通消息文本保持白色。


简洁的聊天消息

身份验证消息在视觉上与普通聊天分开。

重要提示在消息上方和下方包含间距,以避免身份验证说明与玩家对话混杂。

命令和参数会自动高亮。

示例:


You need to log in. Use /login <password>.

普通文本保持白色,而命令和参数使用配置的高亮颜色。


📦 推荐版本

要求 推荐值
Minecraft 1.20.1 或 1.21.1
模组加载器 Fabric
Fabric Loader 0.18.4+
Fabric API 必需
Java — 1.20.1 Java 17
Java — 1.21.1 Java 21

推荐的 Fabric Loader: 0.18.4 或更新版本。


🖥️ 客户端还是服务端?

SAuth 主要设计为服务端模组。

推荐

服务端:已安装 SAuth
客户端:无需安装

普通玩家不需要安装 SAuth。

在客户端安装 SAuth 可提供自定义管理界面。

没有客户端模组时,管理员会自动获得原版管理菜单。

配置 支持
仅服务端 ✅ 推荐
客户端 + 服务端 ✅ 支持
局域网世界 ✅ 支持
单人游戏 ✅ 支持
玩家必需 ❌ 否

⌨️ 命令

/register

/register <password> <password>

注册新的离线 SAuth 账号。


/login

/login <password>

验证现有的离线账号。


/sauth password

/sauth password <current_password> <new_password>

更改你的账号密码。


/sauth account delete

/sauth account delete

开始账号删除流程。


/adminauth

/adminauth

打开 SAuth 管理面板。

当客户端安装了 SAuth 时使用自定义界面。

否则,自动打开原版管理界面。


/adminauth vanilla

/adminauth vanilla

强制使用原版管理菜单。


/adminauth reload

/adminauth reload

重新加载当前世界的 SAuth 配置。


🌐 语言

SAuth 包含:

  • 英语
  • 葡萄牙语(巴西)
  • 西班牙语
  • 日语
  • 简体中文
  • 印地语
  • 阿拉伯语

面向玩家的消息和菜单会自动使用 Minecraft 客户端报告的语言。