在 M1 Mac 设备中解决 Minecraft Error 255
2021/09/30macos
minecraft
sspai
如果你是 M1 Mac 且在安装 Forge API 后无法正常进入 Minecraft,并报错 Error 255 或是 GLFW Error 65544,那么这篇文章将能解决你的问题。
Apple 在去年年底发布了 M1 芯片,这款芯片在性能、功耗、发热方面的表现,都让无数吃瓜网友大为震惊。正好手中的电脑也到了该换机的时候,我瞅准时机,入手了一台 M1 MacBook Air。
等我收到电脑,习惯性安装了最爱的 Minecraft。这时却发现,只有原版游戏可以正常运行,当我给游戏安装 Minecraft 知名第三方 Forge API 之后,游戏在启动时会报错「Error 255」,有时又会报错「GLFW Error 65544」,无法进入游戏界面。根据错误信息可知,两种报错均为相同原因导致。
Error 255
GLFW Error 65544
由于我只是一位普普通通的创造模式玩家,失去 Mod 支持,游戏的乐趣就少了很多。为此我不得不暂停我的火柴盒建造计划,苦寻解决方法。
而根据网络中搜索到的各种解决方案,并没有解决我本机 Minecraft 报错的问题,因此我将近半年没有打开游戏。这几天我又按耐不住,结合网友的教程和我自己的一些尝试,非常幸运的解决了游戏报错的问题。如果网上的其他教程同样未能解决你的问题,不妨参考一下这篇文章。
我的解决方法
1. 卸载系统当前安装的 Java 版本
打开终端,输入命令 java -version
,查看当前安装的 Java 版本。如果是 Oracle Java ,需要卸载并安装 Zulu Java。
输入命令查询 Java 版本
Oracle Java 不能通过常规方式卸载,需要在官网下载 专用卸载工具。不建议直接删除 Java 路径文件夹,否则 macOS 设置中会残留 Java 图标。
Java Uninstall Tool
注:如果你当前的工作环境或者生产力工具依赖 Oracle Java 运行,替换为 Zulu Java 可能会出现运行异常,请谨慎操作。
2. 安装 Zulu Java
选择 Zulu Java 是因为 Zulu 提供了 arm64 版本,运行 Java 版 Minecraft 时无需经过 Rosetta 转译,从理论上来说,游戏执行效率会更高。
在下载页面依次选择 「Java 17」-「macOS」-「ARM 64-bit」-「JDK FX」,在右侧选择 .dmg
文件下载并安装,或者直接打开 此链接,选择.dmg
文件下载并安装。
点击右侧第一个蓝色按钮
3. 安装 Minecraft 与 Forge API
下载 并登陆 Minecraft 启动器,安装你需要的 Minecraft 版本,此处以 Minecraft 1.16.5 为例。
Minecraft 1.16.5
游戏安装完成后,前往 Forge 网站,获取并安装最新版本的 Forge API。(注意: 选择 Forge 版本时要注意与已安装的 Minecraft 游戏版本相匹配)
如果你使用正版登陆器,Forge 会自动检测游戏路径
4. 获取 LWJGL 库文件
LWJGL 全称为: LightWight Java Game Library,意为轻量级 Java 游戏工具库。包含 OpenGL 、OpenCL、OpenAL、Vulkan API 对 Java 平台的原生绑定。[注释 1]
由于 Apple 发布的 M1 芯片移除了 LWJGL 库所依赖的个别 API,也未提供任何兼容方式,致使 Forge 无法正常工作,游戏出现「Failed to find service port for display」错误信息。[注释 2]
幸运的是,早在今年年初,就有人在 GitHub 中公布了解决问题的补丁。开发商 mojang 通过更新游戏自带的 LWJGL 库,在最新版本的 Minecraft 中修复了这个问题。但是 Minecraft 受限于 Mod、服务器支持等因素,许多旧版本依然活跃,许多玩家依旧停留在旧版本。
前往 GitHub 获取适用于 Apple M1 芯片的 LWJGL 库文件。该项目由 @Steffen Dirkwinkel 维护。点击 GitHub 文件列表右上方的「Code」-「Download ZIP」下载该项目包含的所有文件。
下载该项目所有文件
5. 手动替换游戏目录文件
解压下载的 m1-multimc-hack-fix-forge.zip
文件,将解压后的文件夹内 lwjglfat.jar
文件重命名为 lwjgl-3.2.1.jar
。
打开访达,前往路径/Users/用户名/Library/Application Support/minecraft/libraries/org/lwjgl/lwjgl/3.2.1/
将此路径内原有的 lwjgl-3.2.1.jar
文件删除,或者转移至其他处备份。将刚才重命名后的 .jar
文件移动到此路径。
6. 获取 HMCL Launcher
HMCL Launcher 是一个非常流行的第三方启动器,支持微软正版登陆。启动器可以快速安装 Forge API,还具有修改游戏运行参数、管理第三方 Mod 等功能。
之所以选择 HMCL Launcher,是因为它能自定义本地 LWJGL 库路径,使得游戏在 M1 Mac 设备上正常运行。另外 HMCL Launcher 还可以指定 Java 路径,如果你不方便卸载 Oracle Java,可以在启动器设置中指定使用 Zulu Java 运行 Minecraft。
打开 HMCL Launcher,依次点击「游戏版本」-「官方启动器目录」导入当前电脑已安装的游戏版本。此处选择 「1.16.5-forge-x.x.x」。
导入游戏
7. 修改启动器设置
打开游戏管理,勾选「启用游戏特定设置」。
启用游戏特定设置
滑动至页面最底端,在「调试选项」-「本地库路径」中,选择自定义库路径为/m1-multimc-hack-fix-forge/lwjglnatives/
(第 4 步中下载解压的文件夹内),开启「不检查游戏完整性」。
修改调试选项
8. 运行游戏
启动器首页
回到启动器首页,点击右下角的「启动游戏」,此时 Minecraft 已经可以运行,Forge API 和第三方 Mod 也能够正常加载。
成功运行 Minecraft
附:所有文件的下载链接
名称 | 下载链接 |
Oracle Java 卸载工具 | 链接 |
Zulu Java arm64 bit | 链接 |
Minecraft | 链接 |
Forge API | 链接 |
适用于 Apple M1 芯片的 LWJGL 库文件 | 链接 |
HMCL Launcher | 链接 |
参考资料:
- 0xQSL/m1-multimc-hack readme.md 作者:@Steffen Dirkwinkel
- 在 M1 Macbook 上 不使用 Rosetta 优雅地游玩 Minecraft+Forge 作者:@DotIN13
- x86_64 框架下 Forge 与 GLFW 冲突的解決方案 作者:@SCrystaL52
- 在 M1 上原生运行 Minecraft 1.17.1 作者 @Missing-love
彩蛋
电影《头号玩家》中的「Minecraft World」
在 2018 年上映的科幻电影《头号玩家》中,虚拟现实游戏「绿洲」包含了不同游戏主题的子世界,影片开头中一闪而过的游戏场景便是「Minecraft World」。尽管电影主要剧情并未在 Minecraft World 中展开,但是我想所有 Minecraft 玩家看到这个场景时,都应该会非常激动的吧?
注释 [1]:资料来源:百度百科
注释 [2]:Minecraft 游戏社区以及 GitHub 相关项目 Issues 讨论后一致认为,报错是由于 M1 移除了个别 LWJGL 库所依赖 API 所致。但是错误原理依旧未知,究竟是因为 Rosetta 转译出错还是因为 Forge 导致游戏出错,目前尚不明确。
© 本文著作权归作者 @JLDUAN 所有,并授权少数派独家使用,未经少数派许可,不得转载使用。 原文地址 https://sspai.com/post/68830