mirror of
https://gitee.com/huanghongxun/HMCL-docs.git
synced 2026-09-26 16:01:10 +08:00
Compare commits
7
Commits
8c9f18ba9c
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3164a93414 | ||
|
|
d81793250a | ||
|
|
b720c78692 | ||
|
|
1a97f19d9e | ||
|
|
1665129a05 | ||
|
|
bb8bc0c862 | ||
|
|
9d0091ad5e |
@@ -11,7 +11,6 @@ concurrency:
|
||||
cancel-in-progress: false
|
||||
env:
|
||||
JEKYLL_ENV: production
|
||||
ENABLE_WEBP_AUTO_CONVERSION: "true"
|
||||
GITHUB_PR_NUMBER: ${{ github.event_name == 'issue_comment' && github.event.issue.number || github.event.pull_request.number }}
|
||||
jobs:
|
||||
cache-refresh:
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
---
|
||||
|
||||
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1244928526007664646)
|
||||
|
||||
- GP-6790: 将 fxsvgimage 更新至 1.9.1 (by Glavo)
|
||||
- GP-6792: 将 jsoup 更新至 1.23.2 (by Glavo)
|
||||
- GP-6794: 将 JUnit 更新至 6.1.3 (by Glavo)
|
||||
- GP-6793: 将 commonmark 更新至 0.30.0 (by Glavo)
|
||||
- GP-6809: 将 kala-compress 更新至 1.27.1-4 (by Glavo)
|
||||
- GP-6670: 支持在 Linux 双显卡平台上优先使用 NVIDIA 显卡 (by Glavo)
|
||||
- GP-6675: 完善乌克兰语翻译 (by BANER)
|
||||
- GP-6658: 移除“操作被取消”提示 (by 辞庐)
|
||||
- GP-6664: 优化投影管理中文件夹已存在时的提示 (by 辞庐, Glavo)
|
||||
- GP-6677: 完善德语翻译 (by BANER)
|
||||
- GP-6705: 优化无验证服务器提示 (by 辞庐)
|
||||
- GP-6580: 重构 `GameRepository` (by Glavo)
|
||||
- GP-6692: 将 Checkstyle 报告同步至 Pull Request 审查评论 (by neveler)
|
||||
- GP-6465: 将 `ModpackHelper#findMinecraftDirectoryInManuallyCreatedModpack` 迁移至 `kala-compress` (by 辞庐)
|
||||
- GP-6715: 主动修剪堆内存 (by Glavo)
|
||||
- GP-6731: 优先按照游戏版本排序实例 (by Calboot)
|
||||
- GP-6732: 清理游戏实例时删除版本目录根部的所有日志文件 (by Calboot)
|
||||
- GP-6696: 支持使用系统 SDL (by 辞庐)
|
||||
- GP-6704: 优化验证服务器选择样式 (by 辞庐, Glavo)
|
||||
- GP-6771: 优化 `LineSelectButton` 弹出菜单的副标题配色 (by 辞庐)
|
||||
- GP-6775: 点击主页“下载”按钮时保留先前打开的页面 (by 辞庐)
|
||||
- GP-6767: 优化微软登录扫描二维码界面布局 (by 辞庐)
|
||||
- GP-6763: 清理 `PropertyUtils` (by 辞庐)
|
||||
- GP-6778: 优化修改实例游戏版本页面的标题 (by 辞庐)
|
||||
- GP-6762: 使用相同逻辑提取验证服务器的展示域名 (by 辞庐)
|
||||
- GP-6758: 更新 `launch.advice.lwjgl_3_4_1` 文案 (by 辞庐)
|
||||
- GP-6787: 重构游戏管理功能 (by Glavo)
|
||||
- GP-6729: 将 `ModListPageSkin` 移至 `ModListPage` 内部 (by Calboot)
|
||||
- GP-6203: 在选择磁盘根目录作为游戏目录时弹出警告 (by 辞庐)
|
||||
- GP-6197: 简化 `DefaultLauncher#getEnvVars` (by 辞庐, Glavo)
|
||||
- GP-6811: 让 `OAuthServer` 仅监听 `localhost` (by 辞庐)
|
||||
|
||||
错误修复:
|
||||
|
||||
- GP-6653: 修复 `.gitignore` 缺少 `hmcl-mod-update-list-*` 的问题 (by 辞庐)
|
||||
- GP-6586: 修复列表中的涟漪状态不更新的问题 (by Calboot)
|
||||
- GP-6676: 修复在 Linux 平台上错误地将 Intel 核显探测为独立显卡的问题 (by Glavo)
|
||||
- GP-6656: 修复 macOS 上打开对话框后按 Command+Q 无法退出的问题 (by Calboot)
|
||||
- GP-6643: 修复 Cleanroom 和 LiteLoader 实例不读取子文件夹中模组的问题 (by Calboot)
|
||||
- GP-6631: 修复导出包含大型文件的 Modrinth 整合包时可能内存不足的问题 (by Apostrophe, Glavo)
|
||||
- GP-6671: 修复 Modrinth 分类的中英文翻译与上游不一致的问题 (by 3gf8jv4dv)
|
||||
- GP-6695: 修复 Modrinth 分类的西里尔字母语言翻译与上游不一致的问题 (by 3gf8jv4dv)
|
||||
- GP-6712: 修复无法读取以 `.zip` 为扩展名的模组的问题 (by Calboot)
|
||||
- GP-6496: 修复可通过本地安装同时安装 Cleanroom 与 Forge 的问题 (by 辞庐)
|
||||
- GP-6716: 修复使用相对路径的 `DefaultGameRepository` 无法安装实例的问题 (by Glavo)
|
||||
- GP-6718: 修复安装新实例时未将 patch 合并到主 manifest 中的问题 (by Glavo)
|
||||
- GP-6736: 修复 KDE Wayland 下 HMCL 不跟随系统缩放的问题 (by olivezane, Glavo)
|
||||
- GP-6753: 修复选择组件版本页面标题异常的问题 (by 辞庐)
|
||||
- GP-6757: 修复更换游戏组件版本对话框消息文本异常的问题 (by 辞庐)
|
||||
- GP-6784: 修复 Legacy Fabric 实例图标异常的问题 (by 辞庐)
|
||||
- GP-6779: 修复全局实例设置页面可能缺少“Vulkan 渲染器/驱动”选项的问题 (by 辞庐)
|
||||
- GP-6777: 修复更改模组加载器版本时下载依赖项任务未正确归类的问题 (by 辞庐)
|
||||
- GP-6789: 修复缩放 SVG 图片时会加载 `JFXPanel` 类的问题 (by Glavo)
|
||||
- GP-6764: 修复初次进入新增游戏目录页面时不会自动填充 `.minecraft` 上级目录名称的问题 (by 辞庐)
|
||||
- GP-6774: 修复实例列表中新快照图标错误的问题 (by 辞庐)
|
||||
- GP-6709: 修复列表首次点击时不显示涟漪以及滚动时仍保持涟漪的问题 (by Calboot)
|
||||
- GP-6805: 修复 `GameDirectoryPage` 缺少 `MessageDialogPane` 导入语句的问题 (by 陈梦泽)
|
||||
- GP-6746: 修复自动安装页面重复显示已安装项目的问题 (by 辞庐)
|
||||
- GP-6807: 修复 Minecraft 1.4.7 安装 Legacy Fabric 后无法正常启动的问题 (by Glavo)
|
||||
- GP-6808: 修复 Java 列表无法刷新版本信息的问题 (by Wulian233)
|
||||
- GP-6532: 修复下载附加内容时依赖列表因文件缺失而加载失败以及类别标题未居中的问题 (by Calboot)
|
||||
- GP-6812: 修复通过不同方式打开的游戏选择弹出菜单文字大小不一致的问题 (by 辞庐)
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
---
|
||||
|
||||
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1247918016512917523)
|
||||
|
||||
- GP-6837: 将 kala-compress 更新至 1.27.1-5 (by Glavo)
|
||||
- GP-4017: 不再支持导出 MultiMC 整合包 (by Burning_TNT)
|
||||
- GP-6826: 将部分文案中的 Hello Minecraft! Launcher 简写为 HMCL (by 辞庐)
|
||||
- GP-6834: 打开 ZIP 文件时忽略本地文件头 (by Glavo)
|
||||
- GP-6838: 优化 `ArchiveFileTree` 构建性能 (by Glavo)
|
||||
- GP-6836: 完善游戏安装任务取消或失败后的资源清理 (by Glavo)
|
||||
- GP-6816: 优化实例图标设置操作按钮 (by 辞庐)
|
||||
- GP-6840: 将整合包文件选择控件移至可复用的树单元格中 (by Glavo)
|
||||
- GP-6475: 在修改游戏版本时清除已选的模组加载器 (by 辞庐)
|
||||
- GP-6730: 延后加载并缓存资源包图标 (by Calboot)
|
||||
- GP-6595: 为 CurseForge 请求添加失败重试,并完善整合包模组下载的完整性校验与缓存复用 (by bluebullet, Glavo)
|
||||
- GP-6286: 启动器检查更新失败时显示提示 (by Calboot)
|
||||
- GP-6038: 支持在实例列表中右键编辑游戏目录 (by NWMA-FYWF, Glavo)
|
||||
- GP-6813: 支持在 macOS 上通过 Command+W 关闭游戏崩溃、HMCL 崩溃窗口,以及游戏结束后的日志窗口 (by Calboot)
|
||||
- GP-6853: 为简体中文资源使用 `zh-Hans` 语言标签 (by Glavo)
|
||||
- GP-6849: 添加 Minecraft 26.3 快照版和候选发布版的版本信息 (by Glavo)
|
||||
- GP-6857: 重构本地库检测逻辑 (by Glavo)
|
||||
|
||||
错误修复:
|
||||
|
||||
- GP-6830: 修复导出包含已禁用模组的 Modrinth 整合包时出错的问题 (by Xirren)
|
||||
- GP-6824: 修复无法启动新版本 Cleanroom 的问题 (by 辞庐)
|
||||
- GP-6823: 修复实例管理工具栏文字变小的问题 (by Wulian233)
|
||||
- GP-6832: 修复父实例缺失的实例仍显示在实例列表中的问题 (by Glavo)
|
||||
- GP-6839: 修复无法启动安装了 Forge 的 Minecraft 1.6.4 实例的问题 (by Glavo)
|
||||
- GP-6436: 修复名称过长的模组显示异常的问题 (by ZZZank)
|
||||
- GP-6289: 修复模组版本页面不显示未受支持的模组加载器标签的问题 (by Calboot, Glavo)
|
||||
- GP-6619: 修复 CurseForge 搜索结果排序不合理的问题,并移除无实际意义的搜索排序方式 (by Calboot)
|
||||
- GP-6555: 修复 macOS 上主题模式无法跟随系统设置的问题 (by Calboot)
|
||||
- GP-6843: 修复更新游戏实例时未同步客户端 JAR 文件的问题 (by Glavo)
|
||||
- GP-6209: 修复 Yggdrasil 账户后续登录时未重新验证访问令牌的问题 (by lcxn123)
|
||||
- GP-6854: 修复右键部分选项时游戏选择弹出菜单重复叠加的问题 (by Wulian233)
|
||||
- GP-6844: 修复带标签列表项的宽度计算错误的问题 (by Glavo)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
---
|
||||
|
||||
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1250156214145253401)
|
||||
|
||||
- GP-1771: 支持在安装整合包时选择可选文件 (by CaveNightingale)
|
||||
- GP-6859: 完善俄语翻译 (by Ivan Epikhin)
|
||||
- GP-6870: 支持在非官方支持的平台上启动 Minecraft 26.3-snapshot-10 及更新版本 (by Glavo)
|
||||
- GP-6877: 添加 Minecraft 26.3-rc-3 的版本信息 (by Glavo)
|
||||
- GP-6094: 优化原理图管理,新增支持 `.schematic`、`.schem` 和 `.nbt` 文件 (by Calboot, 3gf8jv4dv)
|
||||
|
||||
错误修复:
|
||||
|
||||
- GP-6866: 修复编辑游戏目录时不修改名称就无法保存的问题 (by Apostrophe)
|
||||
- GP-6886: 在 Cleanroom 环境中移除 `icu4j-core-mojang` 依赖 (by 辞庐)
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
---
|
||||
|
||||
[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1249018945486192640)
|
||||
|
||||
**启动器**
|
||||
|
||||
- GP-6871: 支持在 FreeBSD x86-64、Linux Arm64、Linux LoongArch64 和 Linux RISC-V64 平台上启动 Minecraft 26.3-snapshot-10 及更高版本 (by Glavo)
|
||||
- GP-6879: 补充 Minecraft 26.3 快照版、预发布版、候选发布版和正式版的版本信息 (by Glavo)
|
||||
|
||||
**实例管理**
|
||||
|
||||
GP-6878: 优化模组列表的加载性能 (by Glavo)
|
||||
|
||||
**外观**
|
||||
|
||||
GP-6873: 改进 SVG 图像的识别与加载 (by Glavo)
|
||||
|
||||
**下载**
|
||||
|
||||
GP-6872: 更新模组数据(2026-07-21) (by Glavo)
|
||||
|
||||
**错误修复**
|
||||
|
||||
- GP-6874: 修复 Legacy Fabric 实例图标异常的问题 (by Glavo)
|
||||
- GP-6875: 修复无法读取以 `.zip` 为扩展名的模组的问题 (by Glavo, ToobLac)
|
||||
- GP-6876: 修复导出包含大型文件的 Modrinth 整合包时可能内存不足的问题 (by Glavo, Apostrophe)
|
||||
@@ -340,6 +340,8 @@ post_process:
|
||||
- /assets/js/plugins/smooth-scroll.js
|
||||
- /assets/js/plugins/jquery.auto-redirect.js
|
||||
- /assets/js/_main.js
|
||||
/assets/js/hmcl-signature-verify.min.js:
|
||||
- /assets/js/hmcl-signature-verify.js
|
||||
remove_dirs:
|
||||
- /assets/images/
|
||||
- /assets/js/plugins/
|
||||
@@ -350,3 +352,4 @@ post_process:
|
||||
- /assets/js/theme.js
|
||||
- /assets/js/settings.js
|
||||
- /assets/js/main.min.js.map
|
||||
- /assets/js/hmcl-signature-verify.js
|
||||
|
||||
@@ -49,7 +49,7 @@ docs:
|
||||
url: /changelog/dev.html
|
||||
- title: 其他
|
||||
children:
|
||||
- title: 验证 HMCL
|
||||
- title: HMCL 校验
|
||||
url: /verify.html
|
||||
- title: 用户协议
|
||||
url: /eula/hmcl.html
|
||||
|
||||
+25
-19
@@ -1,16 +1,17 @@
|
||||
---
|
||||
title: 各大问题集合
|
||||
date: 2025-09-19 13:40:00 +0800
|
||||
date: 2026-09-12 23:50:00 +0800
|
||||
authors:
|
||||
- LIPiston
|
||||
- Mine-diamond
|
||||
- SinetianLiu
|
||||
---
|
||||
|
||||
> 这是一个提供给新手或小白的阅读文档,旨在用最简单的方式帮你快速上手 HMCL 启动器和 Minecraft 游戏。如需深入了解某个主题,可点击文中提供的链接查看详细文档。
|
||||
> 这不是什么 Minecraft 速通指南/如何活过第一夜一类的东西。如果想要按教程游玩 Minecraft、充分享受其乐趣,那么[Minecraft Wiki 中文站的教程](https://zh.minecraft.wiki/w/教程)或许更适合你。
|
||||
|
||||
### 如何登录账户
|
||||
|
||||
你需要使用微软账户购买游戏才能游玩 Minecraft,或者使用离线账户/外置账户。
|
||||
通常来讲,你需要使用微软账户购买游戏才能游玩 Minecraft;或者,也可以使用离线账户/外置账户。
|
||||
|
||||
你可以在 [Minecraft 官网](https://www.minecraft.net/store/minecraft-java-bedrock-edition-pc?tabs=%7B%22details%22%3A0%7D) 或 [Xbox 商店](https://www.xbox.com/games/store/minecraft-java-bedrock-edition-for-pc/9nxp44l49shj) 购买游戏。
|
||||
|
||||
@@ -18,11 +19,11 @@ authors:
|
||||
|
||||
### 如何下载游戏
|
||||
|
||||
使用 HMCL 下载 Minecraft 非常简单,只需几步即可完成。
|
||||
使用 HMCL 下载 Minecraft 非常简单,只需几步即可完成。
|
||||
|
||||
如果你尚未安装任何实例(即未安装过任何游戏版本),可以直接点击 **「开始游戏」**。HMCL 会自动安装最新正式版 Minecraft 并启动游戏。
|
||||
如果你尚未安装任何实例(即未安装过任何游戏版本),可以直接点击 **「开始游戏」**。HMCL 会自动安装最新正式版 Minecraft 并启动游戏。
|
||||
|
||||
若想下载更多实例(首次下载也可以按此方式操作),请按以下步骤进行:
|
||||
若想下载更多实例(首次下载也可以按此方式操作),请按以下步骤进行:
|
||||
|
||||
在主界面找到并点击左侧的「下载」按钮。
|
||||
|
||||
@@ -42,17 +43,18 @@ authors:
|
||||
|
||||
### 游戏玩法是什么
|
||||
|
||||
在等待游戏下载时,不妨先了解一下它的核心玩法。
|
||||
在等待游戏下载时,不妨先了解一下它的核心玩法。
|
||||
|
||||
作为一款沙盒游戏,简单的说,核心玩法就是 **「破坏」** 和 **「创造」** 。你可以自由地探索世界、收集资源、建造家园、挑战怪物……
|
||||
作为一款沙盒游戏,简单的说,核心玩法就是 **「破坏」** 和 **「创造」** 。你可以自由地探索世界、收集资源、建造家园、挑战怪物……
|
||||
|
||||
对于新手而言,下面这些官方中文 Wiki 链接是你的最佳起点:
|
||||
|
||||
- **新手入门必读**:[Minecraft Wiki 新手手册](https://zh.minecraft.wiki/w/%E6%95%99%E7%A8%8B/%E6%96%B0%E6%89%8B%E6%89%8B%E5%86%8C)
|
||||
- **生存第一天指南**:[教程:第一天怎么过](https://zh.minecraft.wiki/w/Tutorial:%E7%AC%AC%E4%B8%80%E5%A4%A9)
|
||||
|
||||
### 什么是资源包
|
||||
|
||||
你可能听到有其他玩家讨论好看的「材质包」。
|
||||
你可能听到有其他玩家讨论好看的「材质包」。
|
||||
|
||||
「材质包」一般是单指修改了游戏纹理的「资源包」,也是 Minecraft 1.5 及之前版本使用的称呼。
|
||||
|
||||
@@ -66,6 +68,7 @@ authors:
|
||||
- **想制作自己的资源包?** 深入了解 [资源包详细资料](https://zh.minecraft.wiki/w/%E8%B5%84%E6%BA%90%E5%8C%85)。
|
||||
|
||||
你可以在下列网站获取资源包:
|
||||
|
||||
- [CurseForge](https://www.curseforge.com/minecraft/texture-packs)
|
||||
- [Modrinth](https://modrinth.com/resourcepacks)
|
||||
|
||||
@@ -74,6 +77,7 @@ authors:
|
||||
你可能听说过我的世界拥有丰富的模组(Mod)资源。模组是一类能改变或增加游戏内容的强大工具,它允许你新增方块、生物、物品与机制等内容。通过安装模组,你可以获得更丰富的内容、更顺手的玩法体验和更出色的视听表现。
|
||||
|
||||
你可以在下列网站获取模组信息,并在 HMCL 内下载和安装:
|
||||
|
||||
- [MC 百科](https://www.mcmod.cn/)
|
||||
- [CurseForge](https://www.curseforge.com/minecraft/search?class=mc-mods)
|
||||
- [Modrinth](https://modrinth.com/mods)
|
||||
@@ -82,9 +86,9 @@ HMCL 自动安装与使用模组教程: [跳转](/_launcher/auto-installing.md
|
||||
|
||||
#### 安装模组后游戏报错怎么办
|
||||
|
||||
安装模组后游戏无法启动或崩溃是常见的情况,通常是模组冲突或缺少前置模组导致的。别担心,大部分问题都能轻松解决。
|
||||
安装模组后游戏无法启动或崩溃是常见的情况,通常是模组冲突或缺少前置模组导致的。别担心,大部分问题都能轻松解决。
|
||||
|
||||
在 HMCL《自动安装与模组下载简介》的末尾讲到了常用的解决方法: [跳转](/_launcher/auto-installing.md#安装-mod-后游戏报错无法启动)
|
||||
在 HMCL《自动安装与模组下载简介》的末尾讲到了常用的解决方法: [跳转](/_launcher/auto-installing.md#%E5%AE%89%E8%A3%85-mod-%E5%90%8E%E6%B8%B8%E6%88%8F%E6%8A%A5%E9%94%99%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8)
|
||||
|
||||
或者前往模组包报错排查手册中查看: [跳转](/_modpack/error-handbook.md)
|
||||
|
||||
@@ -92,17 +96,19 @@ HMCL 自动安装与使用模组教程: [跳转](/_launcher/auto-installing.md
|
||||
|
||||
### 如何选择游戏的 Java 版本
|
||||
|
||||
HMCL 会自动管理 Java,并针对不同版本的游戏自动选择合适的 Java 版本。若在启动游戏时未检测到合适的 Java,HMCL 也会提示下载 Java(点击“下载”即可完成安装)。对于新手玩家,使用默认设置即可。
|
||||
HMCL 会自动管理 Java,并针对不同版本的游戏自动选择合适的 Java 版本。若在启动游戏时未检测到合适的 Java,HMCL 也会提示下载 Java(点击“下载”即可完成安装)。对于新手玩家,并不建议手动更改Java版本——这可能会导致游戏崩溃。使用默认设置即可。
|
||||
|
||||
如果你确实需要手动安装并指定 Java 版本:
|
||||
如果你确实需要手动安装并指定 Java 版本:
|
||||
|
||||
**安装 Java:**
|
||||
1. 进入 **设置 -> Java 管理**,此处会展示 HMCL 安装的或系统中已安装的 Java。
|
||||
2. 如果需要下载 Java,点击「下载 Java」,选择所需的版本,然后点击「确定」。
|
||||
3. 如果你安装了 Java 但是没有被 HMCL 识别,选择「添加 Java」,找到你需要的 Java 安装路径下的 `java.exe` 文件(仅 Windows)或 `java` 文件(仅 Linux/macOS),然后点击确定。
|
||||
|
||||
1. 进入 **设置 -> Java 管理**,此处会展示 HMCL 安装的或系统中已安装的 Java。
|
||||
2. 如果需要下载 Java,点击「下载 Java」,选择所需的版本,然后点击「确定」。
|
||||
3. 如果你安装了 Java 但是没有被 HMCL 识别,选择「添加 Java」,找到你需要的 Java 安装路径下的 `java.exe` 文件(仅 Windows)或 `java` 文件(仅 Linux/macOS),然后点击确定。
|
||||
|
||||
**选择 Java:**
|
||||
- 如果希望所有实例都使用同一 Java 版本,进入「设置 -> 全局游戏设置」,选择要使用的 Java。该 Java 将用于所有使用全局游戏设置的实例(一般不推荐)。
|
||||
- 如果仅需为某个实例指定 Java 版本,进入该实例的「实例管理界面 -> 游戏设置」(勾选“启用实例特定游戏设置”),然后选择要使用的 Java。该 Java 仅用于该实例的启动。
|
||||
|
||||
> **重要提示**:如果你在更换 Java 后遇到任何游戏崩溃或无法启动的问题,**请立即切换回 HMCL 默认的 Java 版本**。
|
||||
- 如果希望所有实例都使用同一 Java 版本,进入「设置 -> 全局游戏设置」,选择要使用的 Java。该 Java 将用于所有使用全局游戏设置的实例(一般不推荐)。
|
||||
- 如果仅需为某个实例指定 Java 版本,进入该实例的「实例管理界面 -> 游戏设置」(勾选“启用实例特定游戏设置”),然后选择要使用的 Java。该 Java 仅用于该实例的启动。
|
||||
|
||||
> **重要提示**:如果你在更换 Java 后遇到任何游戏崩溃或无法启动的问题,**请立即切换回 HMCL 默认的 Java 版本**。
|
||||
@@ -6,11 +6,10 @@ authors:
|
||||
- Burning_TNT
|
||||
- TyMxy
|
||||
---
|
||||
|
||||
## Terracotta | 陶瓦联机
|
||||
|
||||
> [!TIP]
|
||||
> 欢迎您填写<a href="https://f.kdocs.cn/ksform/w/write/njMwdtgD?channel=mdlsjp" data-delay="10" data-redirect>反馈表单</a>。
|
||||
> 欢迎您填写[反馈表单](https://f.kdocs.cn/ksform/w/write/njMwdtgD?channel=mdlsjp)。
|
||||
|
||||
我们注意到了 EasyTier 项目。它提供了一种简单、安全、去中心化的异地组网方案,足以承载 Minecraft 的联机需求。
|
||||
在 EasyTier 开发团队的帮助下,我们决定重新在启动器内提供联机服务。
|
||||
@@ -18,11 +17,11 @@ authors:
|
||||
如要体验陶瓦联机,请遵循以下步骤:
|
||||
打开 HMCL,然后您可通过 HMCL 左下角 **多人联机** 入口体验 Terracotta | 陶瓦联机。
|
||||
|
||||
目前,HMCL、PCL CE和FCL 已实现最基本的互通支持。我们欢迎其他启动器接入 Scaffolding 协议实现更完整的互通功能。
|
||||
目前,HMCL、PCL CE和FCL已实现最基本的互通支持。我们欢迎其他启动器接入 Scaffolding 协议实现更完整的互通功能。
|
||||
|
||||
为向尽可能多的玩家免费开放基本联机功能,陶瓦联机将极大程度上基于 P2P。
|
||||
简单而言,陶瓦联机不会比市面上基于服务器中继的联机方案稳定,但其开销将远远低于其他联机方案。
|
||||
需要特别提醒的是:联机功能不会更不能取代 Minecraft: Java Edition 服务器。
|
||||
它的主要目标依然是让朋友之间能共同游玩,而不是长时间的对外开放。
|
||||
|
||||
最后,我想感谢一切参与到 EasyTier、Terracotta \| 陶瓦联机开发和测试、为 EasyTier 提供打洞和中继服务器的社区志愿者。欢迎大家访问 [easytier.cn](https://easytier.cn) 深入了解这一项目。
|
||||
最后,我想感谢一切参与到 EasyTier、Terracotta | 陶瓦联机开发和测试、为 EasyTier 提供打洞和中继服务器的社区志愿者。欢迎大家访问 [EastTier官网](https://easytier.cn) 深入了解这一项目。
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: 多人联机在macOS 15+的已知问题
|
||||
date: 2025-10-07T18:44:00+08:00
|
||||
last_modified_at: 2026-06-18T12:07:00+08:00
|
||||
authors:
|
||||
- SinetianLiu
|
||||
---
|
||||
## 来源
|
||||
|
||||
在较新的macOS中,引入了“本地网络”权限。而欲申请这一权限,进程必须以macOS原生app运行。这导致由裸Java启动的Minecraft进程**无法申请这一权限**,也就无法连接本地网络,进而导致无法正常联机。
|
||||
|
||||
## 现况
|
||||
|
||||
无法解决。请尝试别的联机方式。
|
||||
+22
-80
@@ -1,98 +1,40 @@
|
||||
---
|
||||
title: 验证 HMCL 文件
|
||||
title: HMCL 校验
|
||||
permalink: /verify.html
|
||||
classes: wide
|
||||
toc: false
|
||||
---
|
||||
|
||||
<div class="hmcl-verify">
|
||||
<p>检查 HMCL 文件是否是官方构建。</p>
|
||||
检查 HMCL 文件是否是官方构建。
|
||||
|
||||
<div class="hmcl-verify__actions">
|
||||
<label class="hmcl-verify__button" for="hmcl-verify-file">选择文件</label>
|
||||
<span id="hmcl-verify-selected-file" class="hmcl-verify__file">未选择文件</span>
|
||||
<input id="hmcl-verify-file" class="hmcl-verify__input" type="file" accept=".jar,.exe,.sh">
|
||||
</div>
|
||||
|
||||
<div id="hmcl-verify-result" class="hmcl-verify__result" role="status" aria-live="polite" hidden></div>
|
||||
<div id="hmcl-verify" class="notice">
|
||||
<div id="hmcl-verify-alert">点击并选择文件或将文件拖拽到此处进行校验</div>
|
||||
<div id="hmcl-verify-file"></div>
|
||||
<input id="hmcl-verify-input" type="file" accept=".jar,.exe,.sh">
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.hmcl-verify {
|
||||
max-width: 42rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.65;
|
||||
}
|
||||
|
||||
.hmcl-verify p {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.hmcl-verify__actions {
|
||||
#hmcl-verify {
|
||||
gap: 2em;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: .75rem;
|
||||
flex-wrap: wrap;
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
.hmcl-verify__button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 2.25rem;
|
||||
padding: .35rem .8rem;
|
||||
border: 1px solid rgba(127, 127, 127, .45);
|
||||
border-radius: 4px;
|
||||
background: rgba(127, 127, 127, .12);
|
||||
color: inherit;
|
||||
font-size: .9rem;
|
||||
line-height: 1.2;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
aspect-ratio: 16 / 9;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
transition: background-color .3s ease;
|
||||
}
|
||||
|
||||
.hmcl-verify__button:hover {
|
||||
filter: brightness(.95);
|
||||
#hmcl-verify-alert {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.hmcl-verify__file {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
opacity: .72;
|
||||
font-size: .9rem;
|
||||
overflow-wrap: anywhere;
|
||||
#hmcl-verify-file {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.hmcl-verify__input {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.hmcl-verify__result {
|
||||
margin-top: 1rem;
|
||||
padding: .75rem .9rem;
|
||||
border: 1px solid rgba(127, 127, 127, .35);
|
||||
border-left-width: 4px;
|
||||
border-radius: 4px;
|
||||
background: rgba(127, 127, 127, .08);
|
||||
font-size: .95rem;
|
||||
line-height: 1.6;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.hmcl-verify__result[hidden] {
|
||||
#hmcl-verify-input {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.hmcl-verify__result[data-state="ok"] {
|
||||
border-color: #2e7d32;
|
||||
}
|
||||
|
||||
.hmcl-verify__result[data-state="error"] {
|
||||
border-color: #c62828;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="{{ '/assets/js/hmcl-signature-verify.js' | relative_url }}"></script>
|
||||
<script src="/assets/js/hmcl-signature-verify.min.js"></script>
|
||||
|
||||
@@ -105,6 +105,10 @@ module KramdownEnhancer
|
||||
if el.value == "a" && el.attr["href"].is_a?(String)
|
||||
el.attr["href"] = relative_url(el.attr["href"])
|
||||
el.options[:relative] = true
|
||||
elsif el.value == "script" && el.attr["src"].is_a?(String)
|
||||
puts el.attr["src"]
|
||||
el.attr["src"] = relative_url(el.attr["src"])
|
||||
el.options[:relative] = true
|
||||
elsif el.value == "img" && el.attr["src"].is_a?(String)
|
||||
src = el.attr["src"]
|
||||
el.attr["src"] = relative_url(el.attr["src"])
|
||||
|
||||
@@ -27,26 +27,53 @@
|
||||
}
|
||||
}
|
||||
|
||||
const fileInput = document.getElementById("hmcl-verify-file");
|
||||
const resultElement = document.getElementById("hmcl-verify-result");
|
||||
const selectedFileElement = document.getElementById("hmcl-verify-selected-file");
|
||||
let verificationRequestId = 0;
|
||||
const container = document.getElementById("hmcl-verify");
|
||||
if (!container) return;
|
||||
["dragenter", "dragover", "dragleave", "drop"].forEach(eventName => {
|
||||
container.addEventListener(eventName, (e) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}, false);
|
||||
});
|
||||
|
||||
["dragenter", "dragover"].forEach(eventName => {
|
||||
container.addEventListener(eventName, () => {
|
||||
container.className = "notice--info";
|
||||
}, false);
|
||||
});
|
||||
|
||||
["dragleave", "drop"].forEach(eventName => {
|
||||
container.addEventListener(eventName, () => {
|
||||
container.className = "notice";
|
||||
}, false);
|
||||
});
|
||||
|
||||
container.addEventListener("drop", (event) => handleFiles(event.dataTransfer.files), false);
|
||||
|
||||
const fileInput = document.getElementById("hmcl-verify-input");
|
||||
if (!fileInput) return;
|
||||
|
||||
container.addEventListener("click", () => fileInput.click());
|
||||
const resultElement = document.getElementById("hmcl-verify-alert");
|
||||
const selectedFileElement = document.getElementById("hmcl-verify-file");
|
||||
|
||||
if (!fileInput || !resultElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
fileInput.addEventListener("change", async () => {
|
||||
fileInput.addEventListener("change", async () => handleFiles(fileInput.files));
|
||||
|
||||
let verificationRequestId = 0;
|
||||
async function handleFiles(files) {
|
||||
const requestId = ++verificationRequestId;
|
||||
const file = fileInput.files && fileInput.files[0];
|
||||
const file = files && files[0];
|
||||
if (!file) {
|
||||
setSelectedFileName("");
|
||||
hideResult();
|
||||
return;
|
||||
}
|
||||
|
||||
setSelectedFileName(file.name);
|
||||
setResult("正在验证,请稍候...");
|
||||
setResult("正在校验中");
|
||||
|
||||
try {
|
||||
await verifyHmclFile(file);
|
||||
@@ -54,16 +81,16 @@
|
||||
return;
|
||||
}
|
||||
setResult(
|
||||
"验证通过,该文件是 HMCL 的官方构建,可以放心使用。",
|
||||
"校验成功,该文件是 HMCL 的官方构建,可以放心使用",
|
||||
"ok"
|
||||
);
|
||||
} catch (error) {
|
||||
if (!isCurrentVerification(requestId)) {
|
||||
return;
|
||||
}
|
||||
setResult(`验证失败。\n${formatVerificationError(error)}`, "error");
|
||||
setResult(`校验失败,${formatVerificationError(error)}`, "error");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function isCurrentVerification(requestId) {
|
||||
return requestId === verificationRequestId;
|
||||
@@ -359,46 +386,42 @@
|
||||
function formatVerificationError(error) {
|
||||
switch (error && error.code) {
|
||||
case VerificationErrorCode.MISSING_PUBLIC_KEY:
|
||||
return "这不是可验证的 HMCL 文件,或者 HMCL 版本过低,无法验证。";
|
||||
return "这不是可验证的 HMCL 文件,或者 HMCL 版本过低,无法验证";
|
||||
|
||||
case VerificationErrorCode.MISSING_SIGNATURE:
|
||||
return "这是非官方构建,请谨慎甄别其来源。";
|
||||
return "这是非官方构建,请谨慎甄别其来源";
|
||||
|
||||
case VerificationErrorCode.INVALID_PUBLIC_KEY:
|
||||
case VerificationErrorCode.INVALID_SIGNATURE:
|
||||
case VerificationErrorCode.INVALID_LAUNCHER_HEADER:
|
||||
return "该 HMCL 文件可能被篡改或已损坏,请不要使用此文件。你可以从 HMCL 官方网站重新下载 HMCL。";
|
||||
return "该 HMCL 文件可能被篡改或已损坏,请不要使用此文件;你可以从 HMCL 官方网站重新下载 HMCL";
|
||||
|
||||
case VerificationErrorCode.INVALID_ZIP:
|
||||
return "这个文件不是有效的 HMCL 文件,或文件已经损坏。";
|
||||
return "这个文件不是有效的 HMCL 文件,或文件已经损坏";
|
||||
|
||||
case VerificationErrorCode.UNSUPPORTED_ZIP:
|
||||
return "暂不支持验证这种文件格式。";
|
||||
return "暂不支持验证这种文件格式";
|
||||
|
||||
case VerificationErrorCode.UNSUPPORTED_BROWSER:
|
||||
return "当前浏览器不支持读取这个文件,请换用新版 Chrome、Edge 或 Firefox。";
|
||||
return "当前浏览器不支持读取这个文件,请换用新版 Chrome、Edge 或 Firefox";
|
||||
|
||||
default:
|
||||
return "无法完成验证,请确认你选择的是从官方渠道下载的 HMCL 文件。";
|
||||
return "无法完成验证,请确认你选择的是从官方渠道下载的 HMCL 文件";
|
||||
}
|
||||
}
|
||||
|
||||
function setResult(message, state) {
|
||||
resultElement.textContent = message;
|
||||
resultElement.hidden = false;
|
||||
if (state) {
|
||||
resultElement.dataset.state = state;
|
||||
resultElement.style.display = "block";
|
||||
if (state === "ok") {
|
||||
container.className = "notice--success";
|
||||
} else if (state === "error") {
|
||||
container.className = "notice--danger";
|
||||
} else {
|
||||
delete resultElement.dataset.state;
|
||||
container.className = "notice";
|
||||
}
|
||||
}
|
||||
|
||||
function hideResult() {
|
||||
resultElement.textContent = "";
|
||||
resultElement.hidden = true;
|
||||
delete resultElement.dataset.state;
|
||||
}
|
||||
|
||||
function setSelectedFileName(fileName) {
|
||||
if (selectedFileElement) {
|
||||
selectedFileElement.textContent = fileName || "未选择文件";
|
||||
|
||||
@@ -18,6 +18,8 @@ title: 新手导航
|
||||
> 如果您遇到 BUG,请及时在 [HMCL/issues](https://github.com/HMCL-dev/HMCL/issues) 发送反馈。\
|
||||
> 您也可以在这里提交您的建议。
|
||||
|
||||
这里是HMCL的官方帮助文档。如欲了解HMCL的使用方法、解决常见问题,请翻阅下方目录。如欲咨询崩溃原因,可前往[QQ群](https://docs.hmcl.net/groups.html)或[Discord群](https://discord.com/invite/jVvC7HfM6U)寻求帮助。
|
||||
|
||||
{% include toc %}
|
||||
|
||||
{% for group in site.data.navigation.docs -%}
|
||||
|
||||
Reference in New Issue
Block a user