macOS 成就启用器 - Apple Silicon(Steam 和 GOG)

macOS 成就启用器 - Apple Silicon(Steam 和 GOG)

为Apple Silicon Mac上的《博德之门3》启用带模组的Steam成就,无需脚本扩展器或原生模组加载器。

无需脚本扩展器或原生模块加载器。

已在以下环境测试:

  • Steam 构建 ID:24532579
  • GOG macOS 构建(SHA256): 6c6cf9a14392092d35cf116e61fd8c35b1e1f14ffff98a4d77dc3517eb399846
  • macOS Apple Silicon (ARM64)

该脚本仅修补 ARM64 游戏可执行文件中与成就相关的模组检查。它不会全局禁用模组检测。

在修改游戏之前,脚本会验证所有补丁位置的预期指令字节。如果不匹配,脚本将拒绝继续。

首次修改前,会在补丁脚本旁边创建原始可执行文件的备份。

安装

  1. 下载并解压归档文件。

  2. 完全退出《博德之门 3》。

  3. 打开 Finder,找到包含以下文件的解压文件夹:

    bg3-achievements-patch.sh

  4. 在该文件夹中打开终端。

    最简单的方法:

    • 在 Finder 中,右键点击解压后的文件夹本身
    • 选择服务 → 在文件夹中新建终端
  5. 使脚本可执行:

    chmod +x bg3-achievements-patch.sh

    只需执行一次。

  6. 检查游戏版本是否受支持:

    ./bg3-achievements-patch.sh status

    脚本会自动检测受支持的 Steam 或 GOG 安装。

    对于未修补的受支持版本,你应看到:

    补丁:关闭

    如果你看到:

    补丁:未知版本 / 字节

    请不要继续。你的游戏版本目前不受支持。

  7. 启用带有模组的成就:

    ./bg3-achievements-patch.sh on

  8. 如果一切成功,脚本将以以下内容结束:

    成就补丁:开启

    之后你可以正常启动《博德之门 3》。

检查补丁状态

随时运行:

./bg3-achievements-patch.sh status

成功修补的游戏应显示:

补丁:开启

禁用

要禁用补丁并恢复原始的三个指令:

./bg3-achievements-patch.sh off

这将保留首次修补时创建的完整可执行文件备份。

恢复原始可执行文件

要从备份中恢复完整的原始可执行文件:

./bg3-achievements-patch.sh restore

备份存储在 bg3-achievements-patch.sh 所在的同一文件夹中。

兼容性

目前已验证:

  • Steam 构建 ID 24532579
  • 上面列出的已测试 GOG macOS 构建
  • Apple Silicon Macs (ARM64)

该补丁是特定于版本的。

BG3 更新可能会更改可执行文件的布局或指令。如果补丁位置的预期字节不匹配,脚本会报告该版本不受支持并拒绝修改可执行文件。

这是为了防止在游戏更新后修补错误位置而采取的有意保护措施。

修补内容

BG3 在处理某些成就事件之前,会检查加载的模块是否为标准模块。

该脚本仅绕过以下成就相关函数中的模组检查:

  • esv::AchievementManager::UnlockAchievement
  • esv::AchievementManager::IncreaseAchievementCounter
  • esv::OsirisGameFunctions::UnlockAchievement

ls::ModuleShortDesc::IsStandardModule() 本身未被修改。

无需脚本扩展器、原生模块加载器或其他运行时加载器。

源代码

https://github.com/MiningOrca/bg3-macos-achievement-enabler

致谢

特别感谢 radixlectio 帮助测试和验证 GOG macOS 版本的补丁。