KaLogin - 全新GUI登录插件 [1.21.7+]

原创 开源 工具 KaLogin - 全新GUI登录插件 [1.21.7+] 1.5.2

请登录后获取
[MD] ### 群组服务器跨服登录(KaProxy) - 新增 `proxy` 配置节,配合 KaProxy 在群组服务器(Velocity / BungeeCord)之间共享登录会话:玩家在一个子服登录后,切换到其它子服无需重复登录。 - 内置 KaLogin 模式与 AuthMe 模式均支持跨服会话查询与登录态恢复;AuthMe 模式下各子服的 AuthMe 需共享同一数据库。 - 登录、注册、改密、注销、登出等事件会上报至代理;`/logout` 时由代理使会话失效并断开整个群组连接。 - 代理不可用时按 `proxy.require-proxy` 决定拒绝进入或回退本地登录/注册流程。 - 跨服恢复时的收尾行为可分别配置:`restore-welcome`(欢迎/条款界面)、`restore-email-prompt`(邮箱绑定提示)、`replay-login-actions`(重放 `events.login` 动作,默认不重放)。 - 开放 API 新增 `PlayerProxyRestoreEvent` 回调,跨服恢复登录态时通知接入方。 - 新增 `proxy.server-name`:本服在代理中的注册名,须与 `velocity.toml` / Bungee `config.yml` 一致;群组内每台后端必须填写各自的名称。 ### 自动回到上次下线位置 - 新增 `last-seen` 配置节:玩家登录完成后可自动回到上次下线的子服与坐标,替代每次都从默认服(Lobby)开始。 - 退服(含切服)时把当前坐标与所在子服名原子写入共享数据库 `kalogin_lastseen`;`/logout` 或注销会删除该记录。 - 新增 `last-seen.blacklist`:位于黑名单子服(默认 `pve`、`pvp`)退服时不记录坐标,下次登录回默认服出生点。 - 手动模式下(KaProxy `modules.lastseen.mode: manual`)登录完成后弹出“是否返回上次位置”确认框(确定 / 取消),取消后保留记录,下次登录仍会询问。 - 停服时会主动为所有在线玩家写入位置,避免关服过程中丢失记录。 - 三种回位模式(直连 / 手动确认 / 间接自动)均由 KaProxy 的 `modules.lastseen` 控制,KaLogin 侧无需额外配置模式。 ### 安全提醒与登录失败封禁 - 每次密码校验失败都会把来源 IP 上报代理,由 KaProxy 按窗口累计失败次数,达到阈值即临时封禁该 IP 并在代理登录阶段拒绝。 - 代理判定为冲突登录(其他设备尝试登录一个已登录的账户)时,会向仍在线的账户本人定向发送安全告警,提示“其他设备正在尝试登录您的账户,建议及时修改密码”;告警按玩家冷却,且不展示攻击者 IP。 - 安全告警包按目标 UUID 校验,客户端伪造的告警包会被直接忽略。 ### 认证就绪事件 - 新增 Bukkit 事件 `PlayerAuthenticationReadyEvent`(`org.katacr.kalogin.listener`),在认证收尾与上次位置处理完成后触发;其他插件可据此安全执行等待落点等操作。 - 未启用 `last-seen` 时同样会触发该事件。 ### 其他改进 - 新增 `login.execute-events-on-auto-login`(默认 `false`):控制同 IP 自动登录成功后是否执行 `events.login` 动作队列。 - 新增 `proxy.restore-message`(默认 `true`):控制跨服恢复登录态时是否发送“检测到群组登录状态,已自动登录”提示语。 - 认证期间不再改写玩家游戏模式,避免玩家在认证期间跨世界传送后被进服时的旧模式覆盖。 - `plugin.yml` 的版本号改为由构建流程注入(`${version}`),避免手工版本号与构建产物不一致。 ### 配置升级 - `config-version` 由 `10` 升级到 `16`,插件会自动备份旧配置并补全 `proxy`、`last-seen` 节点。 - `proxy.server-name` 默认为空,需手动填写为各后端自身的代理注册名;把 `lobby` 复制到其它后端会导致“大厅服名 + 子服坐标”的错误回位。 - 代理端 KaProxy 的 `modules.kalogin`、`modules.lastseen`、`database` 不会自动合并已有配置,需手动补充。 - 语言文件新增 `proxy.security-alert` 与 `last-seen.*` 节点,现有语言文件会自动补全。 [/MD]
修复MySql数据库延迟可能导致重复弹出注册窗口的问题
兼容支持Spigot和Folia核心
修复Authme模式下注册成功小概率可能还显示注册对话框的问题。
  • 喜欢
反馈: happygray
1.优化SQL连接链接,修复一些潜在的数据库连接问题。
2.注册超时提示原来写死成了 90 秒,现在可在实际配置修改。
[MD] ## v1.4.4 更新说明 - 添加 /usercenter 命令,提供账户信息查看、邮箱绑定与密码修改入口 - 引入 Geyser 兼容层,修复基岩版玩家对话框无法关闭的问题 - 修复玩家视角转动时对话框重复弹出的bug - 替换 closeInventory 为 closeDialog 以正确关闭对话框 [/MD]
配置文件新增 error-prompt-type 配置项,支持 none/body/toast 三种对话框错误提示方式
YAML:
# 对话框错误提示显示方式:none / body / toast
# none  = 不显示任何错误提示
# body  = 在对话框 Body 中显示错误提示(当前默认行为)
# toast = 使用 Toast 弹出错误提示,不改动对话框布局
error-prompt-type: "body"


对话框物品支持 custom_model_data 属性

代码:
item:
type: 'item'
  material: 'PAPER'
  name: 'ItemsAdder物品图标'
  custom_model_data: 10001
KaLogin 本次更新提供以下 PAPI 变量:
  • %kalogin_email_masked% - 脱敏邮箱,例如 12****@xx.com
  • %kalogin_email_plain% - 明文邮箱,例如12345678@xx.com
  • %kalogin_accepted_terms% - 是否已阅读条款(true/false)
  • %kalogin_last_login_ip% - 上次登录 IP
  • %kalogin_auto_login_by_ip% - 是否启用同 IP 自动登录(true/false)
  • %kalogin_register_time% - 注册时间,格式 yyyy/MM/dd HH:mm:ss
- 新增欢迎对话框与条款确认功能,登录/注册后展示
- 引入对话框状态跟踪机制,避免重复显示与关闭后重发
- 添加密码验证器,支持注册时密码格式校验
- 新增重置玩家条款状态命令 (/kl resetterms)
- 移除认证期间强制旁观者模式的设定
- 优化登录/注册成功后的事件触发与邮件绑定提示流程
- 重置玩家重进服务器时的登录失败计数
  • 喜欢
反馈: Allen_Linong
支持自定义输入框的各种属性
- 宽度
- 高度
- 是否显示文本标签
- 输入框内部默认值

YAML:
  # 登录对话框
  login:
    login_password:
      width: 500 # 输入框宽度 (1-1024,200为默认宽度)
      height: 256 # 输入框高度 (1-512,17为默认高度,设为 -1 则禁用多行模式)
      labelVisible: true # 是否显示文本
      initial: '' # 输入框内的初始值
后退
顶部 底部