问题描述 | Bug Description
问题描述
在 Ubuntu Studio 26.04 + KDE Plasma Wayland 环境下,当系统启用 170% 分数缩放时,HMCL 界面整体缩放异常,窗口与字体明显过小。
系统中的其它应用(如 Konsole、Plasma 面板等)均能正常缩放,只有 HMCL 未正确适配系统缩放。
看起来像是 JavaFX 未正确读取 KDE Wayland 的 fractional scaling。
复现步骤
- 使用 KDE Plasma Wayland 登录
- 在系统设置中将显示缩放设置为 170%
- 启动 HMCL
- 可以看到 HMCL UI 明显过小
实际结果
- HMCL 界面整体过小
- 字体与按钮缩放异常
- 与系统其它应用缩放不一致
预期结果
HMCL 应正确跟随 KDE Plasma Wayland 的系统缩放比例。
环境信息
- OS: Ubuntu Studio 26.04
- Desktop: KDE Plasma
- Session: Wayland
- Scaling: 170%
- GPU: NVIDIA Quadro M500M
- Java: OpenJDK Temurin OpenJDK 21.0.2 LTS
- HMCL Version: 3.13.2
截图
启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
[01:33:38] [@.util.SelfDependencyPatcher.patch/INFO] Missing JavaFX dependencies, attempting to patch in missing classes
[01:33:38] [@.util.SelfDependencyPatcher.loadFromCache/INFO] - Loading dependencies...
[01:33:39] [@.util.SelfDependencyPatcher.patch/INFO] - Done!
[01:33:39] [@.Launcher.main/INFO] *** HMCL 3.13.2 ***
[01:33:39] [@.Launcher.main/INFO] Operating System: Ubuntu 26.04 LTS (Linux 7.0.0-14-generic)
[01:33:39] [@.Launcher.main/INFO] System Architecture: x86-64
[01:33:39] [@.Launcher.main/INFO] Native Encoding: UTF-8
[01:33:39] [@.Launcher.main/INFO] JNU Encoding: UTF-8
[01:33:39] [@.Launcher.main/INFO] Java Architecture: x86-64
[01:33:39] [@.Launcher.main/INFO] Java Version: 21.0.2, Eclipse Adoptium
[01:33:39] [@.Launcher.main/INFO] Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
[01:33:39] [@.Launcher.main/INFO] Java Home: /home/oliver/.sdkman/candidates/java/21.0.2-tem
[01:33:39] [@.Launcher.main/INFO] Current Directory: /home/oliver/Minecraft
[01:33:39] [@.Launcher.main/INFO] HMCL Global Directory: /home/oliver/.local/share/hmcl
[01:33:39] [@.Launcher.main/INFO] HMCL Current Directory: /home/oliver/Minecraft/.hmcl
[01:33:39] [@.Launcher.main/INFO] HMCL Jar Path: /home/oliver/Minecraft/HMCL-3.13.2.sh
[01:33:39] [@.Launcher.main/INFO] HMCL Log File: /home/oliver/Minecraft/.hmcl/logs/2026-05-07T01-33-38.log
[01:33:39] [@.Launcher.main/INFO] JVM Max Memory: 4964 MiB
[01:33:39] [@.Launcher.main/INFO] Metaspace: 5.76 MiB
[01:33:39] [@.Launcher.main/INFO] Native Backend: None
[01:33:39] [@.Launcher.main/INFO] XDG Session Type: wayland
[01:33:39] [@.Launcher.main/INFO] XDG Current Desktop: KDE
[01:33:39] [@.util.platform.SystemInfo.initialize/INFO] System Info:
- CPU: Intel Core i7-6500U (2 Cores / 4 Threads)
- GPU: Intel HD Graphics 520 [Discrete]
- Memory: 10.3 GiB / 19.39 GiB (53%)
[01:33:40] [@.Launcher.start/INFO] JavaFX Version: 21.0.8+2
[01:33:40] [@.Launcher.start/INFO] Prism Pipeline: com.sun.prism.es2.ES2Pipeline
[01:33:40] [@.Launcher.start/INFO] Dark Mode: false
[01:33:40] [@.Launcher.start/INFO] Reduced Motion: false
[01:33:40] [@.Launcher.start/INFO] Screens:
- Screen 1: 3840x2160 163dpi in 27" (0, 0, 3840, 2160)
[01:33:40] [@.setting.ConfigHolder.init/INFO] Config location: /home/oliver/Minecraft/.hmcl/hmcl.json
[01:33:40] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:40] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[01:33:40] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:40] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[01:33:40] [@.ui.Controllers.initialize/INFO] Start initializing application
[01:33:40] [@.ui.Controllers.initialize/INFO] April Fools: false
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=26.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=海上集装箱极限生存100天完善版]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=MTR Over And Out]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=Zombie Invade 100 Days]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.11]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.7]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.8]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=26.1.2]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=All the Mods 9 - To the Sky - atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft]] gets fired
[01:33:41] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=26.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=海上集装箱极限生存100天完善版]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=MTR Over And Out]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=Zombie Invade 100 Days]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.11]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.7]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.8]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=26.1.2]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=All the Mods 9 - To the Sky - atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft]] gets fired
[01:33:41] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:42] [@.setting.FontManager.findByFcMatch/INFO] Load font file: /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc
[01:33:42] [@.setting.FontManager./INFO] Font: Noto Sans CJK SC
[01:33:42] [@.auth.authlibinjector.AuthlibInjectorServer.refreshMetadata/INFO] authlib-injector server metadata refreshed: https://littleskin.cn/api/yggdrasil/
[01:33:42] [@.auth.microsoft.MicrosoftService.lambda$new$0/INFO] Fetching properties of 3f823ef7-2f8f-4c1c-90a8-85d0976179c6
[01:33:43] [@.java.JavaManager.searchPotentialJavaExecutables/TRACE] Finished Java lookup, found 4
- JRE 1.8.0_202 (x86-64, Oracle Corporation): /home/oliver/.local/share/hmcl/java/linux-x86_64/mojang-jre-legacy/bin/java
- JDK 25.0.1 (x86-64, Microsoft): /home/oliver/.local/share/hmcl/java/linux-x86_64/mojang-java-runtime-epsilon/bin/java
- JDK 17.0.16 (x86-64, Microsoft): /home/oliver/.jdks/ms-17.0.16/bin/java
- JDK 21.0.2 (x86-64, Eclipse Adoptium): /home/oliver/.sdkman/candidates/java/21.0.2-tem/bin/java
[01:33:43] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:33:44] [@.upgrade.IntegrityChecker.isSelfVerified/INFO] Successfully verified current JAR
[01:33:45] [@.ui.Controllers.prepareSettingsPage/INFO] Prepare the settings page
[01:33:49] [@.upgrade.UpdateChecker.lambda$requestCheckUpdate$2/INFO] Latest version (STABLE, preview=false) is [3.13.2 from https://hmcl.glavo.site/download/HMCL-3.13.2.jar]
[01:35:21] [@.ui.construct.Navigator.navigate/INFO] Navigate to LauncherSettingsPage@3e369e90[styleClass=root gray-background]
[01:35:24] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:26] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:27] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:28] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:34] [@.ui.construct.Navigator.navigate/INFO] Navigate to AdvancedVersionSettingPage@8b9069e[styleClass=gray-background]
[01:35:39] [@.ui.construct.Navigator.close/INFO] Closed page AdvancedVersionSettingPage@8b9069e[styleClass=gray-background]
[01:35:49] [@.ui.main.SettingsPage.lambda$onExportLogs$11/INFO] Exporting latest logs to /home/oliver/Minecraft/hmcl-exported-logs-2026-05-07T01-35-49.zip
[01:35:50] [@.ui.construct.JFXDialogPane.push/INFO] JFXDialogPane@5de207a6 [MessageDialogPane@2fdef93b[styleClass=jfx-dialog-layout]]
[01:35:50] [@.util.platform.SystemUtils.onLogLine/INFO] method return time=1778088950.204149 sender=:1.223 -> destination=:1.254 serial=952 reply_serial=2
[01:35:57] [@.ui.construct.JFXDialogPane.pop/INFO] JFXDialogPane@5de207a6 [], removed: true, object: MessageDialogPane@2fdef93b[styleClass=jfx-dialog-layout]
问题描述 | Bug Description
问题描述
在 Ubuntu Studio 26.04 + KDE Plasma Wayland 环境下,当系统启用 170% 分数缩放时,HMCL 界面整体缩放异常,窗口与字体明显过小。
系统中的其它应用(如 Konsole、Plasma 面板等)均能正常缩放,只有 HMCL 未正确适配系统缩放。
看起来像是 JavaFX 未正确读取 KDE Wayland 的 fractional scaling。
复现步骤
实际结果
预期结果
HMCL 应正确跟随 KDE Plasma Wayland 的系统缩放比例。
环境信息
截图
启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
[01:33:38] [@.util.SelfDependencyPatcher.patch/INFO] Missing JavaFX dependencies, attempting to patch in missing classes
[01:33:38] [@.util.SelfDependencyPatcher.loadFromCache/INFO] - Loading dependencies...
[01:33:39] [@.util.SelfDependencyPatcher.patch/INFO] - Done!
[01:33:39] [@.Launcher.main/INFO] *** HMCL 3.13.2 ***
[01:33:39] [@.Launcher.main/INFO] Operating System: Ubuntu 26.04 LTS (Linux 7.0.0-14-generic)
[01:33:39] [@.Launcher.main/INFO] System Architecture: x86-64
[01:33:39] [@.Launcher.main/INFO] Native Encoding: UTF-8
[01:33:39] [@.Launcher.main/INFO] JNU Encoding: UTF-8
[01:33:39] [@.Launcher.main/INFO] Java Architecture: x86-64
[01:33:39] [@.Launcher.main/INFO] Java Version: 21.0.2, Eclipse Adoptium
[01:33:39] [@.Launcher.main/INFO] Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
[01:33:39] [@.Launcher.main/INFO] Java Home: /home/oliver/.sdkman/candidates/java/21.0.2-tem
[01:33:39] [@.Launcher.main/INFO] Current Directory: /home/oliver/Minecraft
[01:33:39] [@.Launcher.main/INFO] HMCL Global Directory: /home/oliver/.local/share/hmcl
[01:33:39] [@.Launcher.main/INFO] HMCL Current Directory: /home/oliver/Minecraft/.hmcl
[01:33:39] [@.Launcher.main/INFO] HMCL Jar Path: /home/oliver/Minecraft/HMCL-3.13.2.sh
[01:33:39] [@.Launcher.main/INFO] HMCL Log File: /home/oliver/Minecraft/.hmcl/logs/2026-05-07T01-33-38.log
[01:33:39] [@.Launcher.main/INFO] JVM Max Memory: 4964 MiB
[01:33:39] [@.Launcher.main/INFO] Metaspace: 5.76 MiB
[01:33:39] [@.Launcher.main/INFO] Native Backend: None
[01:33:39] [@.Launcher.main/INFO] XDG Session Type: wayland
[01:33:39] [@.Launcher.main/INFO] XDG Current Desktop: KDE
[01:33:39] [@.util.platform.SystemInfo.initialize/INFO] System Info:
[01:33:40] [@.Launcher.start/INFO] JavaFX Version: 21.0.8+2
[01:33:40] [@.Launcher.start/INFO] Prism Pipeline: com.sun.prism.es2.ES2Pipeline
[01:33:40] [@.Launcher.start/INFO] Dark Mode: false
[01:33:40] [@.Launcher.start/INFO] Reduced Motion: false
[01:33:40] [@.Launcher.start/INFO] Screens:
[01:33:40] [@.setting.ConfigHolder.init/INFO] Config location: /home/oliver/Minecraft/.hmcl/hmcl.json
[01:33:40] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:40] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[01:33:40] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:40] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[01:33:40] [@.ui.Controllers.initialize/INFO] Start initializing application
[01:33:40] [@.ui.Controllers.initialize/INFO] April Fools: false
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=26.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=海上集装箱极限生存100天完善版]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=MTR Over And Out]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=Zombie Invade 100 Days]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.11]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.7]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=1.21.8]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=26.1.2]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft], version=Version [id=All the Mods 9 - To the Sky - atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft]] gets fired
[01:33:41] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=26.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.1]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=海上集装箱极限生存100天完善版]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=MTR Over And Out]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=Zombie Invade 100 Days]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.11]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.7]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=1.21.8]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=26.1.2]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] LoadedOneVersionEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft], version=Version [id=All the Mods 9 - To the Sky - atm9sky]] gets fired
[01:33:41] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[1.21, 1.21.1, 1.21.11, 1.21.7, 1.21.8, 26.1, 26.1.2, All the Mods 9 - To the Sky - atm9sky, MTR Over And Out, Zombie Invade 100 Days, atm9sky, 海上集装箱极限生存100天完善版], baseDirectory=.minecraft]] gets fired
[01:33:41] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[01:33:42] [@.setting.FontManager.findByFcMatch/INFO] Load font file: /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc
[01:33:42] [@.setting.FontManager./INFO] Font: Noto Sans CJK SC
[01:33:42] [@.auth.authlibinjector.AuthlibInjectorServer.refreshMetadata/INFO] authlib-injector server metadata refreshed: https://littleskin.cn/api/yggdrasil/
[01:33:42] [@.auth.microsoft.MicrosoftService.lambda$new$0/INFO] Fetching properties of 3f823ef7-2f8f-4c1c-90a8-85d0976179c6
[01:33:43] [@.java.JavaManager.searchPotentialJavaExecutables/TRACE] Finished Java lookup, found 4
[01:33:43] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:33:44] [@.upgrade.IntegrityChecker.isSelfVerified/INFO] Successfully verified current JAR
[01:33:45] [@.ui.Controllers.prepareSettingsPage/INFO] Prepare the settings page
[01:33:49] [@.upgrade.UpdateChecker.lambda$requestCheckUpdate$2/INFO] Latest version (STABLE, preview=false) is [3.13.2 from https://hmcl.glavo.site/download/HMCL-3.13.2.jar]
[01:35:21] [@.ui.construct.Navigator.navigate/INFO] Navigate to LauncherSettingsPage@3e369e90[styleClass=root gray-background]
[01:35:24] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:26] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:27] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:28] [@.util.FileSaver.saveSync/INFO] Saving file /home/oliver/Minecraft/.hmcl/hmcl.json
[01:35:34] [@.ui.construct.Navigator.navigate/INFO] Navigate to AdvancedVersionSettingPage@8b9069e[styleClass=gray-background]
[01:35:39] [@.ui.construct.Navigator.close/INFO] Closed page AdvancedVersionSettingPage@8b9069e[styleClass=gray-background]
[01:35:49] [@.ui.main.SettingsPage.lambda$onExportLogs$11/INFO] Exporting latest logs to /home/oliver/Minecraft/hmcl-exported-logs-2026-05-07T01-35-49.zip
[01:35:50] [@.ui.construct.JFXDialogPane.push/INFO] JFXDialogPane@5de207a6 [MessageDialogPane@2fdef93b[styleClass=jfx-dialog-layout]]
[01:35:50] [@.util.platform.SystemUtils.onLogLine/INFO] method return time=1778088950.204149 sender=:1.223 -> destination=:1.254 serial=952 reply_serial=2
[01:35:57] [@.ui.construct.JFXDialogPane.pop/INFO] JFXDialogPane@5de207a6 [], removed: true, object: MessageDialogPane@2fdef93b[styleClass=jfx-dialog-layout]