- 版权类型
- 二次开发
- 适用平台
- Windows、MacOS、Linux
- 前置组件
- Java 17/JDK 17+ https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
HMCL CE:面向社区与多平台的 Minecraft 启动器
HMCL CE(Hello Minecraft! Launcher Community Edition)是一款基于 HMCL 上游项目持续开发的开源、跨平台 Minecraft Java 版启动器。它继承了 HMCL 成熟的游戏安装、版本管理、模组管理和跨平台运行能力,同时维护独立的版本发布渠道,并围绕插件扩展、插件来源管理和软件供应链安全进行了进一步建设。
HMCL CE 不仅希望帮助玩家更方便地启动 Minecraft,也试图将账号、Java 环境、游戏实例、模组加载器、整合包和联机服务统一到一个图形化管理平台中。无论是刚接触 Minecraft 的普通玩家,还是需要维护大量实例、制作整合包或开发启动器扩展的高级用户,都可以从中获得较完整的工具支持。
对于拥有多个 Java 环境的用户,HMCL CE 可以检测和管理本机 Java,并根据 Minecraft 版本选择合适的运行时。启动器自身需要 Java 17 或更高版本运行,推荐使用 Java 21,但仍然可以调用较旧版本的 Java 启动有相应需求的 Minecraft 版本。
多种账号与认证方式
HMCL CE 提供了较完整的账号体系,支持 Microsoft 正版账号、离线账号,以及基于 Yggdrasil 和 authlib-injector 的第三方认证服务。
账号数据、身份信息和私有凭据由不同的设置组件进行管理。对于需要连接不同服务器或使用多个角色的玩家,启动器可以集中维护账号,并在启动实例时选择所需身份。
广泛的跨平台能力
跨平台支持是 HMCL 系列项目的重要特色,也是 HMCL CE 的主要优势之一。项目可以运行在 Windows、Linux、macOS 和 FreeBSD 等操作系统上,并覆盖多种 CPU 架构,包括:
- x86-64
- x86
- ARM64
- ARM32
- RISC-V 64
- MIPS64el
- LoongArch64
其中,Windows、Linux、macOS 和 FreeBSD 的 x86-64 平台获得完整支持;ARM64 在主流桌面系统上也拥有较完善的兼容性。项目还为 RISC-V、龙芯和 MIPS 等相对少见的平台提供不同程度的支持,使 Minecraft 能够在更多硬件环境中运行。
这种兼容性不仅体现在启动器本身。HMCL CE 还包含针对不同系统和架构选择 Java、OpenJFX、本地库以及 Minecraft 运行依赖的相关逻辑,尽可能减少用户在非主流平台上的手动配置工作。
CE 独立插件系统
插件系统是 HMCL CE 相较于上游项目最具代表性的扩展之一。它允许开发者在不直接修改启动器主体代码的情况下,为启动器增加新功能。
HMCL CE 使用 .npl 插件包格式,并支持以下扩展形式:
- Java 插件
- Kotlin 插件
Java 和 Kotlin 插件在 JVM 中通过独立的插件类加载器加载;C# 扩展则由外部 Companion Host 执行,不会将 DLL 直接交给 JVM 加载。插件可以声明入口、版本、启动器版本要求、依赖关系和权限,并通过生命周期接口响应加载、启用、禁用和卸载等事件。
插件系统还提供了依赖规划、版本约束、状态持久化、安装事务、异常恢复和用户界面注册等机制。新安装或更新的插件会进入待重启事务,避免在当前进程中直接替换正在运行的代码。对于需要使用 Mixin 修改启动器行为的插件,系统还会要求额外权限和用户确认。
插件商店与来源管理
HMCL CE 内置了插件商店及插件来源管理功能。用户可以添加自定义仓库源,也可以发现带有 hmclce GitHub Topic 的社区插件仓库。
在展示或安装插件时,启动器会检查仓库清单、插件 ID、版本、下载地址、SHA-256 摘要、依赖关系和权限声明,并在安装前向用户展示插件来源和所需权限。插件依赖解析器可以协助制定安装方案,减少版本不兼容或依赖缺失问题。
HMCL CE 没有将社区插件是否获得官方认证作为安装前提。用户仍可以安装未认证的社区插件,但需要根据仓库源码、维护者身份、Release 记录和社区反馈自行判断其可信度。这种设计在保持开放生态的同时,也尽可能为用户提供明确的风险信息。
权限与信任机制
为了降低第三方插件带来的风险,HMCL CE 构建了一套插件权限和信任体系。
插件需要在清单中声明可能使用的能力,其中部分权限可以被标记为运行所必需。用户授权会与插件 ID、版本以及插件包的 SHA-256 摘要绑定。当插件版本或文件发生变化后,旧授权不会被无条件沿用。
项目中还包含插件信任根、签名验证、仓库证明、制品证明、状态缓存和认证记录等组件。构建流程能够验证信任根的格式、有效期、公钥标识和角色分配,并使用 Ed25519 等机制建立插件来源与制品身份之间的信任关系。
这些机制并不能替代用户对第三方代码的判断,但可以减少插件包被替换、来源被冒充或权限声明不一致等问题。
独立且可验证的更新链
HMCL CE 使用独立的 GitHub Releases 发布和更新渠道,与 HMCL 上游保持清晰的产品边界。稳定版本启用了 CE 自有的公钥签名链,并为发布文件生成 SHA-1、SHA-256 和 SHA-512 校验值。
正式构建还可以在 JAR 包中附加 RSA 签名。启动器进行更新时能够结合版本信息、文件摘要和签名进行完整性检查,从而降低更新文件在传输或分发过程中被篡改的风险。
根据仓库当前文档,稳定版本为 HMCL CE 26.8 Release 1,版本根配置为 26.8。具体版本和下载信息应以项目 GitHub Releases 页面为准。
联机与辅助功能
项目中包含“陶瓦联机”相关模块,可以在支持的平台上提供联机能力。该功能覆盖 Windows、Linux、macOS 和 FreeBSD 的主流 64 位环境,并支持部分 ARM64 平台。
除了基本的启动功能外,HMCL CE 还具备以下辅助能力:
- 游戏文件完整性检查与修复
- 多下载源和代理设置
- 自动检测硬件与 Java 环境
- 游戏崩溃信息与诊断数据生成
- 皮肤和角色信息展示
- 启动器主题、字体、背景和界面缩放设置
- 多语言及本地化资源回退
- 自动更新与手动更新引导
- 整合包导入、更新和导出
- 多实例隔离与预设配置
这些功能共同构成了一套覆盖“下载、配置、管理、启动、排错和扩展”的完整工具链。
社区驱动的开源项目
HMCL CE 是一个社区驱动的项目。它保留了 HMCL 上游项目的作者历史和基础设计,同时维护自己的发布版本、更新渠道和插件生态。开发者和用户可以通过提交 Issue、功能建议和 Pull Request 参与项目建设。
项目基于 GNU GPLv3 发布,并附有额外条款:分发修改版本时,需要合理修改软件名称或版本号,以便与原始版本区分;同时不得移除程序中显示的版权声明。