喵登录/MiaoLogin-轻量化/现代的服务器登录插件(已停止支持))

原创 闭源 喵登录/MiaoLogin-轻量化/现代的服务器登录插件(已停止支持)) 1.8.0

完成注册/登录后下载
1.增加了屎山~
2.修改版本号
1. 修复接管 AuthMe 时 AuthMe 照样触发的问题 - 接管后自动禁用 AuthMe 插件,屏蔽 AuthMe 消息
2. 新增配置项 authme-takeover.disable-authme-plugin
3. 新增去除喵尾音功能 neko-suffix.remove 默认 false
4. 版本号 1.7.0

Let me write the complete changelog.
# MiaoLogin v1.7.0 完整更新日志

## 新增

- 新增"去除喵尾音"功能
- 可在 config.yml 中配置 `neko-suffix.remove` 开关
- 默认关闭(false),保留原有喵尾音
- 开启后(true),GUI 界面文字、聊天提示、欢迎语、服务器规则中的喵尾音会被自动移除
- 支持移除的尾音:喵、喵~、meow、meow.、nya、nya~
- 与多语言完全兼容,四种语言(简中/繁中/英语/日语)都支持

## 修复

- 修复接管 AuthMe 时 AuthMe 仍会正常触发的问题
- 之前:启用接管后,AuthMe 插件仍会继续运行,玩家登录时 AuthMe 和 MiaoLogin 同时响应,消息互相干扰
- 现在:接管成功后自动禁用 AuthMe 插件,AuthMe 的监听器、命令、定时任务全部停止
- 玩家不会再收到 AuthMe 的任何消息,完全由 MiaoLogin 全权接管登录
- 禁用前会先完整读取并缓存 AuthMe 数据库中的全部账户数据,数据迁移不受影响

## 配置变更

- config.yml 新增节点:

```yaml
# ========== 喵尾音设置 ==========
neko-suffix:
# 是否移除消息末尾的喵尾音
# true : 所有 GUI 文字、插件消息、欢迎语、规则中的 "喵" / "喵~" / "meow" 等尾音会被自动移除
# false: 保留喵尾音 (默认)
remove: false

# ========== AuthMe 接管模式 ==========
authme-takeover:
enabled: true
# 接管后是否自动禁用 AuthMe 插件本身
# true : MiaoLogin 完全接管,AuthMe 不再运行 (推荐)
# false: 只读取 AuthMe 数据,AuthMe 仍会处理登录并发送消息
disable-authme-plugin: true
```

## 升级说明

- 从 1.6.0 升级:直接替换 jar 文件并重启服务器即可
- 配置文件自动兼容,旧版 config.yml 会自动补充新增的配置项(使用默认值)
- 账户数据(accounts.yml / data.db)完全保留,无需迁移

## 兼容性

- 服务器类型:Spigot / Paper / Purpur
- 版本范围:1.7 - 26.2
- 多语言:简体中文 / 繁体中文 / 英语 / 日语
- 不支持 Folia

## 部署方法

1. 将下载的 MiaoLogin-1.7.0.jar 上传到服务器的 plugins 目录
2. 重启服务器
3. 按需修改 plugins/MiaoLogin/ 下的 config.yml(登录配置)、text.yml(欢迎语)
## 一、新增功能

### 1. 进服欢迎语
- 玩家进入服务器时自动显示欢迎语
- 文字可在 `text.yml` 中自由修改
- 支持颜色代码 `&`

### 2. 服务器规则
- 玩家打开登录界面时自动显示服务器规则
- 文字可在 `text.yml` 中自由修改
- 支持颜色代码 `&`

### 3. text.yml 配置文件
- 新增独立配置文件 `text.yml`
- 包含 `enabled` 总开关、`welcome` 欢迎语、`rules` 服务器规则
- 通过 `/miaologin reload` 可同时重载

## 二、问题修复

### 1. 修复玩家在空中无法登录的问题
- 原因: 玩家在空中下落时打开箱子界面,客户端会自动关闭 GUI
- 方案: 打开 GUI 前检测玩家位置,若在空中则临时 `setAllowFlight(true)` + `setFlying(true)` 暂停下落
- 登录成功或玩家退出时通过 `restoreFlightSafety()` 恢复原始飞行状态

### 2. 修复无法注册的问题
- 表现: 注册输入密码一直提示"密码不符合要求",但密码实际已符合要求
- 原因: Bukkit 聊天事件或客户端可能在消息首尾附带空格,导致长度校验失败
- 修复:
- `isValidPassword` 对输入 `trim()` 后再判断长度
- `AsyncPlayerChatEvent.getMessage()` 获取后先 `trim()`
- 增加校验失败 fine 日志,方便服主排查

### 3. 改进现代聊天事件消息提取
- 新增优先使用 `originalMessage()` (Paper 1.19+) 获取原始 Component
- 所有提取结果均 `trim()`
- 新增 `isUsable()` 辅助方法,排除 `TextComponentImpl{...}` 这类 toString 类名
- 兜底策略增加正则从 `content=...` 提取纯文本,避免拿到完整类名导致长度超过上限

## 三、插件重命名

- 插件名: NekoLogin → **MiaoLogin**
- 包名: `com.neko.login.*` → `com.miao.login.*`
- 主类: `NekoLogin.java` → `MiaoLogin.java`
- 管理命令: `/nekologin` → `/miaologin`
- 命令别名: `/neko`、`/nekoadmin` → `/miao`、`/miaoadmin`
- 权限前缀: `nekologin.*` → `miaologin.*`
- `pom.xml` artifactId / name / groupId 全部更新
- 启动日志、语言文件、帮助文本中的插件名全部更新

## 四、其他调整

- 启动日志新增一行: "欢迎加入猫猫的交流群:1041398736"
- 插件改为闭源,禁止反编译、修改、二次分发或商业用途

## 五、兼容性

- 服务器类型: Spigot / Paper / Purpur
- 版本范围: 1.7 - 26.2
- 多语言: 简体中文 / 繁体中文 / 英语 / 日语
- 不支持 Folia

## 六、升级须知

- 从旧版本升级,配置文件和账户数据完全保留,无需迁移
- 因插件名变更,服务器需要干净卸载旧的 NekoLogin 后再安装新的 MiaoLogin,避免冲突
- 旧版数据文件(`config.yml`、`accounts.yml`、`data.db`、语言文件)会被新的 MiaoLogin 正常读取

## 七、部署方法

1. 将下载的 `MiaoLogin-1.6.0.jar` 上传到服务器的 `plugins` 目录
2. 重启服务器
3. 按需修改 `plugins/MiaoLogin/` 下的 `text.yml`(欢迎语)、`config.yml`(登录配置)
# NekoLogin v1.5.0 更新日志

## 新增

- **启动时显示交流群信息喵**
- 控制台启动日志新增一行:`欢迎加入猫猫的交流群:1041398736 喵`
- 方便服主和使用者加入交流群反馈问题、获取更新通知

## 移除

- **移除 Folia 服务器支持喵**
- 自 v1.5.0 起,NekoLogin 不再兼容 Folia 服务端
- 移除 `SchedulerUtil` 中全部 Folia 反射代码(`RegionizedServer` 检测、`EntityScheduler`、`AsyncScheduler`、`GlobalRegionScheduler`),简化为纯 `BukkitScheduler` 实现
- 移除 `plugin.yml` 中的 `folia-supported: true` 声明
- 移除 `NekoLogin.onEnable()` 中的 `SchedulerUtil.isFolia()` 服务器类型检测日志
- 清理所有监听器中的 Folia 相关注释

## 保留

- **Paper 1.16+ 的 `AsyncChatEvent` 支持保留喵**
- `ModernChatListener` 继续工作,这不是 Folia 专属能力,Paper 同样使用现代聊天事件
- 传统 Spigot 1.7-1.15 自动回退到 `AsyncPlayerChatEvent`

## 兼容性

- **服务器类型**: Spigot / Paper / Purpur(不再支持 Folia)
- **版本范围**: 1.7 - 26.2
- **存储后端**: SQLite / YAML
- **多语言**: 简体中文 / 繁体中文 / 英语 / 日语(按客户端语言自动选择)

## 升级须知

- 若你正在 **Folia** 服务端使用 v1.4.0,**请勿升级到 v1.5.0**,否则插件将无法在 Folia 上正常工作
- 从 v1.4.0 升级到 v1.5.0 的 Spigot/Paper/Purpur 用户,可直接替换 jar 文件,配置文件和账户数据完全兼容,无需迁移

## 部署方法

1. 将下载的 `NekoLogin-1.5.0.jar` 上传到服务器的 `plugins` 目录
2. 重启服务器
3. 若从旧版本升级,配置文件和账户数据会自动保留

---

**下载**: `NekoLogin-1.5.0.jar`
NekoLogin v1.4 更新日志

## 修复

- **修复 Folia 服务器无法登录的问题喵**
- 根因: Folia 及 Paper 1.16+ 使用 `AsyncChatEvent` 取代了传统的 `AsyncPlayerChatEvent`,导致插件无法捕获玩家在聊天框输入的密码
- 解决方案: 新增 `ModernChatListener`,通过反射在运行时动态注册 `AsyncChatEvent` 监听器
- 兼容老版本 Spigot (1.7-1.15),自动回退到 `AsyncPlayerChatEvent`

## 优化

- 聊天监听器二选一注册,避免在 Paper/Folia 上重复处理同一密码输入
- 密码消息提取支持多版本 Adventure API(`plainMessage()` → `plainText()` → `content()` → `toString()`)
- 消息处理仍通过 `SchedulerUtil` 切换到玩家所在区域线程,保证 Folia 线程安全

## 兼容性

- 服务器类型: Spigot / Paper / Purpur / Folia
- 版本范围: 1.7 - 26.2
- 存储后端: SQLite / YAML
- 多语言: 简体中文 / 繁体中文 / 英语 / 日语(按客户端语言自动选择)
后退
顶部 底部