Suite

概览

LoginView 登录界面模块功能概览

LoginView 登录界面

模块简介

LoginView 是 Suite 的 UI 登录认证模块,通过 ArcartX UI 在客户端渲染登录、注册、改密界面,取代传统聊天栏输入密码的方式。模块支持 standalone(独立账户库)与 authme(委托 AuthMe)两种认证模式,内置 AuthMe 数据迁移能力,可自动识别微软正版 / LittleSkin / 离线账号,为正版玩家提供免密登录体验。

属性值
模块 IDloginview
版本1.4.4
配置文件config.yml
消息文件messages.yml
配置版本号3
外部软依赖AuthMe(可选)、PlaceholderAPI(可选)
模块依赖无
命令入口管理 /axs loginview
对外能力LoginViewQueryable、PlayerDataPurgeable、DatabaseMigratable
PAPI 前缀%axsloginview_*%

功能特性

特性说明
双认证模式standalone 使用 AXS 独立账户库;authme 委托 AuthMe 做注册、登录、改密
ArcartX UI 面板客户端渲染登录/注册/改密界面,内置紧凑面板与纯色块主菜单两种 UI 风格
AuthMe 桥接authme 模式下认证操作委托 AuthMe 处理,AuthMe 缺失时自动降级
AuthMe 迁移standalone 模式下可从 AuthMe 数据库导入历史账户哈希,支持 BCRYPT / BCRYPT2Y / SHA256
密码安全策略密码长度限制、最大尝试次数锁定、未登录时锁定移动/聊天/命令/交互/物品丢弃
Session 持久化登录后一定时间内重连或服务器重启无需重新登录,可选 IP 绑定校验
QQ 绑定集成微软/LittleSkin 账号可配置强制绑定 QQ 才能进入游戏,需 qqbot 模块配合
服务条款登录前强制玩家查阅并同意服务器服规
登录后传送登录成功后可传送至指定出生点(主城)
账号类型识别自动识别微软正版 / LittleSkin / 离线账号,正版玩家免密直接进入
正版免登微软/LittleSkin 玩家显示「进入服务器」按钮,无需输入密码
密码重置管理员可重置玩家密码,支持随机生成密码并强制重新登录
无敌保护未登录玩家自动获得无敌状态,防止登录期间被怪物攻击
数据库迁移注册 DatabaseMigratable 能力,支持存储后端切换时数据迁移
玩家数据清理注册 PlayerDataPurgeable 能力,支持按 UUID 或全量清理玩家数据

依赖

依赖类型名称必需说明
模块依赖无-LoginView 不依赖其他模块即可运行
外部软依赖AuthMe否auth.mode=authme 或 migrate-authme 命令时需要;standalone 模式不需要
外部软依赖PlaceholderAPI否注册 %axsloginview_xxx% 占位符,缺失时自动跳过
模块联动qqbot否QQ 绑定验证需 qqbot 模块加载

认证模式

LoginView 支持两种认证模式,通过 auth.mode 配置项切换:

standalone(独立模式)

使用 AXS 自有的账户库存储玩家密码(加盐哈希),完全不依赖 AuthMe。支持从 AuthMe 数据库迁移历史账户,迁移后首次登录成功可自动转换为新存储格式。

authme(兼容模式)

将注册、登录、改密等操作委托给 AuthMe 插件处理,LoginView 仅提供 ArcartX UI 登录界面。适用于已安装 AuthMe 且希望保留现有认证体系的服主。AuthMe 缺失时模块不加载。

对比项standaloneauthme
账户存储AXS 独立账户库AuthMe 数据库
密码存储加盐哈希由 AuthMe 管理
AuthMe 依赖不需要必需
密码重置/axs loginview reset-password使用 AuthMe 自带命令
数据迁移支持从 AuthMe 导入不适用
Session 持久化支持(数据库 sessions 表)由 AuthMe 管理

登录界面

服务端根据玩家账号类型和注册状态,向客户端展示不同的登录界面:

界面类型

界面类型type 值触发条件说明
登录login离线账号且已注册显示密码输入框与登录按钮
注册register离线账号且未注册显示密码 + 确认密码输入框与注册按钮
修改密码change玩家点击「修改密码」显示旧密码、新密码、确认密码三个输入框
免密进入bypass正版/LittleSkin 且已绑定 QQ(或不要求绑定)显示「进入服务器」按钮
未绑定 QQbypass_unbound正版/LittleSkin 且未绑定 QQ(要求绑定时)显示绑定提示与验证码输入框

玩家进服后,延迟 open-delay-ticks 自动弹出登录界面。登录成功后自动关闭 UI、派发信号、传送出生点(若启用);密码错误达到上限后踢出玩家。

未登录锁定

未通过认证的玩家会受到以下限制(均可配置开关):

锁定项配置字段默认值说明
移动security.lock-movementtrue阻止玩家移动(同方块内移动允许)
聊天security.lock-chattrue取消聊天事件
命令security.lock-commandstrue取消命令事件,allow-commands-prefix 中的前缀除外
背包点击-true取消 InventoryClickEvent
物品丢弃-true取消 PlayerDropItemEvent
方块交互-true取消左右键方块/空气交互

Session 免密登录

standalone 模式下,登录成功后可将认证状态保存到数据库,支持掉线重连或服务器重启后免重新登录:

  • security.session-ttl-minutes:session 有效期(分钟),设为 0 禁用持久化
  • security.session-strict-ip:是否要求 session 绑定 IP(更严格,但可能影响 NAT/移动网络用户)
  • 每小时自动清理过期 session

相关页面

  • 配置 — 完整配置字段表与示例
  • 命令与占位符 — 管理命令、PAPI 占位符、UI 数据包
  • 联动 — EventBus 事件、Capability 与模块集成

本页目录