Skip to content

Releases: nnkmn/VoxVer-Launcher

MCLA v0.5.4 修复了两个lssues等之前版本未修复的问题

20 Jun 12:48

Choose a tag to compare

发布日期: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.ts i18n 翻译完整性测试
  • 新增 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

07 Jun 15:56

Choose a tag to compare

P2 features complete: modpack tool, hotkeys, theme customization, backup

MCLA v0.4.2 - 代码规范检查与修复

02 Jun 11:26

Choose a tag to compare

发布日期:2026-06-02


版本概述

v0.4.2 是一个维护性更新版本,主要聚焦于代码规范性检查与修复,提升项目整体质量,为后续功能开发奠定坚实基础。


主要更新

🔧 代码规范修复

  1. 日志级别修正

    • 修复 electron/ipc/index.ts 中 13 处 log.error() 误用
    • 将普通流程信息日志改为 log.info(),避免错误日志污染
  2. API Key 安全配置

    • 移除 CurseForge API Key 硬编码
    • 新增 .env.example 环境变量配置模板
    • 通过 dotenv 支持开发环境加载 .env 文件
    • 生产环境通过环境变量注入,提升安全性
  3. ESLint + Prettier 集成

    • 新增 ESLint v9 配置(eslint.config.cjs
    • 新增 Prettier 配置(.prettierrc.prettierignore
    • 新增 npm 脚本:
      • npm run lint - 代码检查与自动修复
      • npm run format - 代码格式化
  4. Vue 模板语法修复

    • 修复 3 个 Vue 文件中的多行 @click 事件语法
    • 统一使用分号分隔的单行格式

📚 文档更新

  1. README.md 重写

    • 版本号更新为 v0.4.2
    • 新增下载区域,跳转到 GitHub Releases
    • 新增环境配置说明章节
    • 更新版本历史记录
    • 更新项目结构说明
  2. .gitignore 完善

    • 新增项目文档排除规则
    • 新增 LNTP 备份目录排除
    • 新增临时图片文件排除

🧹 项目清理

  1. 冗余文件备份

    • 备份 9 个冗余文件到 LNTP/ 目录
    • 分类存储:工具脚本、构建临时文件、临时文件
    • 创建详细备份清单 BACKUP_MANIFEST_0.4.2.md
  2. 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()
  • 完善 electronAPI TypeScript 类型定义
  • 新增功能开发

感谢

感谢所有贡献者的努力!


MCLA - Minecraft Launcher Advanced

MCLA v0.4.0

14 May 00:06

Choose a tag to compare

核心修复

isVersionInstalled() 修复

  • ModLoader 版本误判修复:原函数同时检查 jar 和 json,ModLoader 版本没有独立 jar(继承基版本)导致永远返回 false
  • 继承版本检测:jar 不存在时检查 inheritsFrom,正确识别 Fabric/Forge/NeoForge/Quilt 安装状态
  • 新增 IPC 通道versions:is-installed,供前端调用

ModLoader IPC 重写

  • modloader.ipc.ts 重写:接入真实 ModLoaderService,返回实际安装状态和进度
  • 删除旧 stubelectron/services/modloader.ts 已在 v0.3.0 清理

皮肤系统确认

  • 主进程 → 前端完整接通account:get-skin-data-url IPC + preload.ts 暴露 + AccountPage.vue 渲染皮肤头像

动态版本号

  • 新增 app:get-version IPC:从 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-installed IPC 通道
  • modloader.ipc.ts 重写,接入真实 ModLoaderService
  • 皮肤系统确认完整接入前端
  • MorePage.vue 版本号改为动态获取(app:get-version IPC)
  • git commit v0.3.0 全部改动(86 files,commit 7d591bc
  • 打包发布 MCLA Setup 0.4.0.exe

已知问题

  • 首次启动可能需等待资源加载
  • 深色主题切换需重启生效

MCLA v0.2.0

25 Apr 20:36

Choose a tag to compare

新增功能

  • 账户系统:完整 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 - 首个测试版

25 Apr 16:20

Choose a tag to compare

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)