Compare commits

..

4 Commits

Author SHA1 Message Date
何杰豪
8cd78ee4a3
shader (#53)
* shader

* shader

* improve

* image

* improve
2023-06-23 18:18:45 +08:00
何杰豪
db648a083a
多人联机维护 (#52)
* new

* change
2023-06-23 18:18:19 +08:00
MemoryShadow
b12294f40a
docs: 新增一个设置介绍页 (#50) 2023-06-23 18:18:04 +08:00
zkitefly
921f2bcff4
更新 3.5.4.234 changelog (#51)
* 更新 dev.md

* 更新 dev.md

* 更新 dev.md
2023-06-23 18:17:29 +08:00
16 changed files with 259 additions and 28 deletions

View File

@ -10,7 +10,30 @@ toc: true
*Notice: changelogs are written in Chinese.*
<h1 id="nowchange">HMCL 3.5.4.232</h1>
<h1 id="nowchange">HMCL 3.5.4.234</h1>
- 拒绝在被 Fractureiser 病毒感染的设备上启动 HMCL若检测到将会提示并退出[详情](https://github.com/fractureiser-investigation/fractureiser#readme)
- 检测 HMCL 是否处于 macOS 上的 App TranslocationmacOS 使用了 [App Translocation](https://lapcatsoftware.com/articles/app-translocation.html) 机制,可能会自动将 HMCL 移动至 `/private/var/folders` 中的临时文件夹内,导致用户关闭 HMCL 后游戏数据和设置丢失)
- 添加 Linux RISC-V 64 平台支持
- 日志分析窗口中显示物理内存大小
- 更新 Minecraft 购买链接
- 添加删除游戏资源文件按钮
- 优化 SSL 异常报错信息
- 添加更多日志分析规则
- 更新搜索版本号
- 更新游戏版本号检测性能
- 添加隐藏测试版提示开关
- 更新翻译
错误修复:
- 修复在 Minecraft 1.20 不能正常使用游戏内聊天功能的问题
- 修复在 Windows on ARM 平台上的启动问题
- 修复使用系统 GLFW 选项对 1.19+ 不生效的问题
- 修复无法使用 macOS aarch64 JRE 启动部分版本的问题
- 修复一些崩溃问题
# HMCL 3.5.4.232
- 添加环境变量设置
- 添加渲染器设置
@ -101,7 +124,7 @@ toc: true
- 修复 Mcbbs 整合包 JVM 参数覆盖版本设置的问题
# HMCL 3.5.3.227
- 多人联机功能暂时下线维护[https://hmcl.huangyuhui.net/api/redirect/multiplayer-migrate](https://hmcl.huangyuhui.net/api/redirect/multiplayer-migrate)
- 多人联机功能暂时下线维护[详情](https://hmcl.huangyuhui.net/api/redirect/multiplayer-migrate)
- 修复中文路径下启动 <= 1.12.2 的版本没有声音的问题
- 修复 提示弹窗 的文本显示问题
- 更新相关翻译

View File

@ -0,0 +1,186 @@
---
title: "设置项详解"
permalink: /launcher/set-item-details.html
date: 2023-6-09 10:26:00 +0800
categories: 启动器
toc: true
---
![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fdocs.hmcl.net%2Flauncher%2Fset-item-details.html&count_bg=%233E4245&title_bg=%233E4245&icon=&icon_color=%23E7E7E7&title=%F0%9F%91%80&edge_flat=false)
> 本文由 MemoryShadow 编写。
## 引言
本篇文章将从"全局游戏设置", "通用", "外观"与"下载"这几个维度, 详细的为您介绍HMCL设置中各个选项的作用, 对于一些能够"见名知意"的条目, 在本篇文章中不过多讨论.
### 约束与注意
本篇文章是在HMCL v3.5.3.230版本中编写的, 如果您使用的是旧版本, 请注意有些选项可能不存在.
## 目录
- [引言](#引言)
- [约束与注意](#约束与注意)
- [目录](#目录)
- [全局游戏设置](#全局游戏设置)
- [Java路径](#java路径)
- [自动选择合适的Java](#自动选择合适的java)
- [版本隔离](#版本隔离)
- [游戏内存](#游戏内存)
- [启动器可见性](#启动器可见性)
- [游戏启动后结束启动器](#游戏启动后结束启动器)
- [游戏启动后隐藏启动器](#游戏启动后隐藏启动器)
- [保持启动器可见](#保持启动器可见)
- [隐藏启动器并在游戏结束后重新打开](#隐藏启动器并在游戏结束后重新打开)
- [游戏参数](#游戏参数)
- [JVM参数](#jvm参数)
- [本地库路径](#本地库路径)
- [GLFW](#glfw)
- [OpenAL](#openal)
- [通用](#通用)
- [外观](#外观)
- [下载](#下载)
- [下载源](#下载源)
- [下载并发数](#下载并发数)
- [代理设置](#代理设置)
- [特别鸣谢](#特别鸣谢)
- [参考文章](#参考文章)
## 全局游戏设置
这是HMCL中的第一个设置项, 也是最重要的设置项之一, 它决定了HMCL在启动游戏时的行为.
### Java路径
众所周知, Minecraft是由Java编写的, 因此, 在启动游戏时, HMCL需要知道Java([JRE][1])的安装路径, 才能启动游戏.
由于HMCL本身就是一个Java程序, 一般能正常启动HMCL就能至少在计算机上找到一个JRE. 但也会由于一些未知因素导致无法找到JRE, 这时, 就需要手动指定JRE的安装路径.
我们先来讨论能够自动识别的情况:
在HMCL启动时, 会根据注册表项, 环境变量, 以及[HMCL自身的启动路径][2]来寻找JRE. 如果找到了, 就会在"Java路径"这一栏显示出来, 并且在启动游戏时使用这个路径.
上述的情况几乎涵盖了所有, 如果你希望HMCL能够自动找到Java, 就应该使用这些技巧配置好你的计算机环境.
接下来我们讨论不能自动识别的情况:
通常我们安装解压版本的JRE都不会被HMCL自动找到, 这时, 就需要手动指定JRE的安装路径. 你可以展开"Java路径"条目(通常是点击条目右侧的三角), 在展开的下拉列表中选中"自定义"条目后点击右侧的文件夹图标, 在弹出的对话框中选择你Java可执行文件的路径.
#### 自动选择合适的Java
在1.16.5版本后, Minecraft的最低支持Java版本从8提升到了16. HMCL可以在已添加的版本中找到最合适的Java版本, 并在启动游戏时使用这个版本. 整个过程不需要人力介入.
### 版本隔离
这是当前主流启动器都支持的功能, 这个功能能够在尽可能共享依赖库的前提下, 将不同的游戏版本隔离开来, 避免你安装的模组加载器被应用在错误的版本上或是加载到不兼容的版本, 同时最大程度的减少磁盘占用.
此功能的底层原理不在此处过多赘述, 对于用户来说最大的区别就是游戏的实际目录发生了改变, 例如: [提取游戏日志的方式][3]被改变了
原本游戏目录默认应该在`.minecraft`文件夹, 但在开启版本隔离后, 你实际的游戏目录被切换到了`.minecraft/versions/游戏版本名称`, 这会给一些新手或是习惯于使用正版启动器的玩家带来额外的困惑.
通常来说, 只要你玩的不是未修改过的版本, 都应该打开版本隔离避免引发错误, 这也能在你删除某个游戏版本时将日志等数据一并清除.
### 游戏内存
这与你计算机上的RAM存储器容量有关, 一般来说选择"自动分配内存"选项会得到一个相对合适的值. 但也许会有一些CPU性能较差希望用内存来交换的玩家愿意分配更多的内存.
但我告诉您, 这里只是在调整[JVM][4]能够使用的最大内存容量, 只有在模组/Minecraft官方开发者没有手动控制[GC][5]行为的时候, 才能如你预期的通过内存交换CPU时间
### 启动器可见性
这个条目有4个选项, 分别是:
- 游戏启动后结束启动器
- 游戏启动后隐藏启动器
- 保持启动器可见
- 隐藏启动器并在游戏结束后重新打开
#### 游戏启动后结束启动器
这个选项特别推荐低性能机器使用, 这能节约一些计算机消耗. 代价是启动器无法很好的捕捉您的游戏崩溃信息与日志.
#### 游戏启动后隐藏启动器
这个选项会在您游戏崩溃时收集您计算机上的相关崩溃信息以供向相关开发人员进行反馈. 代价是需要额外消耗一些计算机资源.
#### 保持启动器可见
这个选项会在整个游戏过程中保持启动器可见, 这会在需要同时启动多个游戏的时候起到帮助. 代价是要消耗更多的计算机资源.
#### 隐藏启动器并在游戏结束后重新打开
如果您需要频繁的在不同版本中切换游戏, 例如测试您的模组兼容性, 评估各版本之间的信息, 那么这个选项将会起到一定的帮助作用.
### 游戏参数
关于这点, 我没有找到更多的, 能与游戏同时使用的启动参数
### JVM参数
调整JVM参数能够更细腻的控制JVM的行为, 例如是否压缩指针(用CPU换内存), 是否频繁GC(还是用CPU换内存)等等, 这些一般都可以通过类似于[这篇文章][6]这样进行调整. 不过要注意的一点是, JVM参数是由实际实现决定的, 是否使用以及是否支持还要看具体的JVM实现.
### 本地库路径
在一些例如M1芯片之类的设备上, 通用库类可能都不能正常的工作, 要使用版本特殊提供的库类才能令其正常的工作, 你可以使用这个选项对其进行替换
### GLFW
GLFW是一个轻量级的C语言库用于创建和管理OpenGL在多个操作系统中的上下文处理用户输入以及获取时间和帧缓冲。它支持多个窗口、全屏模式、窗口模式、多个输入设备和剪贴板。GLFW是一个独立于操作系统的库可以在Windows、Mac OS X和Linux等多个平台上使用。
在Linux下系统自带的窗口管理器例如xorg通常已经包含了可以与OpenGL集成的窗口管理器。因此使用系统自带的窗口管理器可以避免与其他项目的库冲突并确保对于系统提供的功能和特性有最好的支持。此外使用系统自带的窗口管理器也能够最大限度地减少安装和配置上的复杂性。
故此, Linux玩家推荐使用系统自带的
### OpenAL
OpenAL是一个跨平台的3D音频API可以用于在多个操作系统上播放音效和音乐。它支持的特性包括定位、重放、3D效果、回声、滤波等。可以使用OpenAL提供的函数对声源和听者的位置、方向、速度等进行控制以实现3D音频效果。
在Linux下OpenAL通常可以与ALSA高级Linux音频体系结构或PulseAudio一种现代的音频子系统进行集成。使用系统自带的音频支持库可以确保应用程序与底层音频硬件和设备之间的兼容性并提供最佳的音频性能和功能。此外使用OpenAL也可以让应用程序具有跨平台的特性可以在多个操作系统上使用相同的代码和资源来实现音频效果。
故此, Linux玩家推荐使用系统自带的
## 通用
这里提供了一些HMCL的通用参数, 例如启动器是否自动检查更新, 文件下载的缓存目录存放位置, 程序界面的显示语言等. 这些基本都属于"见名知意"的范畴, 不需要过多讨论.
## 外观
这里提供了一些HMCL的外观参数, 例如启动器的主题颜色, 动画显示, 背景图片, 字体等. 这些基本都属于"见名知意"的范畴, 不需要过多讨论.
## 下载
### 下载源
由于网络环境问题, 在之前下载Minecraft可能是一件麻烦事, 但在现在, 我们有了[BMCLAPI][7]项目, 该项目无偿为大陆地区用户提供Minecraft相关文件的镜像. 但有可能存在延迟, 可以按照自己的需求进行选择.
### 下载并发数
提高下载并发数能够最大限度的利用您的网络, 但这不是越高越好的. 提高并发数量会对您的计算机和下载源都带来更高的负载, 由于木桶效应的存在, 本地下行带宽, 下载源上行带宽, 您的磁盘读写速度等这过程中的任何一环都会成为下载途中的瓶颈, 所以不要盲目提高并发数, 推荐的家庭带宽并发数在8~16之间.
### 代理设置
用于解决部分网络不佳或需要连接特殊网段的工具, 能够连接到内网服务器之类的.
## 特别鸣谢
- huangyuhui
- GitHub Copilot
## 参考文章
- [什么是JRE?](https://www.ibm.com/cn-zh/topics/jre "点击查看")
- [整合包自带 Java](http://geekdaxue.co/read/HMCL-docs-zh/pages-modpack-in-java.md "点击查看")
- [如何获取Minecraft的游戏日志?](https://memoryshadow.cn/index.php/2023/06/03/how-do-i-get-minecraft-game-logs/ "点击查看")
- [什么是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 "点击查看")
- [什么是GC?](https://blog.csdn.net/weixin_44908159/article/details/123626886 "点击查看")
- [JVM 参数值](https://www.ibm.com/docs/zh/integration-bus/10.0?topic=command-jvm-parameter-values "点击查看")
- [BMCLAPI](https://bmclapidoc.bangbang93.com/ "点击查看")
[1]: https://www.ibm.com/cn-zh/topics/jre "什么是JRE?"
[2]: http://geekdaxue.co/read/HMCL-docs-zh/pages-modpack-in-java.md "整合包自带 Java"
[3]: https://memoryshadow.cn/index.php/2023/06/03/how-do-i-get-minecraft-game-logs/ "如何获取Minecraft的游戏日志?"
[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?"
[5]: https://blog.csdn.net/weixin_44908159/article/details/123626886 "什么是GC?"
[6]: https://www.ibm.com/docs/zh/integration-bus/10.0?topic=command-jvm-parameter-values "JVM 参数值"
[7]: https://bmclapidoc.bangbang93.com/ "BMCLAPI"

View File

@ -1,6 +1,6 @@
---
title: "光影和Optifine"
permalink: /launcher/optifine.html
title: "光影"
permalink: /launcher/shader.html
date: 2021-10-09 23:18:02 +0800
categories: 启动器
toc: true
@ -8,17 +8,19 @@ toc: true
![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fdocs.hmcl.net%2Flauncher%2Foptifine.html&count_bg=%233E4245&title_bg=%233E4245&icon=&icon_color=%23E7E7E7&title=%F0%9F%91%80&edge_flat=false)
> 本文由 hejiehao 修改
## 安装 OptiFine
### 方式一: 全新安装
当你在安装新的游戏客户端时候,会看到有个 `OptiFine` 的选项。
![OptiFine_Install](/assets/img/docs/install_optifine/optifine_install.png)
![OptiFine_Install](/assets/img/docs/shader/optifine_install.png)
点开之后会看到有 3 个复选框,一般而言,`正式版` 会比 `测试版` 更加稳定。选择安装 `正式版` ,如果没有 `正式版` 那么再考虑 `测试版`
![OptiFine_Selection](/assets/img/docs/install_optifine/select_optifine.png)
![OptiFine_Selection](/assets/img/docs/shader/select_optifine.png)
选择完合适的版本之后就可以点击右下角的`安装`继续进行安装。
@ -26,7 +28,7 @@ toc: true
在对应的游戏版本管理页面,点击 `自动安装` ,你会看到有个 `OptiFine` 的选项。
![OptiFine_AutoInstaller](/assets/img/docs/install_optifine/install_auto-16338577874692.png)
![OptiFine_AutoInstaller](/assets/img/docs/shader/install_auto-16338577874692.png)
点开之后选择合适的版本然后等待安装完成即可。
目前,如果要在 `Fabric` 使用 `OptiFine` ,需要通过 **方式四** 安装。
@ -37,7 +39,7 @@ toc: true
双击打开或者使用 `java -jar 文件名` 的方式打开,然后你就会看到这个界面。
![Path_Selection](/assets/img/docs/install_optifine/change_path.png)
![Path_Selection](/assets/img/docs/shader/change_path.png)
选择自己游戏的 `.minecraft 目录`(默认安装到 `\AppData\Roaming\.minecraft` 目录下),然后点击 `Install` 按钮,之后你在 HMCL 的版本列表中就可以找到含有 OptiFine 名字的客户端,启动即可。
@ -52,15 +54,36 @@ toc: true
1. Fabric 和 OptiFine 本身并不能共存,必须同时安装[ OptiFabric ](https://www.curseforge.com/minecraft/mc-mods/optifabric) (一个 Fabric Mod ) 。
OptiFabric 目前 1.17 仅支持 `OptiFine HD U G9` `Fabric` 最高支持的版本为 `0.11.7`
2. Forge 和 OptiFine 会出现不兼容的情况但大多数情况下Forge 和 OptiFine 是相互支持的。
3. 若出现不兼容的情况,请使用[ OptiForge ](https://www.curseforge.com/minecraft/mc-mods/optiforge) (一个 Forge Mod ) 解决。
2. Forge 和 OptiFine 会出现不兼容的情况但大多数情况下Forge 和 OptiFine 是相互支持的。在[ Optifine 官网下载页面 ](https://optifine.net/downloads)可以查看Optifine与Forge的兼容情况位置见下图的红框位置。
![Optifine_Compatibility](/assets/img/docs/shader/optifine_compatibility.png)
3. 若出现不兼容的情况,请使用[ OptiForge ](https://www.curseforge.com/minecraft/mc-mods/optiforge) (一个 Forge Mod ) 或者等待Optifine兼容Forge解决。
## 安装Oculus一个 Forge Mod
在高版本的Optifine中Optifine与mod的兼容性较差以及对性能提升较小所以可以安装Oculus但Oculus与Optifine不兼容注意依赖关系Oculus需要前置Rubidium
![Oculus](/assets/img/docs/shader/oculus.png)
相关链接:[ Oculus Curseforge ](https://www.curseforge.com/minecraft/mc-mods/oculus)[ Oculus Modrinth ](https://modrinth.com/mod/oculus)[ Rubidium Curseforge ](https://www.curseforge.com/minecraft/mc-mods/rubidium)[ Rubidium Modrinth ](https://modrinth.com/mod/rubidium)
## 安装Iris Shaders一个Fabric/Quilt Mod
在Fabric中也可以安装Iris Shaders来安装光影注意依赖关系Iris Shaders需要前置Sodium
![Iris](/assets/img/docs/shader/iris.png)
相关链接:[ Iris Shaders官网 ](https://irisshaders.dev/)[ Iris Shaders Modrinth ](https://modrinth.com/mod/iris)[ Iris Shaders Curseforge不再更新请到官网或Modrinth下载最新版本 ](https://www.curseforge.com/minecraft/mc-mods/irisshaders)[ Sodium Modrinth ](https://modrinth.com/mod/sodium)[ Sodium Curseforge不再更新请在Modrinth下载 ](https://www.curseforge.com/minecraft/mc-mods/sodium)
## 安装光影包
一般光影是一个 Zip 格式的文件,将光影文件放入 `\.minecraft\shaderpacks` 文件夹中即可 (没有这个文件夹就自己新建一个) 。如果开了版本隔离,那么文件夹是 `\.minecraft\version\<客户端名称>\shaderpacks`
一般光影是一个 Zip 格式的文件,将光影文件放入 `\.minecraft\shaderpacks` 文件夹中即可 (没有这个文件夹就自己新建一个) 。如果开了版本隔离,那么文件夹是 `\.minecraft\version\<客户端名称>\shaderpacks`。若你不知道游戏文件夹在哪在HMCL中打开游戏文件夹。
![Game_Dir](/assets/img/docs/shader/game_dir.png)
如果你不知道版本隔离是啥,也不会创建文件夹,那么请打开游戏,依次点击 `设置—视频设置—光影—光影包文件夹` ,在里面放入光影包,然后点击你要加载的光影,最后点击 `完成` 即可
![Shader_Settings](/assets/img/docs/install_optifine/shaders_setting.png)
![Shader_Settings](/assets/img/docs/shader/shaders_setting.png)
**注意:光影对于电脑配置的要求比较高,如果开了光影之后出现游戏画面很卡的情况,请升级电脑配置、使用低配置光影或者关闭光影。**

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

View File

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 282 KiB

View File

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 591 KiB

After

Width:  |  Height:  |  Size: 591 KiB

View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -8,9 +8,14 @@
"url": "https://docs.hmcl.net/launcher/datapack.html"
},
{
"title": "OptiFine 与光影",
"subtitle": "OptiFine 与光影的安装方法",
"url": "https://docs.hmcl.net/launcher/optifine.html"
"title": "光影",
"subtitle": "光影的安装方法",
"url": "https://docs.hmcl.net/launcher/shader.html"
},
{
"title": "设置项详解",
"subtitle": "这篇文章针对于HMCL的各个设置项进行了详细的解释",
"url": "https://docs.hmcl.net/launcher/set-item-details.html"
},
{
"title": "离线模式下更换皮肤",
@ -48,19 +53,9 @@
"title": "多人联机",
"items": [
{
"title": "多人联机常见问题",
"subtitle": "多人联机常见问题",
"url": "https://docs.hmcl.net/multiplayer/faq.html"
},
{
"title": "多人联机教程",
"subtitle": "多人联机教程端",
"url": "https://docs.hmcl.net/multiplayer/help.html"
},
{
"title": "NAT 网络检测为差的时候怎么办?",
"subtitle": "NAT 网络检测为差的时候怎么办?",
"url": "https://docs.hmcl.net/multiplayer/symmetric.html"
"title": "多人联机服务维护",
"subtitle": "多人联机服务维护",
"url": "https://www.bilibili.com/read/cv19553778"
}
]
}

View File

@ -54,6 +54,10 @@ You can also submit your suggestions here.
他将告诉你如何安装 Optifine 来使用光影。
6. [设置项详解](/launcher/set-item-details.html)
这篇文章针对于HMCL的各个设置项进行了详细的解释。
### 对于开发者
1. [制作 HMCL 格式的数据包](/launcher/datapack.html)