Skip to content

系统问题

Minecraft 客户端可以在多款系统上运行,自然也避免不了因为适配系统带来的问题。因此,此处提供部分常见问题及解决方案。

通用问题

这些问题在各种系统中都会出现,因此放在最前面。

OpenGL 错误 (聊天栏中出现)

错误码可能原因解决方案
1280OptiFine / Mods 冲突 / OpenGL 版本错误更换 OptiFine 版本、检查 Mods 冲突或尝试更新显卡驱动
1281Mods / 图像设置 / 显卡驱动 / 光影尝试更新显卡驱动或检查 Mods 问题(如检查后无问题,则暂时无解)
1282显卡驱动 / Mods 冲突 / 着色器出错更换游戏版本,更换 OptiFine 版本,检查 Mods 问题,检查材质包和光影包,或更换显卡驱动
1283Mods更换光影或检查 Mods 问题
1284显卡驱动 / Mods 冲突 / 着色器出错更换光影或检查 Mods 问题
1285配置文件冲突 / 内存不足 / Mods 冲突给游戏分配更多的内存或尝试重新安装游戏
1286内存溢出 / 显卡驱动给游戏分配更多的内存或尝试更新显卡驱动

显卡 / 显卡驱动问题

解释:因为你的显卡配置或显卡驱动存在问题,游戏无法正常运行。

解决方案:检查显卡驱动是否为最新;如果有独立显卡的请使用独立显卡运行游戏,而非核显。

驱动下载:Intel | AMD | Nvidia

关键词:

// 显卡驱动问题
Incorrect key [earlyWindowSkipGLVersions] was corrected from null to []
Incorrect key [earlyWindowSquir] was corrected from null to false
// 显卡驱动 / 显卡配置问题
Couldn't set pixel format
Pixel format not accelerated
The driver does not appear to support OpenGL

内存问题

解释:由于内存不足,游戏无法继续运行。

解决方案:检查游戏分配的内存大小;尽可能关闭系统内运行的其他程序,然后再次启动游戏。

内存清理 BakaXL :前往 本体设置 -> Java 虚拟机与内存,确保 自动设置内存 设置为开,然后展开 内存高级设置,点击 强制释放内存 (可多次点击),然后再次启动游戏。

内存优化 PCL2 :前往 设置 -> 游戏 -> 游戏内存,确保内存配置选项为 自动配置。然后前往 更多 - 百宝箱,点击 内存优化,然后按照提示给予启动器管理员权限,等待内存优化完成后再次启动游戏。

关键词:

java.lang.OutOfMemoryError
Could not reserve enough space

页面文件问题

解释:由于页面文件太小,游戏无法继续运行。

解决方案:检查页面文件大小

在 Windows 系统中,右键 此电脑 -> 属性 -> 高级系统设置 -> 性能设置 -> 高级 -> 更改虚拟内存 -> 勾选 自动管理所有驱动器分页文件大小

关键词 (仅供参考):

页面文件太小,无法完成操作。

Java 问题

请在排查错误之前先打开启动器的自动决定 Java 功能,然后再尝试启动游戏复现问题。在通常情况下,你不应该关闭这个功能。

以下为几个常见的因为 Java 的非版本问题导致的错误。

使用 OpenJ9

解释:游戏因为使用 OpenJ9 而崩溃了。

解决方案:卸载当前 Java,然后前往其他地方获取一个非 OpenJ9 的 Java。

常见的第三方启动器获取 Java 方法

BakaXL启动器设置中获取 Java:前往 本体设置 -> Java 虚拟机与内存,点击获取对应的 Java 版本。

PCL2启动器中获取 Java:卸载当前 Java 后重启启动器,直接点击启动游戏,启动器提示自动补全 Java 时,点击 自动下载

HMCL启动器中获取 Java:卸载当前 Java 后重启启动器,按照启动器引导下载 Java。

其他 Java 获取方法

从官网下载并手动安装 Java:Java 8 | JDK 17+

获取 (Java 9+) 且已存档的 JDK 包:https://bell-sw.com/pages/downloads/#downloads)

关键词:

Open J9 is not supported
OpenJ9 is incompatible
.J9VMInternals.

使用了 32 位 Java 且分配内存过大

解释:由于使用了 32 位 Java 且分配了 1G 以上内存,导致游戏无法正常启动。

解决方案:

注意

此方法仅适用于 64 位系统。

1。卸载当前 Java,然后去其他地方重新获取 64 位的 Java。

常见的第三方启动器获取 Java 方法

BakaXL启动器设置中获取 Java:前往 本体设置 -> Java 虚拟机与内存,点击获取对应的 Java 版本。

PCL2启动器中获取 Java:卸载当前 Java 后重启启动器,直接点击启动游戏,启动器提示自动补全 Java 时,点击 自动下载

HMCL启动器中获取 Java:卸载当前 Java 后重启启动器,按照启动器引导下载 Java。

其他 Java 获取方法

从官网下载并手动安装 Java:Java 8 | JDK 17+

获取 (Java 9+) 且已存档的 JDK 包:https://bell-sw.com/pages/downloads/#downloads

注意

不推荐使用此方法,可能会导致游戏卡顿,但 32 位系统只能这么做。

2。在启动器的内存设置中调整游戏内存分配至小于等于 1G (1G = 1024M)。

注意

需要一定技术基础,适用于 32 位系统,但为 64 位处理器。

3。自行重装系统为 64 位。你可以使用微软官方提供的重装工具,抑或是使用 EasyRC 一键重装 等无捆绑一键重装工具。

关键词:

Could not reserve enough space for 1048576KB object heap

Windows 问题

UTF-8 编码问题

解决方案:

  1. 检查游戏路径中是否包含中文,如果有,删除掉即可。

  2. 系统-区域设置-使用UTF-8提供全球语言支持。如果选项没有启用,那么启用并重启电脑;如果已经启用,那么关闭并重启电脑。

关键词:

java.lang.ClassNotFoundException: net.fabricmc.loader.impl.launch.knot.KnotClient

macOS 问题

在游戏版本为 1.20.x 中游戏路径包含非 ASCII 字符

[LWJGL] Failed to load a library. Possible solutions:
	a) Add the directory that contains the shared library to -Djava.library.path or -Dorg.lwjgl.librarypath.
	b) Add the JAR that contains the shared library to the classpath.

解决方案:将游戏路径中的非 ASCII 字符去掉

macOS 下存在 .DS_Store 文件导致报错

Caused by: net.minecraft.util.ResourceLocationException: Non [a-z0-9_.-] character in namespace of location: .DS_Store:
net.minecraft.util.ResourceLocationException: Non [a-z0-9_.-] character in namespace of location: .DS_Store:

解决方案:删除 .DS_Store 文件

解决步骤

由于 .DS_Store 文件是 macOS 的隐藏文件,只能通过执行指令进行删除

  1. 进入搜索栏,搜索 终端Terminal,并打开该软件
  2. (可选) 使用 cd <游戏路径> 指令进入游戏目录
    • 注 1:官启的 <游戏路径>"~/Library/Application Support/minecraft/"
    • 注 2:其他第三方启动器的 <游戏路径> 一般是与启动器文件同级的 .minecraft 文件夹
    • 注 3:.DS_Store 用于保存文件移动记录 (可见并不是非常重要)。但若不在游戏目录下执行本操作,将无法撤回任何文件移动操作,并且 find 指令耗时也会很长
  3. 执行如下指令:
    sh
    rm $(find . -name .DS_Store 2>/dev/null)

不兼容 macOS 的 Mod

Exception caught during firing event: Unable to load library 'imm32':
class io.github.reserveword.imblocker.IMBlocker$RegistryEvents

解决方案:删除 IMBlocker 模组 (此模组仅适用于 Windows)

macOS 下初始化 OpenGL 窗口问题

java.lang.IllegalStateException: GLFW error before init: [0x10008]Cocoa: Failed to find service port for display

解决方案实验性:先开一个浏览器全屏,然后启动游戏,在还没弹出窗口的时候迅速切回浏览器,等差不多游戏窗口出来了之后再切回去。

Linux 问题

不兼容 Linux 的 Mod

Exception caught during firing event: Unable to load library 'imm32':
class io.github.reserveword.imblocker.IMBlocker$RegistryEvents

解决方案:删除 IMBlocker 模组 (此模组仅适用于 Windows)

在游戏版本为 1.20.x 中游戏路径包含非 ASCII 字符

[LWJGL] Failed to load a library. Possible solutions:
	a) Add the directory that contains the shared library to -Djava.library.path or -Dorg.lwjgl.librarypath.
	b) Add the JAR that contains the shared library to the classpath.

解决方案:将游戏路径中的非 ASCII 字符去掉

Contributors

The avatar of contributor named as zyxkad zyxkad
The avatar of contributor named as Big_Cake Big_Cake
The avatar of contributor named as bingling_sama bingling_sama
The avatar of contributor named as hejiehao hejiehao
The avatar of contributor named as 233355607 233355607
The avatar of contributor named as Rovniced Rovniced
The avatar of contributor named as bingxin666 bingxin666
The avatar of contributor named as 柚子柚子 柚子柚子
The avatar of contributor named as 思遥方 思遥方
The avatar of contributor named as Pigeon0v0 Pigeon0v0
The avatar of contributor named as zkitefly zkitefly
The avatar of contributor named as HRxiaohu HRxiaohu
The avatar of contributor named as XieXiLin XieXiLin
The avatar of contributor named as Pysio Pysio

Changelog