这一页是生成的,不手工编辑。它只有两个来源:版本号、日期与改动内容取自
更新日志(启动器弹出「有新版本」时显示的正文就是它),
文件大小与 SHA-1 取自更新通道本身 —— 生成时会把通道上的 jar 下载下来亲自算一遍,
算出来的值和通道自己声明的不一致就直接失败,不会写进页面。
换句话说:这一页上的每个数字都可以自己复核。文件在下载页,
与启动器自动更新拿到的是同一份字节。这一页没有访问计数、没有用户数、没有评分 ——
因为那些数字不是这个项目在维护的东西。
这一版把免 Java 包第一次启动时那 42 MB 的图形组件搬进了压缩包本身,装好就不用再等它下载。
改好的
- 免 Java 包第一次启动不再联网补齐图形组件。启动器界面用的 JavaFX 组件(6 个文件,约 42 MB)过去是第一次运行时现从网上下载的,所以刚解压出来的包第一次双击 之后要对着没有窗口的桌面等一会儿 —— 机器越慢越明显。现在这 6 个文件直接放在包里, 第一次启动就已经就位;压缩包也因此从约 58 MB 变成约 97 MB,多出来的就是它们。 已经装过启动器的机器不受影响,游戏、存档和配置都不受影响。
- 文件
- HEU-Launcher-1.0.7.jar
- 大小
- 22,679,630 字节(约 21.6 MiB)
- SHA-1
- 8ac5afaa8ed990208a31f798d26d797139ea3c70
下载这个版本
在更新日志里看这一版
这一版修的是「社区页第一次打开要白等几秒」这件事。新装一台机器上,社区页要下载一次浏览器引擎 (约 160 MB),而启动器里写的第一条下载地址少了一段路径,于是每个用户都会先向一个 不存在的地址要一次文件,等它失败之后才退到后面那条镜像上重新开始。
修好的
- 社区页第一次打开时白白多等一次失败。浏览器引擎的下载地址里缺了
jcef-natives/ 这一段,第一条镜像对每个用户都必然回 404 —— 启动器不会先下到一半再失败,而是先空等一次错误响应(约 3–5 秒、零字节), 再从头走排在后面的那条慢镜像。地址已改正,现在第一条镜像就能用: 实测同一台机器上下完 162 MB 的时间从「先失败几秒再慢慢下」变成只剩下载本身 (13 秒,之前是 32–36 秒)。已经装过引擎的机器不受影响。
- 滚轮位移的读数与约定对齐(界面上看不出变化)。把滚轮位移交给浏览器时, 内部有一个读数曾经取过反,和代码里写明的约定相反。真正决定方向的那处此前已经改正, 这一处是把剩下的读数一并对齐,免得以后照着它再写出一个反向的来。 滚轮手感与 1.0.5 相同。
在更新日志里看这一版
这一版主要是给「不会用 jar 文件」的用户准备的:除了原来的 .jar, 下载页多了一个 Windows 压缩包,解压之后双击就能用,电脑上不需要装 Java。 另外修了两处毛病,并把下载的字节搬到了社区的对象存储上。
新增
- 免装 Java 的 Windows 版本。下载页新增
HEU-Launcher-1.0.5-windows-x64.zip:解压到任意空目录, 双击里面的 HEU-Launcher-1.0.5.exe 即可,压缩包里自带了一个精简的 Java 运行时(jre-x64 目录)。请把整个目录一起解压, 不要把 .exe 单独复制出去 —— 启动器是靠旁边的 jre-x64 找到 Java 的,少了它就又要回到「先装 Java」那条路上了。 原来的 .jar 照旧提供,macOS 和 Linux 用户继续用它。
- 下载改从社区的对象存储提供,速度更快。启动器本体和上面那个 Windows 压缩包现在都从社区的对象存储(
dl.kuocait.xyz)下载, 不再全部挤在本项目自己那一台服务器上。原先那份拷贝保留着: 对象存储若出问题,自动更新会回退到原来的地址,而不是变成「更新不了」。 自动更新也跟着走快的那条路。
修好的
- 社区页面里滚轮滚反了。往下滚滚轮,页面往上走。原因是把两个方向的 约定想当然地对调了一次;现已按真实滚轮上的手感改正。
- 正版账号登录被放弃后,端口一直被占着。在浏览器里点了「取消」之后, 对话框会停在「请稍候」,回环端口也不会释放 —— 连着放弃几次,后面的绑定就会 发现端口全被占用了。现在取消会真的结束等待并归还端口。
- 「获取帮助」里的社区入口换成了哈工程 Minecraft 协会的 QQ 群。 原来那个指向上游 HMCL 社区,那不是我们要把用户送去的地方。
在更新日志里看这一版
这一版把两处「本该早就修好、但一直没人看见」的地方补上,并在服务器广场加了一个入口。
修好的
- 导入 HMCL 格式的整合包时,任务列表里会显示一串键名。 安装任务那一行文字取自一个叫
modpack.type.hmcl 的文案键,而这个键 在任何一种语言里都不存在 —— 同一个分支里兄弟格式(MultiMC、Modrinth) 用的键都在,只有它漏了。于是界面上显示的就是这串键名本身,十种语言都一样。 这是上游 HMCL 就带着的问题,不是这个构建引入的。现已补上。
- 「设置 → 关于」页有若干条目在七种语言里显示的是英文。 这些条目(内置字体、版权声明、部分鸣谢)此前在阿拉伯语、德语、西班牙语、日语、文言、 俄语、乌克兰语里没有翻译,会回落到英文原文。现已补齐,十种语言都有各自的语言文字。
新增
- 服务器广场现在有一个「申请入驻」入口。工具栏里多了一个按钮, 广场为空时列表里也会多一行 —— 点开会在浏览器里打开社区的入驻申请页。 申请需要 HEU 社区账号,提交后由管理员审核,通过之后服务器才会出现在广场上; 启动器里写清了这两步,因为这个过程不是即时的。
在更新日志里看这一版
启动器本身的功能这一版一行没动。改的是「怎么把一个版本发出去」—— 因为前两次发布各有一处 会安静地出错,而两处都不是启动器能自己发现的问题。
发布流程
- 发布脚本以前跑不起来。它按「往上数几层父目录」来定位仓库根目录, 数错了,于是走到最后一步才失败 —— 也就是在已经做完一堆事情之后才失败。现在按特征找 (找到放着
gradlew.bat 的那一层),走到哪一步出错就在哪一步停下。
- 一条 javac 警告不再能打断发布。发布前会检查启动器给用户看的每一个网址, 而新域名当时不在允许清单里,检查因此报错、发布因此中断。域名已加入清单; 该检查现在真的会被跑,而不是「有脚本,但没人跑」。
- 发布时会连下载页一起更新。下载页上写着版本号、文件大小和 SHA-1, 而它是从更新通道生成的 —— 所以一次发布之后它立刻过期。上一个版本发出来的时候就是这样: 有一段时间
/download 还在提供上一个版本,大小和哈希彼此一致、看起来毫无破绽。 现在发布流程会重新生成并部署下载页,然后从外面访问一次,确认页面上写的确实是刚发布的版本。
官网
- 启动器里所有给用户看的网址,域名从
heumc.api.kuocai.cn 改为 heumc.kuocai.cn。旧域名继续可用:已经装好的启动器里编译进去的就是它, 停掉旧域名等于让所有已安装的启动器再也收不到更新,而这个故障要等到用户需要更新时才会暴露。
- 官网有了自己的前门(
https://heumc.kuocai.cn/),并保留一份与 heumc.api.kuocai.cn 完全相同的镜像:两个域名提供同一份字节。
在更新日志里看这一版
这一版修的是社区页面(启动器里内嵌的那个网页)的输入问题。前一天上线的社区页面里, 键盘和滚轮几乎都不能用 —— 下面这些是原因和结果。
社区页面的输入
- 打字不再把窗口掀翻。敲键盘时,启动器会构造一个 AWT 键盘事件交给内嵌浏览器; 当那个事件不带字符(比如按下一个不产生字符的键)时,构造出来的对象是非法的, 会把整个启动器窗口一起带走。现在这种事件不再被构造。
- 真的能打出字了。字符在 AWT 事件的
getCharacter() 里,而不在 getText() 里 —— 之前取错了字段,所以敲什么都没用。
- 退格、方向键、Ctrl+A 全部生效。这些键不产生字符,走的是另一条路径, 需要在事件里带上私有的扫描码,内嵌浏览器才认得出来。
- 滚轮滚得动了。滚轮的增量在传到浏览器之前被整除成了 0 像素, 所以怎么滚都不动;现在按浏览器实际使用的单位换算。
- 离开社区页面不再持续占用内存。每次进出社区页面都会多留一整张帧缓冲, 来回几次之后显存和内存都会明显增长;现在视图会随浏览器一起解绑。
自动更新
- 启动器有了自己的更新通道。以前这个派生构建完全不做更新检查, 所以修好的东西永远送不到已经装了启动器的人手里。现在它从
heumc.api.kuocai.cn 检查更新,并会真的把新版本装上。
- 它只接受自己家的构建。安装之前会检查下载到的 jar 里有没有
hmcl.publisher=heumc 标记。没有这个标记的 jar 一律拒绝安装 —— 所以这个通道不会把任何人换成上游原版 HMCL,也不会装上来源不明的文件。
- 未签名的构建不再被误判成「可能损坏」。「这个 jar 没有签名」和 「这个 jar 的签名验不过」从此是两件事,各自有各自的提示。
其他
- 微软账户登录对话框不再声称「无法保证其安全性」,并且把「没有配置客户端 ID」 从「非官方构建」里独立出来单独说明。
- 本启动器的下载页地址已可用:/download。
- 更新失败时提示的手动下载地址,改为本项目自己的下载页 —— 之前指向一个并不存在的 GitHub 仓库,等于把用户送进死胡同。
在更新日志里看这一版
HEU 专用 HMCL 启动器的第一个版本,从上游 HMCL 派生。
- 品牌独立:名称、图标、启动画面改为 HEU 专用 HMCL 启动器,版本号独立于上游。
- 视觉改版:内置方舟像素字体,MC 方块风格皮肤。
- 服务器广场:实测服务器延迟(SLP),条目解析与历史记录。
- 联机大厅:陶瓦传输 + 平台公开目录 + frps 中继兜底。
- 平台账号认证:HEU 统一身份(Logto,OIDC 授权码 + PKCE)与 Yggdrasil 网关对接。
在更新日志里看这一版