@@ -10,8 +10,9 @@ author: MemoryShadow
1010
1111### 约束与注意
1212
13- 本篇文章是在HMCL v3 .5.3.230版本中编写的 , 如果您使用的是旧版本, 请注意有些选项可能不存在.
13+ 本篇文章是在 ` HMCL-3 .5.3.230 ` 版本中编写的 , 如果您使用的是旧版本, 请注意有些选项可能不存在.
1414
15+ <!-- {% comment %}-->
1516## 目录
1617
1718- [ 引言] ( #引言 )
@@ -40,50 +41,51 @@ author: MemoryShadow
4041 - [ 代理设置] ( #代理设置 )
4142- [ 特别鸣谢] ( #特别鸣谢 )
4243- [ 参考文章] ( #参考文章 )
44+ <!-- {% endcomment %}-->
4345
4446## 全局游戏设置
4547
46- 这是HMCL中的第一个设置项 , 也是最重要的设置项之一, 它决定了HMCL在启动游戏时的行为 .
48+ 这是 HMCL 中的第一个设置项 , 也是最重要的设置项之一, 它决定了 HMCL 在启动游戏时的行为 .
4749
4850### Java路径
4951
50- 众所周知, Minecraft是由Java编写的, 因此, 在启动游戏时, HMCL需要知道Java( [ JRE] [ 1 ] )的安装路径, 才能启动游戏 .
52+ 众所周知, Minecraft 是由 Java 编写的, 因此在启动游戏时 HMCL 需要知道 Java( JRE[ ^ 1 ] ) 的安装路径才能启动游戏 .
5153
52- 由于HMCL本身就是一个Java程序, 一般能正常启动HMCL就能至少在计算机上找到一个JRE. 但也会由于一些未知因素导致无法找到JRE , 这时, 就需要手动指定JRE的安装路径 .
54+ 由于 HMCL 本身就是一个 Java 程序, 一般能正常启动 HMCL 就能至少在计算机上找到一个 JRE. 但也会由于一些未知因素导致无法找到 JRE , 这时, 就需要手动指定 JRE 的安装路径 .
5355
5456我们先来讨论能够自动识别的情况:
5557
56- 在HMCL启动时 , 会根据注册表项, 环境变量, 以及[ HMCL自身的启动路径 ] [ 2 ] 来寻找JRE . 如果找到了, 就会在"Java路径"这一栏显示出来, 并且在启动游戏时使用这个路径.
58+ 在 HMCL 启动时 , 会根据注册表项, 环境变量, 以及 HMCL 自身的启动路径 [ ^ 2 ] 来寻找 JRE . 如果找到了, 就会在 "Java路径" 这一栏显示出来, 并且在启动游戏时使用这个路径.
5759
58- 上述的情况几乎涵盖了所有, 如果你希望HMCL能够自动找到Java , 就应该使用这些技巧配置好你的计算机环境.
60+ 上述的情况几乎涵盖了所有, 如果你希望 HMCL 能够自动找到 Java , 就应该使用这些技巧配置好你的计算机环境.
5961
6062接下来我们讨论不能自动识别的情况:
6163
62- 通常我们安装解压版本的JRE都不会被HMCL自动找到 , 这时, 就需要手动指定JRE的安装路径 . 你可以展开"Java路径"条目(通常是点击条目右侧的三角), 在展开的下拉列表中选中"自定义"条目后点击右侧的文件夹图标, 在弹出的对话框中选择你Java可执行文件的路径 .
64+ 通常我们安装解压版本的 JRE 都不会被 HMCL 自动找到 , 这时, 就需要手动指定 JRE 的安装路径 . 你可以展开 "Java路径" 条目(通常是点击条目右侧的三角), 在展开的下拉列表中选中"自定义"条目后点击右侧的文件夹图标, 在弹出的对话框中选择你 Java 可执行文件的路径 .
6365
64- #### 自动选择合适的Java
66+ #### 自动选择合适的 Java
6567
66- 在1.16.5版本后, Minecraft的最低支持Java版本从8提升到了16. HMCL可以在已添加的版本中找到最合适的Java版本 , 并在启动游戏时使用这个版本. 整个过程不需要人力介入.
68+ 在1.16.5版本后, Minecraft 的最低支持 Java 版本从 8 提升到了 16. HMCL 可以在已添加的版本中找到最合适的 Java 版本 , 并在启动游戏时使用这个版本. 整个过程不需要人力介入.
6769
6870### 版本隔离
6971
7072这是当前主流启动器都支持的功能, 这个功能能够在尽可能共享依赖库的前提下, 将不同的游戏版本隔离开来, 避免你安装的模组加载器被应用在错误的版本上或是加载到不兼容的版本, 同时最大程度的减少磁盘占用.
7173
72- 此功能的底层原理不在此处过多赘述, 对于用户来说最大的区别就是游戏的实际目录发生了改变, 例如: [ 提取游戏日志的方式] [ 3 ] 被改变了
74+ 此功能的底层原理不在此处过多赘述, 对于用户来说最大的区别就是游戏的实际目录发生了改变, 例如: 提取游戏日志的方式[ ^ 3 ] 被改变了
7375
74- 原本游戏目录默认应该在` .minecraft ` 文件夹, 但在开启版本隔离后, 你实际的游戏目录被切换到了` .minecraft/versions/游戏版本名称 ` , 这会给一些新手或是习惯于使用正版启动器的玩家带来额外的困惑.
76+ 原本游戏目录默认应该在 ` .minecraft ` 文件夹, 但在开启版本隔离后, 你实际的游戏目录被切换到了 ` .minecraft/versions/游戏版本名称 ` , 这会给一些新手或是习惯于使用正版启动器的玩家带来额外的困惑.
7577
7678通常来说, 只要你玩的不是未修改过的版本, 都应该打开版本隔离避免引发错误, 这也能在你删除某个游戏版本时将日志等数据一并清除.
7779
7880### 游戏内存
7981
80- 这与你计算机上的RAM存储器容量有关 , 一般来说选择"自动分配内存"选项会得到一个相对合适的值. 但也许会有一些CPU性能较差希望用内存来交换的玩家愿意分配更多的内存 .
82+ 这与你计算机上的 RAM 存储器容量有关 , 一般来说选择 "自动分配内存" 选项会得到一个相对合适的值. 但也许会有一些 CPU 性能较差希望用内存来交换的玩家愿意分配更多的内存 .
8183
82- 但我告诉您, 这里只是在调整[ JVM] [ 4 ] 能够使用的最大内存容量, 只有在模组/Minecraft官方开发者没有手动控制 [ GC ] [ 5 ] 行为的时候, 才能如你预期的通过内存交换CPU时间
84+ 但我告诉您, 这里只是在调整 JVM[ ^ 4 ] 能够使用的最大内存容量, 只有在模组 / Minecraft 官方开发者没有手动控制 GC [ ^ 5 ] 行为的时候, 才能如你预期的通过内存交换 CPU 时间
8385
8486### 启动器可见性
8587
86- 这个条目有4个选项 , 分别是:
88+ 这个条目有 4 个选项 , 分别是:
8789
8890- 游戏启动后结束启动器
8991- 游戏启动后隐藏启动器
@@ -112,45 +114,45 @@ author: MemoryShadow
112114
113115### JVM参数
114116
115- 调整JVM参数能够更细腻的控制JVM的行为 , 例如是否压缩指针(用CPU换内存 ), 是否频繁GC(还是用CPU换内存 )等等, 这些一般都可以通过类似于 [ 这篇文章 ] [ 6 ] 这样进行调整. 不过要注意的一点是, JVM参数是由实际实现决定的, 是否使用以及是否支持还要看具体的JVM实现 .
117+ 调整JVM参数能够更细腻的控制 JVM 的行为 , 例如是否压缩指针(用 CPU 换内存 ), 是否频繁 GC(还是用 CPU 换内存 )等等, 这些一般都可以通过类似于这篇文章 [ ^ 6 ] 这样进行调整. 不过要注意的一点是, JVM 参数是由实际实现决定的, 是否使用以及是否支持还要看具体的 JVM 实现 .
116118
117119### 本地库路径
118120
119121在一些例如M1芯片之类的设备上, 通用库类可能都不能正常的工作, 要使用版本特殊提供的库类才能令其正常的工作, 你可以使用这个选项对其进行替换
120122
121123### GLFW
122124
123- GLFW是一个轻量级的C语言库,用于创建和管理OpenGL在多个操作系统中的上下文 ,处理用户输入,以及获取时间和帧缓冲。它支持多个窗口、全屏模式、窗口模式、多个输入设备和剪贴板。GLFW是一个独立于操作系统的库,可以在Windows、Mac OS X和Linux等多个平台上使用 。
125+ GLFW是一个轻量级的C语言库,用于创建和管理 OpenGL 在多个操作系统中的上下文 ,处理用户输入,以及获取时间和帧缓冲。它支持多个窗口、全屏模式、窗口模式、多个输入设备和剪贴板。GLFW是一个独立于操作系统的库,可以在 Windows, MacOS, Linux 等多个平台上使用 。
124126
125- 在Linux下,系统自带的窗口管理器(例如xorg)通常已经包含了可以与OpenGL集成的窗口管理器 。因此,使用系统自带的窗口管理器可以避免与其他项目的库冲突,并确保对于系统提供的功能和特性有最好的支持。此外,使用系统自带的窗口管理器也能够最大限度地减少安装和配置上的复杂性。
127+ 在Linux下,系统自带的窗口管理器(例如 xorg)通常已经包含了可以与 OpenGL 集成的窗口管理器 。因此,使用系统自带的窗口管理器可以避免与其他项目的库冲突,并确保对于系统提供的功能和特性有最好的支持。此外,使用系统自带的窗口管理器也能够最大限度地减少安装和配置上的复杂性。
126128
127- 故此, Linux玩家推荐使用系统自带的
129+ 故此, Linux 玩家推荐使用系统自带的
128130
129131### OpenAL
130132
131- OpenAL是一个跨平台的3D音频API ,可以用于在多个操作系统上播放音效和音乐。它支持的特性包括定位、重放、3D效果 、回声、滤波等。可以使用OpenAL提供的函数对声源和听者的位置 、方向、速度等进行控制,以实现3D音频效果 。
133+ OpenAL 是一个跨平台的 3D 音频 API ,可以用于在多个操作系统上播放音效和音乐。它支持的特性包括定位、重放、3D 效果 、回声、滤波等。可以使用 OpenAL 提供的函数对声源和听者的位置 、方向、速度等进行控制,以实现 3D 音频效果 。
132134
133- 在Linux下,OpenAL通常可以与ALSA(高级Linux音频体系结构)或PulseAudio (一种现代的音频子系统)进行集成。使用系统自带的音频支持库,可以确保应用程序与底层音频硬件和设备之间的兼容性,并提供最佳的音频性能和功能。此外,使用OpenAL也可以让应用程序具有跨平台的特性 ,可以在多个操作系统上使用相同的代码和资源来实现音频效果。
135+ 在 Linux 下 OpenAL 通常可以与 ALSA(高级 Linux 音频体系结构)或 PulseAudio (一种现代的音频子系统)进行集成。使用系统自带的音频支持库,可以确保应用程序与底层音频硬件和设备之间的兼容性,并提供最佳的音频性能和功能。此外使用 OpenAL 也可以让应用程序具有跨平台的特性 ,可以在多个操作系统上使用相同的代码和资源来实现音频效果。
134136
135- 故此, Linux玩家推荐使用系统自带的
137+ 故此 Linux 用户推荐使用系统自带的
136138
137139## 通用
138140
139- 这里提供了一些HMCL的通用参数 , 例如启动器是否自动检查更新, 文件下载的缓存目录存放位置, 程序界面的显示语言等. 这些基本都属于"见名知意"的范畴, 不需要过多讨论.
141+ 这里提供了一些 HMCL 的通用参数 , 例如启动器是否自动检查更新, 文件下载的缓存目录存放位置, 程序界面的显示语言等. 这些基本都属于 "见名知意" 的范畴, 不需要过多讨论.
140142
141143## 外观
142144
143- 这里提供了一些HMCL的外观参数 , 例如启动器的主题颜色, 动画显示, 背景图片, 字体等. 这些基本都属于"见名知意"的范畴, 不需要过多讨论.
145+ 这里提供了一些 HMCL 的外观参数 , 例如启动器的主题颜色, 动画显示, 背景图片, 字体等. 这些基本都属于 "见名知意" 的范畴, 不需要过多讨论.
144146
145147## 下载
146148
147149### 下载源
148150
149- 由于网络环境问题, 在之前下载Minecraft可能是一件麻烦事 , 但在现在, 我们有了[ BMCLAPI] [ 7 ] 项目, 该项目无偿为大陆地区用户提供Minecraft相关文件的镜像 . 但有可能存在延迟, 可以按照自己的需求进行选择.
151+ 由于网络环境问题, 在之前下载 Minecraft 可能是一件麻烦事 , 但在现在, 我们有了 BMCLAPI[ ^ 7 ] 项目, 该项目无偿为大陆地区用户提供 Minecraft 相关文件的镜像 . 但有可能存在延迟, 可以按照自己的需求进行选择.
150152
151153### 下载并发数
152154
153- 提高下载并发数能够最大限度的利用您的网络, 但这不是越高越好的. 提高并发数量会对您的计算机和下载源都带来更高的负载, 由于木桶效应的存在, 本地下行带宽, 下载源上行带宽, 您的磁盘读写速度等这过程中的任何一环都会成为下载途中的瓶颈, 所以不要盲目提高并发数, 推荐的家庭带宽并发数在8 ~ 16之间 .
155+ 提高下载并发数能够最大限度的利用您的网络, 但这不是越高越好的. 提高并发数量会对您的计算机和下载源都带来更高的负载, 由于木桶效应的存在, 本地下行带宽, 下载源上行带宽, 您的磁盘读写速度等这过程中的任何一环都会成为下载途中的瓶颈, 所以不要盲目提高并发数, 推荐的家庭带宽并发数在 8 ~ 16 之间 .
154156
155157### 代理设置
156158
@@ -163,18 +165,20 @@ OpenAL是一个跨平台的3D音频API,可以用于在多个操作系统上播
163165
164166## 参考文章
165167
166- - [ 什么是JRE?] ( https://www.ibm.com/cn-zh/topics/jre " 点击查看 ")
167- - [ 整合包自带 Java] ( /modpack/modpack-in-java.md " 点击查看 ")
168- - [ 如何获取Minecraft的游戏日志?] ( https://memoryshadow.cn/index.php/2023/06/03/how-do-i-get-minecraft-game-logs/ " 点击查看 ")
169- - [ 什么是JVM?] ( https://www.ibm.com/support/pages/ibm-i-%E4%B8%8Ajava-%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%AE%80%E4%BB%8B " 点击查看 ")
170- - [ 什么是GC?] ( https://blog.csdn.net/weixin_44908159/article/details/123626886 " 点击查看 ")
171- - [ JVM 参数值] ( https://www.ibm.com/docs/zh/integration-bus/10.0?topic=command-jvm-parameter-values " 点击查看 ")
172- - [ BMCLAPI] ( https://bmclapidoc.bangbang93.com/ " 点击查看 ")
173-
174- [ 1 ] : https://www.ibm.com/cn-zh/topics/jre " 什么是JRE? "
175- [ 2 ] : /modpack/modpack-in-java.md " 整合包自带 Java "
176- [ 3 ] : https://memoryshadow.cn/index.php/2023/06/03/how-do-i-get-minecraft-game-logs/ " 如何获取Minecraft的游戏日志? "
177- [ 4 ] : https://www.ibm.com/support/pages/ibm-i-%E4%B8%8Ajava-%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%AE%80%E4%BB%8B " 什么是JVM? "
178- [ 5 ] : https://blog.csdn.net/weixin_44908159/article/details/123626886 " 什么是GC? "
179- [ 6 ] : https://www.ibm.com/docs/zh/integration-bus/10.0?topic=command-jvm-parameter-values " JVM 参数值 "
180- [ 7 ] : https://bmclapidoc.bangbang93.com/ " BMCLAPI "
168+ [ ^ 1 ] : [ 什么是JRE?] ( https://www.ibm.com/cn-zh/topics/jre " 点击查看 ")
169+
170+ <!-- {% comment %}-->
171+ [ ^ 2 ] : [ 整合包自带 Java] ( ../_modpack/bundled-java.md " 点击查看 ")
172+ <!-- {% endcomment %}--{{ '>' }}
173+ [^2]: <a href="{% link _modpack/bundled-java.md %}" title="点击查看">整合包自带 Java</a>
174+ {{ '<' }}!---->
175+
176+ [ ^ 3 ] : [ 如何获取Minecraft的游戏日志?] ( https://memoryshadow.cn/index.php/2023/06/03/how-do-i-get-minecraft-game-logs/ " 点击查看 ")
177+
178+ [ ^ 4 ] : [ 什么是JVM?] ( https://www.ibm.com/support/pages/ibm-i-%E4%B8%8Ajava-%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%AE%80%E4%BB%8B " 点击查看 ")
179+
180+ [ ^ 5 ] : [ 什么是GC?] ( https://blog.csdn.net/weixin_44908159/article/details/123626886 " 点击查看 ")
181+
182+ [ ^ 6 ] : [ JVM 参数值] ( https://www.ibm.com/docs/zh/integration-bus/10.0?topic=command-jvm-parameter-values " 点击查看 ")
183+
184+ [ ^ 7 ] : [ BMCLAPI] ( https://bmclapidoc.bangbang93.com/ " 点击查看 ")
0 commit comments