IEML
极简 Minecraft 启动器 —— 不做"功能最多",做最快、最小、最好用的那个。
为什么值得一装
真的小
NSIS 安装程序 2.40 MB、绿色版裸 exe 6.59 MB。用系统自带的 WebView2,不打包 Chromium(Electron 光壳就约 150 MB)。前端产物 355 kB,gzip 后约 110 kB。
内核是 Rust
zip 解压、SHA1 边下边算、并发下载、进程管理全在 Rust 侧;主进程工作集 30.5 MB。界面用 React 18 + TypeScript + Vite,样式手写不引 UI 框架。
真下载、真启动
不是演示壳:实际下过 1.20.1(912 条版本清单 → 88 个库 → 3598 个资源文件,355 秒、峰值 67 MB/s)并真实启动,日志里 7/7 初始化标记全部命中。
「装完之后」那一半也有
日志 / 控制台 / 崩溃分析 / 启动失败界面 / 停止游戏都在。崩溃首屏给的是原因 + 建议动作而不是堆栈;导出报告自动脱敏,并明确告诉你处理了哪些敏感信息。
加载器按三层理解
基础加载器(Forge / NeoForge / Fabric / Quilt)严格单选,OptiFine、LiteLoader 是受约束的附加层,Fabric API 这类前置包自动补齐。不可用的组合会给出具体理由,不是一个灰色复选框。
Mod 绝不偷偷更新
Mod、API、游戏版本、加载器是四角绑定,任何一角变动都可能让游戏起不来 —— 所以启动器只在后台检查并打角标,更新永远要你手动点,旧文件先进回收站。
界面




界面结构参照 PCL2 的「正副级页面」:一级侧栏固定 4 项,进入某个版本后整条侧栏换成该版本的二级页 —— 「我在第几层」由侧栏自己回答。
当前版本
功能状态:能做什么,不能做什么
发布页最容易骗人的地方就是把"打算做"写成"已支持"。所以这里分成两栏,没做完的照实写。
已经能用
- 真实下载与真实启动(1.20.1 实测通过)
- 自动获取 Java(Adoptium,带 SHA256 校验与实跑验证)
- 微软账号登录(设备码流程,令牌进系统密钥环)
- 离线模式
- Fabric / Quilt 安装(profile JSON)
- Mod 管理:扫描 / 状态判定 / 启停 / 批量
- 崩溃分析与脱敏导出
- 版本隔离、内存自动分配(数字是算出来的并给依据)
还没做完
- Forge / NeoForge 官方安装器执行 —— 当前会明确拒绝并说明原因,不假装成功
- 整合包(.mrpack):清单解析已通,建实例 / 按清单下载 / 覆盖文件未完成
- 从 Modrinth 直接下载 Mod 放进 mods/
- 暂停按钮:引擎支持断点续传,界面还没做
- macOS / Linux 未实测
更新日志
-
v0.1.02026-09首个公开发布
- 从零构建的启动器骨架:Rust 内核 + Tauri 2 外壳 + React 前端,三层架构(UI / bridge / domain)
- 真实下载链路打通:版本清单 → 库(按架构过滤)→ 资源文件 → natives 解压
- 真实启动:参数拼装、进程管理、stdout/stderr 重定向到日志、游玩时长统计
- PCL2 式正副级页面结构(一级 4 项 / 二级整条替换),深浅两套主题
- 加载器三层模型与兼容性规则、Mod 四角绑定与手动更新策略
- 崩溃分析 + 脱敏导出、镜像默认源(BMCLAPI)
下载
常见问题
和 PCL2 / HMCL 比,它凭什么存在?
不拼功能数量。同一件事上它只做三个取舍:体积小一个量级、内核放 Rust、界面按"正副级页面"重新组织过。加载器兼容性、Mod 更新策略这些规则是从 PCL2 / HMCL 的实现里读出来重写的,不是拍脑袋。
为什么必须联网才能下游戏?官方源不是很慢吗?
本机实测 maven.fabricmc.net、maven.neoforged.net、maven.quiltmc.org、api.curseforge.com 全部不可达,所以 BMCLAPI 是默认下载源,Mojang 官方源作为可选。
会给 Mod 自动更新吗?
不会。Mod、API、游戏版本、加载器是四角绑定,任何一角变动都可能让游戏起不来。启动器只在启动时检查并打角标,更新永远需要你手动点,旧文件先进回收站。
崩溃日志导出会不会泄露账号信息?
导出前会自动脱敏(账号令牌 / 用户名 / IP),并且会主动告诉你处理了什么,而不是默默替换掉。
