Repository navigation
MWP V2.4.3
🛠️ 优化与修复
-
面板全局备份与系统还原全链路重构与加固 (彻底解决丢配置、丢文件、还原损坏):
- 原生流式解压与权限软链无损还原:重构
extractBackupArchive,优先调用系统原生unzip -qo(自动重置UNZIP=''环境变量),原生保留所有 POSIX 0755/0644 权限与符号链接,避免将大文件读入 V8 堆内存造成 OOM;第二级智能降级至原生tar -xf;第三级降级至 AdmZip 并从 entry.attr 恢复文件权限与符号链接,并在 Linux 环境下自动校验并修复data/java/**/bin/java的可执行权限; - 关键配置子目录全量打包:彻底解决原备份仅打包
data/*.json顶层文件导致appearance/(外观主题)、frp/(内网穿透)、scroll_storage/(卷轴持久化存储)丢失的缺陷,全面打包所有子目录并排除临时缓存; - 世界安全刷盘与嵌套备份递归排除:备份前向运行中的服务端发送
save-off与save-all flush确保世界区块完整落盘;打包实例时严格过滤backups/目录与panel.log,防止压缩包无限递归膨胀; - Stream Pipeline 分片装配:分片合并改写为基于 Node.js 流式管道 (
stream/promises pipeline) 拼接,彻底解决大文件背压截断与末尾损坏; - 登录界面灾难恢复模式与多重别名路由:
- 修复登录界面因调用
/api/backups/global/...导致 404 错误的问题,注册全套别名路由; - 改造
requireBackupAccess鉴权中间件,支持携带x-admin-password在未登录状态下验证管理员密码执行灾难恢复; - 登录界面新增「灾难恢复 / 从备份还原」模式,支持查看待回档文件名与文件大小、动态上传进度展示与一键回档。
- 修复登录界面因调用
- 原生流式解压与权限软链无损还原:重构
-
卷轴工坊:单人快速跳过夜晚 (
fast-sleepv1.1.0) 与健康防沉迷守护 (health-guardianv1.1.0) 重构:fast-sleepv1.1.0:启动自动下发 Minecraft 1.17+ 原生规则/gamerule playersSleepingPercentage 1(卸载自动恢复 100);支持聊天输入!sleep、!day、睡觉、晚安快捷跳夜;支持原版[Sweet Dreams]/[甜蜜的梦]进度与中英文入睡日志;支持全屏大标题与破晓音效;health-guardianv1.1.0:启动即刻通过scroll.getOnlinePlayers()同步当前所有在服玩家;使用scroll.storage持久化sessions,离线重连连续累计时长;ActionBar + tellraw 私聊 + 拾取音效三重提醒;支持聊天栏输入!health、!防沉迷随时查询在线时长与下次提醒倒计时;- 卷轴引擎与生命周期增强:
scroll-engine.js扩展sendMessage与playSound快捷接口;日志分发统一提供line与raw字段;在服务端状态切为running时触发onServerStart,在stopping和进程退出时触发onServerStop; - 重新打包发布
docs/scrolls_shop/fast-sleep.zip与health-guardian.zip,更新docs/scrolls_shop/scrolls.json。
-
语音聊天插件 (Simple Voice Chat) 全方位配置适配与升级 (v1.1.0):
- 状态判定与加载时序修复:修复前端检查
store.stats.hasVoicechat导致始终误判为“未安装模组”且拦截配置加载的严重问题,实现store.hasVoicechat与store.stats.hasVoicechat双向无缝同步;支持即使模组尚未启动也可一键强制打开配置; - 智能多路径嗅探与零 404 兜底:
- 后端增加多环境、多加载器配置文件自动探测(覆盖
config/voicechat/voicechat-server.properties、config/voicechat.properties、plugins/voicechat/等路径); - 若服务器尚未首次启动生成该文件,自动提供官方标准的默认配置模板(标明
exists: false),彻底消除 404 报错与# Error reading config页面覆盖异常; - 保存配置时自动创建对应父级目录,支持向后写入真实探测路径。
- 后端增加多环境、多加载器配置文件自动探测(覆盖
- 全属性 GUI 配置模型重构:
- 废除原界面中与 Simple Voice Chat 不符的废弃字段;
- 完整覆盖官方所有核心配置属性(网络连接、语音距离、耳语距离、广播范围、Opus 编码器、MTU 包大小、TCP 速率限制、群组开关、录音权限、旁观者通话、强制模组校验、原生动态库加速、多线程 Folia 支持等);
- 智能兼容
max_voice_distance与旧版voice_distance别名映射;
- 高保真双向转换引擎:GUI 模式与文本模式切换或保存时,精确替换目标项并无损保留配置文件中的原版注释说明与结构;
- 全量多语言国际化:在宿主
i18n.js中补齐所有语音配置项的中英文双语翻译。
- 状态判定与加载时序修复:修复前端检查
-
认证管理插件 (EasyAuth) 数据库读取、Schema 适配与密码维护修复 (v1.2.0):
- 解除前端挂载与刷新阻断:修复前端因检查未初始化的
store.stats.hasEasyAuth导致组件挂载时不调用loadUsers()、界面锁定为“未安装模组”的缺陷; - Linux 大小写与动态路径兼容查找:
- 优先解析
config/EasyAuth/storage.conf,读取自定义的sqlite-path与sqlite-table; - 候选扫描全面兼顾 Linux 大小写敏感特性(同时支持
EasyAuth/与easyauth/目录); - 增加备用目录
.db文件自动兜底探测。
- 优先解析
- EasyAuth 真实表结构与
dataJSON 列适配:- 针对 EasyAuth 表中无独立
password列、密码与鉴权数据存于dataJSON 列的真实结构进行重构; - 查询玩家列表时自动解析
dataJSON,提取真实注册状态、最近登录 IP、最近活跃时间及注册时间; - 彻底修复修改密码时因执行
UPDATE easyauth SET password = ?抛出SQLITE_ERROR: no such column: password导致的 500 异常,实现对dataJSON 列的反序列化、BCrypt 哈希注入与无损回写; - 注销/删除玩家增加
username与username_lower大小写双重匹配。
- 针对 EasyAuth 表中无独立
- SQLite 执行高可用双引擎降级:
- 默认优先使用 Node 原生
sqlite3模块; - 若遇环境或 ABI 限制,自动降级启用系统原生
sqlite3CLI,确保任何环境下均能百分之百稳定读取数据库。
- 默认优先使用 Node 原生
- UI 呈现升级:新增当前数据库路径状态徽章、玩家最后登录 IP / 注册时间展示,并在无数据时给出明确的注册指引提示。
- 解除前端挂载与刷新阻断:修复前端因检查未初始化的
-
服务器地图插件 (mc-panel-plugin-map) 玩家雷达头像加载与动态校准修复 (v1.1.1):
- 地图雷达头像源对齐:彻底修复地图内标记硬编码请求
minotar.net导致的非正版/离线皮肤无法加载、退化为默认 Steve 面孔的问题;全面对齐宿主面板内置的/api/avatar接口(具备本地磁盘缓存与多源极速容灾机制); - 多源优雅容灾回退链路:地图标记增加
onerror级联回退机制(依次尝试/api/avatar→ Crafthead → LittleSkin → MC-Heads → 首字母圆标),确保任何网络环境下均能平滑展现; - 玩家雷达标记动态同步增强:在轮询更新玩家坐标时,实时同步更新高度 Y 坐标徽章、在线状态脉冲光圈、头像边框颜色与头像资源地址,并支持点击后定位最新动态位置。
- 地图雷达头像源对齐:彻底修复地图内标记硬编码请求
-
官方插件商店索引更新与发布包构建:
- 同步更新
mc-panel-plugin-voicechat至v1.1.0,重新压缩打包mc-panel-plugin-voicechat.zip; - 同步更新
mc-panel-plugin-easyauth至v1.2.0,重新压缩打包mc-panel-plugin-easyauth.zip; - 同步更新
mc-panel-plugin-map至v1.1.1,重新压缩打包mc-panel-plugin-map.zip; - 同步更新
docs/plugins_shop/plugins.json索引信息并同步至runner/与dist/temp/目录。
- 同步更新