Releases: nnkmn/VoxVer-Launcher
Releases · nnkmn/VoxVer-Launcher
MCLA v0.5.4 修复了两个lssues等之前版本未修复的问题
发布日期:2026-06-20
版本概述
v0.5.4 是一个重要的架构优化版本,修复了多个长期存在的问题,并引入了开发工具链支持。本次更新为 v0.6.x 的大版本迭代奠定了坚实基础。
主要更新
架构优化
1. Windows Squirrel 安装器支持
- 安装
electron-squirrel-startup依赖 - 在
main.ts顶部添加 Squirrel 事件处理 - 确保 Windows 安装/更新/卸载时快捷方式和注册表正确处理
- 支持安装后自动启动、卸载时清理
2. 启动器统一
- 删除
electron/services/starlight.launcher.ts(662 行代码) - 统一使用
game.launcher.service.ts - 消除两套启动器并存带来的维护负担
- 减少代码冗余,提升可维护性
3. watcher.service.ts 完善
- 实现
findCrashReport方法 - 添加
gameDir参数支持 - 为崩溃日志分析提供基础支持
- 支持多游戏目录崩溃报告查找
4. P2P 自定义信令服务器配置
- 支持自定义信令服务器配置(
p2p_signaling_server) - 优先使用用户配置的服务器
- 提高国内用户 P2P 连接稳定性
- 支持私有化部署场景
5. IPC 通道文档化
- 创建
IPC_DOCUMENTATION.md - 记录 19 个模块、130+ handle 通道、16 条推送事件
- 包含用途描述、参数列表、返回值类型、调用方页面
- 便于后续开发和维护
性能优化
1. 并行下载
- 库文件/资源文件下载改为 5 并发
- 下载速度提升 3-5 倍
- 支持断点续传
- 自动重试失败任务
2. JVM GC 优化
- 根据系统内存大小动态选择 G1 参数
- 小内存(<4GB):保守配置,避免 OOM
- 中等内存(4-8GB):平衡配置
- 大内存(>8GB):激进配置,最大化性能
- 减少 GC 停顿,提升游戏体验
3. 缺失文件检测与提示
- 启动时自动检测缺失文件
- 弹窗提示用户缺失文件列表
- 用户确认后自动下载缺失文件
- 下载完成后自动继续启动流程
Bug 修复
1. archiver ESM 兼容性
- 问题:
archiver模块在打包后的 Electron 主进程中无法加载 - 错误:
Error [ERR_REQUIRE_ESM]: require() of ES Module archiver/index.js not supported - 修复:改为动态导入
const archiver = (await import('archiver')).default - 影响文件:
electron/services/game.launcher.service.ts
2. i18n 导入方式
- 问题:Vite 打包时
zhCN is not defined错误 - 原因:间接导入导致变量未定义
- 修复:在
i18n.ts中直接导入翻译文件 - 影响文件:
src/locale/i18n.ts
3. CSP 策略修复
- 问题:Splash Screen 启动画面卡住无法隐藏
- 原因:Content Security Policy 阻止内联脚本执行
- 修复:
- 添加
'unsafe-inline'允许内联脚本执行 - 添加超时强制隐藏机制(5秒)
- 添加
- 影响文件:
index.html
4. CurseForge API Key 配置项移除
- 问题:设置页面中的 CurseForge API Key 用户配置项不必要
- 原因:API Key 应由开发者在开发时通过环境变量配置
- 修复:移除设置页面中的相关 UI 配置项
- 影响文件:
src/pages/SettingsPage.vue
开发工具
1. Vitest 测试框架
- 新增
vitest.config.ts配置文件 - 新增
tests/setup.ts测试环境 mock - 新增
tests/i18n.test.tsi18n 翻译完整性测试 - 新增 npm 脚本:
npm run test- 运行测试npm run test:watch- 监听模式npm run test:coverage- 覆盖率报告
2. GitHub Actions CI/CD
- 创建
.github/workflows/ci.yml - 支持:
- Lint 检查(ESLint)
- 构建(Vite + electron-builder)
- 单元测试(Vitest)
- 打包(Windows NSIS 安装程序)
- 发布(GitHub Release)
- 自动缓存 Electron 和 electron-builder 依赖
3. i18n 翻译资源
- 完善中英文翻译资源
- 覆盖 5 个模块:common、settings、game、modpack、p2p
- 每个语言 745+ 键值对
- 支持动态语言切换
构建产物
| 平台 | 文件名 | 大小 | 说明 |
|---|---|---|---|
| Windows | MCLA Setup 0.5.4.exe |
~98.7 MB | NSIS 安装程序 |
| Windows | MCLA Setup 0.5.4.exe.blockmap |
~100 KB | 增量更新块映射文件 |
| Windows | win-unpacked/ |
- | 免安装解压版 |
技术栈
- 框架:Electron 33.4.11 + Vite + Vue 3
- UI:像素风设计系统(Press Start 2P 字体)
- 数据库:SQLite (better-sqlite3)
- 构建:electron-builder 25.x
- 测试:Vitest 2.0 + @vue/test-utils + jsdom
- CI/CD:GitHub Actions
变更统计
| 指标 | 数值 |
|---|---|
| 修改文件数 | 22 个 |
| 新增代码 | +2,383 行 |
| 删除代码 | -799 行 |
| 净增代码 | +1,584 行 |
| 新增文件 | 5 个(测试配置、i18n、CI/CD) |
| 删除文件 | 1 个(starlight.launcher.ts) |
文件变更详情
新增文件
| 文件 | 说明 |
|---|---|
vitest.config.ts |
Vitest 测试框架配置 |
tests/setup.ts |
测试环境 mock 设置 |
tests/i18n.test.ts |
i18n 翻译完整性测试 |
src/locale/zh-CN.ts |
中文翻译资源 |
src/locale/en-US.ts |
英文翻译资源 |
src/locale/i18n.ts |
vue-i18n 配置 |
src/locale/index.ts |
翻译资源导出 |
修改文件
| 文件 | 变更说明 |
|---|---|
electron/main.ts |
添加 Squirrel 事件处理 |
electron/preload.ts |
添加 IPC 通道暴露 |
electron/ipc/game.ipc.ts |
缺失文件检测 IPC |
electron/services/game.launcher.service.ts |
并行下载、JVM GC 优化、缺失文件检测 |
electron/services/p2pShare.service.ts |
自定义信令服务器配置 |
electron/services/watcher.service.ts |
崩溃报告查找功能 |
src/pages/SettingsPage.vue |
移除 CurseForge API Key 配置项 |
index.html |
CSP 策略修复、超时隐藏脚本 |
package.json |
新增依赖和测试脚本 |
删除文件
| 文件 | 说明 |
|---|---|
electron/services/starlight.launcher.ts |
启动器统一,删除冗余实现 |
兼容性说明
| 项目 | 要求 |
|---|---|
| 最低系统要求 | Windows 10 (64-bit) |
| 最低内存 | 4GB RAM(推荐 8GB+) |
| 磁盘空间 | 500MB(不含游戏数据) |
| Java | Java 8+(推荐 Java 17+) |
已知问题
- 首次启动可能需等待资源加载
- 深色主题切换需重启生效
- 部分网络环境下 P2P 连接可能不稳定
下一步计划
v0.6.x
- i18n 界面接入:将 vue-i18n 集成到所有页面
- 性能优化:虚拟滚动、Web Worker 离线计算
- 测试覆盖:完善单元测试和 E2E 测试
- 代码签名:提升安全性
v1.0.0
- 第一个生产就绪版本
- 完整的国际化支持
- 完善的测试覆盖
- 稳定性保障
感谢
感谢所有反馈问题和建议的用户!
MCLA - Minecraft Launcher Alpha
MCLA v0.5.2
P2 features complete: modpack tool, hotkeys, theme customization, backup
MCLA v0.4.2 - 代码规范检查与修复
发布日期:2026-06-02
版本概述
v0.4.2 是一个维护性更新版本,主要聚焦于代码规范性检查与修复,提升项目整体质量,为后续功能开发奠定坚实基础。
主要更新
🔧 代码规范修复
-
日志级别修正
- 修复
electron/ipc/index.ts中 13 处log.error()误用 - 将普通流程信息日志改为
log.info(),避免错误日志污染
- 修复
-
API Key 安全配置
- 移除 CurseForge API Key 硬编码
- 新增
.env.example环境变量配置模板 - 通过
dotenv支持开发环境加载.env文件 - 生产环境通过环境变量注入,提升安全性
-
ESLint + Prettier 集成
- 新增 ESLint v9 配置(
eslint.config.cjs) - 新增 Prettier 配置(
.prettierrc、.prettierignore) - 新增 npm 脚本:
npm run lint- 代码检查与自动修复npm run format- 代码格式化
- 新增 ESLint v9 配置(
-
Vue 模板语法修复
- 修复 3 个 Vue 文件中的多行
@click事件语法 - 统一使用分号分隔的单行格式
- 修复 3 个 Vue 文件中的多行
📚 文档更新
-
README.md 重写
- 版本号更新为 v0.4.2
- 新增下载区域,跳转到 GitHub Releases
- 新增环境配置说明章节
- 更新版本历史记录
- 更新项目结构说明
-
.gitignore 完善
- 新增项目文档排除规则
- 新增 LNTP 备份目录排除
- 新增临时图片文件排除
🧹 项目清理
-
冗余文件备份
- 备份 9 个冗余文件到
LNTP/目录 - 分类存储:工具脚本、构建临时文件、临时文件
- 创建详细备份清单
BACKUP_MANIFEST_0.4.2.md
- 备份 9 个冗余文件到
-
Git 追踪清理
- 从 Git 追踪中移除开发文档
- 移除临时图片和工具脚本
构建产物
| 平台 | 文件名 | 大小 |
|---|---|---|
| Windows | MCLA Setup 0.4.2.exe |
~94 MB |
变更统计
- 修改文件数:122 个
- 新增代码:+16,852 行
- 删除代码:-6,955 行
- Git 提交:2 个
安全性提升
| 改进项 | 说明 |
|---|---|
| 敏感信息 | API Key 不再硬编码,通过环境变量管理 |
| 代码质量 | ESLint + Prettier 规范化代码风格 |
| 日志管理 | 日志级别正确使用,便于问题排查 |
下一步计划
- 继续替换
any类型为具体类型 - 统一使用
PxNotification替代原生alert() - 完善
electronAPITypeScript 类型定义 - 新增功能开发
感谢
感谢所有贡献者的努力!
MCLA - Minecraft Launcher Advanced
MCLA v0.4.0
核心修复
isVersionInstalled() 修复
- ModLoader 版本误判修复:原函数同时检查 jar 和 json,ModLoader 版本没有独立 jar(继承基版本)导致永远返回 false
- 继承版本检测:jar 不存在时检查
inheritsFrom,正确识别 Fabric/Forge/NeoForge/Quilt 安装状态 - 新增 IPC 通道:
versions:is-installed,供前端调用
ModLoader IPC 重写
modloader.ipc.ts重写:接入真实ModLoaderService,返回实际安装状态和进度- 删除旧 stub:
electron/services/modloader.ts已在 v0.3.0 清理
皮肤系统确认
- 主进程 → 前端完整接通:
account:get-skin-data-urlIPC +preload.ts暴露 +AccountPage.vue渲染皮肤头像
动态版本号
- 新增
app:get-versionIPC:从package.json读取版本号,不再写死 MorePage.vue动态显示:onMounted调用app.getVersion(),模板用{{ appVersion }}
技术栈
- 框架: Electron 33.4.11 + Vite + Vue 3
- UI: 像素风设计系统(Press Start 2P 字体)
- 数据库: SQLite (better-sqlite3)
- 构建: electron-builder 25.x
安装包
| 平台 | 文件 | 大小 |
|---|---|---|
| Windows | MCLA Setup 0.4.0.exe |
~94 MB |
Changelog
v0.4.0 (2026-05-14)
- 修复
isVersionInstalled()对 ModLoader 版本误判(继承版本正确识别) - 新增
versions:is-installedIPC 通道 modloader.ipc.ts重写,接入真实ModLoaderService- 皮肤系统确认完整接入前端
MorePage.vue版本号改为动态获取(app:get-versionIPC)- git commit v0.3.0 全部改动(86 files,commit
7d591bc) - 打包发布
MCLA Setup 0.4.0.exe
已知问题
- 首次启动可能需等待资源加载
- 深色主题切换需重启生效
MCLA v0.2.0
新增功能
- 账户系统:完整 Microsoft OAuth Device Flow(设备码→Xbox→XSTS→Minecraft Bearer → Profile)
- Mod 下载:CurseForge + Modrinth 双平台搜索与下载
- 皮肤管理:下载并缓存 Minecraft 玩家皮肤
- 崩溃监控:自动捕获游戏崩溃日志并分析
界面优化
- 响应式布局:设置页、更多页自适应窗口大小
- 鸣谢卡片、反馈卡片:响应式网格,大屏自动变多列
基础设施
- 分级日志系统(DEBUG/INFO/WARN/ERROR + 文件持久化)
- Electron safeStorage 加解密存储
- 完整 TypeScript 类型定义
- macOS ICNS 图标支持
MCLA v0.1.0 - 首个测试版
Minecraft 启动器MCLA首个可用版本
核心功能
账户系统
- ✅ 微软 OAuth 设备码登录
- ✅ 离线账户支持
- ✅ 多账户切换
- ✅ Token 自动刷新
实例管理
- ✅ 创建/删除/编辑游戏实例
- ✅ 实例配置持久化(SQLite)
- ✅ 游戏目录自动管理
版本管理
- ✅ 官方版本列表(BMCLAPI)
- ✅ 版本缓存机制
- ✅ Java 版本自动推荐
ModLoader 支持
- ✅ Fabric 安装器
- ✅ Forge/NeoForge 架构准备
- ✅ 安装进度回调
游戏启动
- ✅ 完整启动参数构建
- ✅ 账户认证注入
- ✅ 进程状态监控
下载系统
- ✅ 多线程并发下载
- ✅ 断点续传
- ✅ BMCLAPI 镜像加速
内容平台
- ✅ CurseForge 集成
- ✅ Modrinth 集成
- ✅ Mod/整合包搜索
Java 管理
- ✅ 自动检测系统 Java
- ✅ 多版本 Java 管理
技术栈
- Electron + Vite + Vue 3
- 像素风设计系统(Press Start 2P 字体)
- SQLite (better-sqlite3)
- electron-builder
安装包
- Windows: MCLA Setup 0.1.0.exe (~94 MB)