yz 的博客

为什么我又写了一个 Minecraft 启动器

2026-11-01

市面上的启动器不少,功能也都齐。我还是自己写了一个,原因很土:我想要的东西它不给。

具体就是两件事。一是同一个版本装多个加载器时,不想为了每个整合包再复制一份原版文件,硬盘撑不住;二是下载页里的东西应该让我一眼看出「这是什么分类、有多少人用、支持哪些版本」,而不是丢一堆英文名过来。

于是有了 X Craft Launcher。C# + WPF,跑在 .NET Framework 4.8 上,免安装单文件。

做的事情

一个值得记的坑

有一阵启动必弹「Could not create the Java Virtual Machine」,只在高版本 Java 上出现。

排查了半天,根因是我在 javaMajor >= 17 的分支里加了个 JVM 参数:


-XX:G1NewSizePercent=20

这个参数在 JDK 17 以后算实验性的,不加 -XX:+UnlockExperimentalVMOptions 就会被直接拒绝,JVM 连启动都不启动,弹窗是它自己弹的。删掉参数就好了。

教训是:调 JVM 参数要一个分支一个分支验,别按旧版本的经验往外套。现在启动命令行会落盘到 logs\launch-*.log,以后再遇到这类问题直接看文件。

现在还做不到的

联机。PCL 那套基于 EasyTier 的 P2P 方案我没抄出来,暂时是占位页。

源码在 GitHub 上,欢迎提 issue。