版本 5.0.0 — 模块化引擎,CreamAPI v5.3.0.0,完整解锁 DLC,支持多人游戏
🌍 语言: English | Русский | Deutsch | Français | Español | 中文
仅供学习用途,使用风险自负。
- 你必须在 Steam 上拥有正版 Victoria 3。本工具不会下载任何 DLC — 它只是改变游戏文件中已存在的 DLC 内容的所有权状态。
- 使用 DLC 解锁器违反 Steam 订阅者协议和 Paradox 的 EULA。原则上这可能导致 VAC / 账号封禁或停权。Victoria 3 没有受 VAC 保护的服务器,因此实际风险较低, 但并非为零 — 风险由你自行承担。
- 作者对任何后果概不负责。如果你喜欢这款游戏,请购买 DLC 以支持 Paradox Interactive。
一款用于 macOS 上 Victoria 3 的 DLC 解锁器。它使用 CreamAPI v5.3.0.0 来为你在 Steam 上合法拥有的游戏解锁 DLC 所有权。
工具会把 CreamAPI 的 libsteam_api.dylib(一个置于真正 Steam 库之前的代理)安装到游戏的
binaries/victoria3.app/Contents/Frameworks/,将原文件备份为
libsteam_api_o.dylib,并写入一个 cream_api.ini。启动时,游戏会询问 Steam
你拥有哪些 DLC;CreamAPI 对每个已解锁的 DLC 回答“是”,同时把其余请求代理给真正的 Steam ——
因此多人游戏依然可用。
安装时,解锁器会读取游戏自身的 game/dlc/*.dlc 元数据,并写入一个显式的
[dlc] 列表(unlockall = false)。从你已有的内容构建列表,结果完整,
首次启动后可离线工作,且不依赖 Steam 的运行时 DLC 列表。该列表在每次安装时重建,
所以添加新内容后只需重新安装即可。如果找不到 DLC 元数据,则回退为
unlockall = true(由 Steam 在线解析列表)。
- ✅ 支持多人游戏(CreamAPI 代理到真正的 Steam)
- ✅ 完整解锁 DLC —— 从你自己的
game/dlc/内容构建显式列表(可离线),每次安装时重建 - ✅ 自动检测 Victoria 3 安装位置(内置磁盘与外置驱动器)
- ✅ 安全备份原始库;干净、可逆的卸载
- ✅ 不修改任何内容的
status命令,用于查看已安装状态 - ✅ 经校验和验证的通用二进制(同时含 Intel 和 Apple Silicon 切片)
Victoria 3 本身只提供支持 Metal 的 macOS 版本。解锁器可在游戏能运行的任何地方运行:
| 平台 | 状态 |
|---|---|
| Apple Silicon (M1–M4),macOS 11+ | ✅ 支持(游戏原生 arm64 运行) |
| 配独立 AMD GPU 的 Intel Mac | |
| 配 Intel 集成显卡的 Intel Mac | ❌ Victoria 3 不支持(Paradox 的要求) |
随附的 libsteam_api.dylib 是一个通用(fat)二进制,同时包含 x86_64 和
arm64 切片,因此解锁器本身从不强制使用 Rosetta 2。上述平台限制来自
Victoria 3,而非解锁器。
- 满足 Victoria 3 macOS 要求的 Mac(推荐 Apple Silicon)
- 在 Steam 上合法购买的 Victoria 3
- DLC 内容文件(必须已存在 —— 本工具不会下载它们)
- 建议安装 Xcode 命令行工具(
xcode-select --install)以提供codesign/xattr
简要 —— 三条命令,然后启动游戏:
git clone https://github.com/KyLaEga/Victoria3-DLC-Unlocker-macOS.git
cd Victoria3-DLC-Unlocker-macOS
./install_dlc_unlocker.sh-
先确认 DLC 内容已就位。 你游戏的
game/dlc/文件夹必须已包含 DLC 包 (本工具解锁所有权,不下载内容)。如果为空,请见下方 DLC 内容文件从哪里获取?。 -
克隆或下载本仓库:
git clone https://github.com/KyLaEga/Victoria3-DLC-Unlocker-macOS.git cd Victoria3-DLC-Unlocker-macOS -
运行安装器:
./install_dlc_unlocker.sh
这是对
./bin/unlocker install vic3的轻量封装。工具会验证随附的库, 自动检测你的 Victoria 3 安装(内置磁盘与外置驱动器),将原文件备份为libsteam_api_o.dylib,安装 CreamAPI,从你的game/dlc/内容构建显式 DLC 列表, 并对结果做临时(ad-hoc)重签名以通过 macOS Gatekeeper。如果游戏在非常规位置,可直接指定路径:
./bin/unlocker install vic3 --path "/Volumes/My Drive/SteamLibrary/steamapps/common/Victoria 3" -
通过 Steam 启动 Victoria 3。 有了显式
[dlc]列表,这在离线时也能工作。 重要: 如果游戏或 Paradox 启动器已经打开,请**完全退出(⌘Q)**后重启 —— CreamAPI 只在进程启动时读取一次cream_api.ini。
在不改动任何内容的情况下检查补丁状态:
./bin/unlocker status vic3你应当看到:
[+] Patch state: INSTALLED (CreamAPI active)
[+] Original backup: PRESENT (...libsteam_api_o.dylib)
[+] cream_api.ini: PRESENT
[*] unlockall = false; explicit [dlc] list (N DLC)
然后打开 Paradox 启动器的 DLC 标签页 —— 凡是内容已存在的 DLC,现在都应显示为已拥有 (没有“购买”按钮,也没有警告图标)。
唯一入口是 bin/unlocker;两个 *_dlc_unlocker.sh 脚本是面向默认游戏的轻量便捷封装。
./bin/unlocker install [vic3] # 备份原文件 + 应用 CreamAPI 补丁
./bin/unlocker uninstall [vic3] # 恢复原始库
./bin/unlocker status [vic3] # 不修改:显示补丁 / 备份 / 完整性
./bin/unlocker --help
./bin/unlocker --version
选项(在命令之后):
--yes 非交互;确认时一律视为“是”。
--path DIR 使用此游戏目录,而非自动检测。
在不改动任何内容的情况下检查状态:
./bin/unlocker status vic3- 完整性闸门 —— 除非随附的
libsteam_api.dylib与已提交的 SHA256 匹配, 否则拒绝运行(防篡改/防损坏)。 - 定位游戏 —— 展开
games/vic3.conf中的搜索路径(处理空格和外置/Volumes/*驱动器);或使用--path。Victoria 3 将其 macOS 二进制放在binaries/victoria3.app下。 - 备份原文件为
libsteam_api_o.dylib(绝不覆盖已有的有效备份)。 - 安装 CreamAPI —— 将代理 dylib 复制覆盖
libsteam_api.dylib, 并在重签名前再次核对副本的哈希。 - 构建
cream_api.ini—— 扫描game/dlc/*/*.dlc,收集每个steam_id, 去重后写入带unlockall = false的显式[dlc]列表。 - macOS 加固 —— 移除隔离属性(
xattr)并对 dylib 做临时重签名 (codesign -s -),使 Gatekeeper 在游戏进程中加载它。
uninstall 撤销第 3–4 步(恢复备份、删除 cream_api.ini、重签名)。
status 报告上述全部内容且不做任何改动。
./uninstall_dlc_unlocker.sh
# 或:./bin/unlocker uninstall vic3这会从备份恢复 libsteam_api.dylib,删除 cream_api.ini,重签名原文件,
并清理任何遗留产物。
运行 Steam 的**“验证游戏文件完整性”**会悄悄恢复原始库并移除补丁 —— 这是预期行为。 重新运行安装器即可再次应用,或用
status确认当前状态。
缺少 DLC 的内容文件。解锁器只改变所有权状态 —— 实际内容必须存在于游戏的
game/dlc/ 文件夹中。
📖 完整分步指南(转移
game/dlc/、合并分卷压缩包、故障排查):docs/DLC-CONTENT.md(英文)。
本工具不分发也不下载 DLC —— 内容由你自备。Paradox 的 DLC 内容是跨平台的,
因此通常的做法是从你已拥有该内容的机器上复制 game/dlc/ 文件夹
(例如你拥有的 Windows 或 Linux 安装)到你的 Mac 安装:
.../steamapps/common/Victoria 3/game/dlc/
每个 DLC 都在各自的子文件夹中,包含一个 .dlc 元数据文件和内容压缩包。
复制后,运行(或重新运行)安装器,使 [dlc] 列表根据新内容重建。
拿到的内容是分卷压缩包(*.zip.001、*.zip.002…)?
这些分卷是一个被切成若干块的压缩包 —— 不是各自独立的 zip。请在 macOS 上按如下方式
合并并解压(不要分别解压每一卷):
# 7-Zip 能处理 Paradox 包常用的 LZMA 压缩,并在你指向第一卷时自动读取全部分卷:
brew install sevenzip
7zz x "DLC-….zip.001" -o"/路径/到/Victoria 3" # 写出 game/dlc/ 目录树
# 或者先把各分卷拼接成一个文件(顺序很重要):
cat DLC-….zip.00{1,2,3,4} > DLC-….zip
7zz x DLC-….zip -o"/路径/到/Victoria 3"将 -o 指向游戏文件夹(game/ 的上级目录)—— 压缩包内已包含正确的子路径,
因此在那里解压会正确地合并到位。
这是对的,没有丢失。Paradox 常把多个内容包(一个扩展 + 其内容/音乐包)
归入同一个 Steam 购买项(appid)。解锁器按 Steam appid 授予所有权,
所以它报告的数字是不同 appid 的数量 —— 启动器随后会显示这些 appid 解锁的全部内容包。
status 报告的是当前配置中的 appid 数量。
这是预期行为 —— Steam 用原文件替换了我们的库。运行
./bin/unlocker status vic3 确认后重新安装。
macOS Gatekeeper 可能在阻止已修改的库。安装器已经移除隔离属性并对 dylib 做了临时重签名, 但如果你是手动复制的文件:
xattr -dr com.apple.quarantine "/path/to/Victoria 3/binaries/victoria3.app"
codesign --force -s - "/path/to/Victoria 3/binaries/victoria3.app/Contents/Frameworks/libsteam_api.dylib"若缺少 codesign/xattr,先安装命令行工具:xcode-select --install。
仍然不行?运行卸载器后再试。
随附的 libsteam_api.dylib 与 CreamAPI 官方 nonlog macOS 版本逐字节相同,
在 VirusTotal 上为 0/64。你可以自行复核校验和 —— 见
docs/SECURITY.md 和
vendor/creamapi/VERSION.txt。
(注意:该二进制在其 install-name 中嵌入了上游构建路径;这是无害的,
也正是工具用来检测已安装补丁的标志。)
所有内容存在于你 game/dlc/ 文件夹中的 DLC。 安装器读取每个 .dlc 文件,
收集其 Steam appid,并把完整集合写入 cream_api.ini 的 [dlc] 段 ——
扩展、沉浸包、内容包和音乐一视同仁(Voice of the People、Sphere of Influence、
Colossus of the South、Pivot of Empire、Charters of Commerce、National Awakening、
Iberian Twilight、The Great Wave…)。添加了新 DLC 内容?重新运行安装器,列表会重建。
status vic3 会显示当前配置涵盖多少个 appid。
引擎与具体游戏无关。要支持例如 CK3 或 EU4,只需一个新的
games/<game>.conf(appid + bundle 名称 + 搜索路径)—— 无需改动代码。
目前只随附 Victoria 3;见 docs/CONTRIBUTING.md。
macOS 解锁器先后使用过三种解锁策略。如果你用过旧版本(本项目最初是 EU4 解锁器), 这就是改动内容及原因:
| 版本 | 策略 | 多人 | 备注 |
|---|---|---|---|
| 1.x – 2.x | Goldberg Steam 模拟器 | ❌ | 完全离线模拟 Steam 并替换 libsteam_api.dylib;使用 steam_settings/ 文件夹和 steam_appid.txt。仅单人 —— 无法邀请好友或加入会话。 |
| 3.0 | CreamAPI + unlockall = true |
✅ | 改用 CreamAPI 代理,把调用转发给真正的 Steam,于是多人重新可用。DLC 来自 Steam 的运行时列表。 |
| 4.0+ | CreamAPI + 显式 [dlc] 列表 |
✅ | 安装器从你自己的 dlc/ 内容构建完整列表 —— 完整且可离线工作。 |
| 5.0 | 改为面向 Victoria 3 | ✅ | 同一引擎与策略,现指向 Victoria 3(binaries/victoria3.app、game/dlc/、appid 529340)。 |
如果你从 1.x–2.x 安装升级而来,uninstall 仍会清除旧的 Goldberg 产物
(steam_settings/、steam_appid.txt、*.backup)。
如果随附 dylib 的 SHA256 与 vendor/creamapi/VERSION.txt 不匹配,安装器会拒绝运行
(防篡改/防损坏),CI 也会在每次推送时复验。见 docs/SECURITY.md。
- CreamAPI —— DLC 解锁库
基于 MIT 许可证 —— 见 LICENSE。
如果对你有帮助:⭐ 给仓库点星,🐛 报告问题,💡 提出改进建议。 而且如果你喜欢 Victoria 3 及其 DLC,请购买它们以支持 Paradox Interactive。