Skip to content

Releases: LSwzx/OML-project

OML v1.2.0

Choose a tag to compare

@LSwzx LSwzx released this 25 Oct 08:10

OML 1.2.0

本版是界面一致性与可维护性更新:全局弹窗换成 WPF-UI 深色组件,并补齐诊断导出、更新校验与更新源切换。

界面

  • 全局弹窗重构:确认、提示、错误与三选一弹窗全部使用 WPF-UI ContentDialog,
    深色背景、圆角按钮、品牌绿主按钮;原生 MessageBox 已全部移除
  • 更新提示条内嵌下载进度条,下载百分比直接显示,不再弹出额外窗口

诊断

  • 设置页新增「导出诊断日志」:打包启动器日志、游戏 latest.log、最近崩溃报告、
    系统环境、Java 路径/版本与脱敏后的 launcher_config.json
  • 令牌字段(accessToken / refreshToken / secret)递归替换为 ***

更新

  • 下载完成后校验更新包 SHA-256(缺失时退回大小校验),损坏包删除并提示
    「更新包下载损坏,请检查网络后重试」
  • 更新源可切换:GitHub / 自定义 / 镜像,设置页直接填地址,切换后下一次检查立即生效
  • 锁冲突重试与「可能有另一个更新进程正在运行」提示保留

安装

  • OML-win-1.2.0-Installer.exe:带目录选择的安装向导(推荐)
  • OML-win-1.2.0-Portable.zip:免安装,解压即用
  • 安装版自动更新源(releases.win.json + *.nupkg)已附带

验证

  • 构建 0 警告 0 错误;离线自检 194 项通过
  • 安装包 / 便携版均通过 --smoke 启动检查
  • 弹窗使用 --dialog-test 离屏截图确认深色样式

OML v1.1.4

Choose a tag to compare

@LSwzx LSwzx released this 25 Oct 06:20

OML 1.1.4

本版是修复 1.1.2 → 1.1.3 自动更新失败问题的补丁版本。

修复

  • 修复更新时报 Failed to acquire exclusive lock file. Is another operation currently running?:
    Velopack 的独占锁被另一个实例或残留 Update.exe 占用时,不再直接失败,而是
    自动等待并重试(5/10/15/20/25 秒,合计约 75 秒),期间更新条显示等待状态
  • 按安装目录限制单实例:重复启动会提示「OML 已在运行」并退出,从根源上避免两个进程同时更新
  • 重试仍失败时给出中文指引:关闭所有 OML 窗口后重试

验证

  • 构建 0 警告 0 错误,离线自检 190 项通过
  • 双开测试:第二个实例弹出「OML 已在运行」,第一个实例保持正常
  • 安装包 / 便携版均通过 --smoke 启动检查

安装

  • OML-win-1.1.4-Installer.exe:带目录选择的安装向导(推荐)
  • OML-win-1.1.4-Portable.zip:免安装,解压即用
  • 安装版自动更新源(releases.win.json + *.nupkg)已附带

如果你在更新时遇到锁冲突,请关闭所有 OML 窗口后重试;仍失败可重启电脑释放锁。

OML v1.1.3

Choose a tag to compare

@LSwzx LSwzx released this 25 Oct 05:44

OML 1.1.3

本版加入基岩版支持,并合入社区 PR、下载稳定性修复与文档/许可证更新。

基岩版(新)

  • 通过 Microsoft Store 解析正式版 / Preview 安装包,复用多线程下载引擎
  • Add-AppxPackage 静默安装主包与依赖(VCLibs 等),无需管理员权限
  • 启动前校验 entitlements/mcstore 中的 product_minecraft_bedrock,未购买会明确提示
  • 通过 shell:appsFolder\<PackageFamilyName>!App 激活游戏
  • 主页基岩卡片显示本地版本;未安装时点击即下载安装,进度进入全局任务栏

下载与任务

  • 30 秒读取超时 + 最多 3 次重试,指数退避 2s → 4s → 8s
  • 重试日志写入日志面板,状态栏显示「正在重试下载 (n/3)…」
  • 最终失败输出 URL、原因、状态码、目标路径;批量失败可点击「查看详情」
  • 60 秒无进度的下载任务会被看门狗自动中断并提示

合并社区 PR

  • 原子写入与进度上报去重、OptiFine 安装逻辑重构
  • 配置字段 autoCheckUpdates / maxDownloadConcurrency 持久化
  • 默认游戏目录解析修复、整合包路径加固
  • 新增 CI:每次 push / PR 自动构建并运行离线自检

文档与许可

  • 许可证切换为 GPL-3.0-only(v1.0.2 之前的版本为 MIT)
  • 新增多语言 README:简繁中文、文言、英式/美式英语、法语、德语、俄语
  • README 增加免责声明:与 Mojang / Microsoft 无关联

安装

  • OML-win-1.1.3-Installer.exe:带目录选择的安装向导(推荐)
  • OML-win-1.1.3-Portable.zip:免安装,解压即用
  • 安装版支持自动更新(releases.win.json + *.nupkg 已附带)

验证

  • 构建 0 警告 0 错误;离线自检 190 项通过
  • Store 解析实测:正式版 1.21.11401.0,Preview 1.21.12020.0

OML v1.1.2

Choose a tag to compare

@LSwzx LSwzx released this 24 Oct 11:56

OML 1.1.2

本次加入自动更新,并修复了在 PCL2 已有游戏目录下的兼容性与误重装问题。

自动更新(安装版)

  • 启动后静默检查新版本(可在 设置 → 启动时自动检查更新 关闭)
  • 发现新版本时窗口顶部显示提示条,点击「后台下载并重启更新」即可升级
  • 更新源为本次 Release 附带的 releases.win.json、assets.win.json 与 OML-1.1.2-full.nupkg
  • 便携版不支持自动更新,请手动替换

PCL2 / 第三方目录兼容

  • 版本扫描不再静默跳过坏 JSON:主页显示「共扫描到 X 个版本,跳过 Y 个」,点击可查看具体异常
  • 扫描容错:注释、尾逗号、字段大小写、未知字段、+0000 时间戳都能正确解析
  • 已验证 PCL2 目录可识别全部 14 个版本(Forge / Fabric / NeoForge / OptiFine)

不再覆盖已有版本

  • 只要 versions/<id>/<id>.json 能解析,启动与安装都进入增量修复模式:不写安装标记、不清理、不覆盖 JSON/jar,只补缺失的依赖与资源
  • 只有 JSON 缺失或彻底损坏时才会走全新安装

修复启动失败

  • 修复 OptiFine / 第三方安装器生成的库没有 downloads/url 时被漏出 classpath,导致
    ClassNotFoundException: net.minecraft.launchwrapper.Launch
  • 实测 1.21.1-OptiFine_J1、1.21.1-Fabric 0.19.5 均可从 PCL 目录直接启动

其他

  • 启动器图标换成 OML 洋葱 Logo,exe、窗口、安装向导统一

验证

  • 自动更新链路实测:安装 1.1.2 → 指向本地 1.1.3 更新源 → 自动下载并重启,sq.version 与文件版本均变为 1.1.3
  • 离线自检 179 项通过

OML v1.1.1

Choose a tag to compare

@LSwzx LSwzx released this 24 Oct 09:34

OML 1.1.1

本次是 1.1.0 之后的稳定性与体验修复版本,重点解决深色主题可读性、Java 自动补全和下载流程。

界面

  • 修复深色主题下大量「深灰底 + 黑字」的问题:账号、设置、下载等页面的说明文字、列表项、弹窗文字统一为浅色
  • 下载页改为 PCL 式向导:进入只看到版本列表与搜索框,点击版本弹出附件面板(Forge 版本下拉 / Fabric / OptiFine),确认后关闭面板

启动

  • 每次启动前清空日志面板,只显示本次启动的输出
  • 32 位 Java 且内存设置超过 2048MB 时,启动前直接拦截并弹窗说明,不再让 JVM 抛 Invalid maximum heap size
  • 启动前自动补 Java:缺少运行时或版本过低时自动下载对应组件,进度显示在全局状态栏,下载完成自动继续启动
  • 修复配置里残留旧 Java(例如为 1.20 下载的 Java 17)导致 1.21 启动报 UnsupportedClassVersionError:配置路径现在会校验主版本
  • 只有自动下载失败时才提示手动指定 Java 路径

下载

  • 下载统一补齐完整游戏资源(Assets),不再提供开关;原版 + 加载器 + 资源打包为一个后台任务
  • 下载底层加固,解决 The SSL connection could not be established:
    • 显式启用 TLS 1.2 / 1.3
    • 自动使用系统代理(加速器 / VPN 场景)
    • 证书链不完整时用服务器中间证书与 Windows 根存储重建验证,不无条件信任未知根

安装

  • 安装包与便携版命名沿用 OML-win-<版本>-Installer.exe / Portable.zip
  • 安装向导支持选择目录,卸载保留配置与存档

说明

  • 本版本 Release 只提供安装包与便携版两个文件,未附带 Velopack 更新源
  • 1.20.1 使用 java-runtime-gamma(17),1.21.1 会自动下载并使用 java-runtime-delta(21)

OML v1.1.0

Choose a tag to compare

@LSwzx LSwzx released this 24 Oct 08:17

OML 1.1.0 正式版

本次是 OML 的第一个正式版本,重点在界面重做与内容生态(资源、光影、整合包)的补齐。

界面

  • 全新的三栏主界面:左侧导航与全局任务卡片,中间 Java/基岩平台卡片与可折叠启动日志,右侧账号、3D 皮肤预览与启动按钮
  • 主题色改为 Modrinth 绿,控件统一圆角,深色主题下按钮对比度修正
  • 版本选择改为点击大字弹出列表,直接看到本地所有版本与整合包实例
  • 选择基岩版时启动按钮文字随之切换;未接入运行时会给出明确提示,而不是静默失败

3D 皮肤预览

  • 接入 WPF-Minecraft-Skin-Viewer(MIT):支持 Slim/Classic 模型与双层皮肤(帽子、袖子)
  • 拖动可旋转,空闲后自动旋转
  • 离线账号与无皮肤用户使用内置 Steve 皮肤(编入程序集资源,单文件发布可用)

内容

  • Modrinth 依赖递归解析:required 依赖会以树状结构展示,可一键连同本体下载
  • 光影分类:搜索、详情、下载到 shaderpacks
  • 整合包:解析 .mrpack 的 modrinth.index.json,自动安装对应版本与加载器、写入 overrides 与模组
  • 整合包实例独立命名(versions/--),不再与加载器版本目录冲突
  • 实例元数据(instance.json)与本地图标缓存,断网时主页仍能显示名称与图标

可靠性

  • 安装原子性:安装前写 .installing 标记,成功后删除;启动时自动清理中断留下的半成品(保留 mods/存档/配置)
  • 全局任务队列:安装与下载切页不中断,支持取消与失败重试
  • 安装/下载进度的全局状态条,失败时变红并可重试

安装与更新

  • 新增 NSIS 安装向导:安装时可选择目录(Velopack 自带的 Setup/MSI 都没有目录页)
  • 继续提供便携版 zip,解压即用
  • Velopack 自动更新框架保留,后续版本会在发布资产中附带更新源

其他

  • 单文件发布:约 71MB 的自包含 exe,无需安装 .NET 运行时
  • 配置迁移到 %AppData%\OML,避免卸载安装目录时误删配置
  • 日志面板、Java 探测、自动下载 Java、检查更新等细节补全

完整变更见提交历史。

OML v1.0.0-Alpha

OML v1.0.0-Alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 05:00

安装说明

  • OML-win-Installer.exe:带目录选择页的安装向导(需要自定义安装路径时用这个)
  • OML-win-Portable.zip:免安装,解压即用

本次内容(首个测试版)

  • 版本管理:在线安装原版 / Fabric / Forge,版本隔离(每个实例独立的 mods、config、存档)
  • 资源页:Modrinth 模组、光影、整合包;依赖树递归解析(required 依赖会自动列出并一起下载)
  • 整合包:解析 .mrpack 的 modrinth.index.json,自动装对应版本与加载器,写入 instance.json 元数据
  • 启动:离线账号、LittleSkin(Yggdrasil)登录,配置 DPAPI 加密
  • 任务队列:安装/下载切页不中断,支持取消与失败重试
  • 自动更新:Velopack,启动时静默检查,窗口顶部提示后一键下载并重启
  • 安装原子性:中断的安装会留下 .installing 标记,下次启动自动清理

已知限制

  • 微软正版登录暂未开放(等待 Mojang 应用白名单审核)
  • Forge 启动需要完整资源,建议安装时勾选“补全资源文件”
  • OptiFine 仅支持导入官方安装包(其安装器没有静默参数)
  • 安装到 Program Files 会导致自动更新失败(更新以当前用户身份写入),向导会拒绝不可写目录

升级方式

已安装旧版本的用户无需手动下载:启动器会自动检测到新版本并在顶部提示。