
企鹅工具包
这是Linux WolvenKit。它应该与目前使用的大多数发行版兼容。**开发中**
查看大图[size=5]PenguKit - 适用于 Linux 的 WolvenKit - 《赛博朋克 2077》工具包 (v0.1.0)[/size]
[size=4]它是什么[/size]
PenguKit 是一个从零开始、原生 Rust、不依赖 Windows 的《赛博朋克 2077》(REDengine 4) 模组工具包。无需 Wine,无需 .NET,无需 Windows DLL。它附带一个小的 glibc x86-64 二进制文件 ([font=Courier New]pengu[/font]),能够像引擎本身一样精确地读写游戏的 [font=Courier New].archive[/font] 容器格式,此外还有一个 WolvenKit 风格的 GTK4 / Libadwaita 桌面 GUI ([font=Courier New]pengukit[/font])。一切均离线——唯一需要的运行时库是游戏自带的 Kraken 解压器(见 NOTICE),在运行时通过 dlopen 从捆绑的 [font=Courier New]natives/[/font] 文件夹加载。
[size=4]安全性(无损已验证)[/size]
PenguKit 从不猜测格式,也从不未经检查就重写任何内容。完整的解包 -> 打包 -> 解包往返过程 SHA-256 完全一致(相对于基础游戏 [font=Courier New]4,115/4,115[/font] 个文件,2.8 GiB),并且每个打包后的索引都会用游戏自身的 CRC-64/XZ 算法重新验证。提取是逐字节的——除非你要求,否则不会转换、转码或改动任何内容。
[size=4]完整功能列表——做什么、如何做,以及为什么[/size]
[b]1. 解包 ([font=Courier New]pengu unbundle[/font])[/b]
内容:无损提取 PC/主机内容集中的任何 [font=Courier New].archive[/font],可选 [font=Courier New]--list[/font] 模式。
方式:原生读取 RDAR 容器——头部布局、FNV-1a 条目哈希和 CRC-64/XZ 索引校验和——并通过游戏自带的解压器(dlopen,无 Windows 进程)解压 Kraken 压缩的 CR2W 和原始视频 (Bink) 段。
原因:像引擎一样逐字节打开游戏存档,无需 Windows 工具。
[b]2. 打包 ([font=Courier New]pengu pack[/font])[/b]
内容:从文件夹(原始段)重建一个有效的 RDAR [font=Courier New].archive[/font]。
方式:用正确的头部 + FNV-1a 索引以及游戏自身的 CRC-64/XZ 校验和重建容器。
原因:你可以解包、处理内容,然后重新打包成游戏可接受的形式——往返已验证。
[b]3. 哈希 ([font=Courier New]pengu hash[/font])[/b]
内容:REDengine-4 路径哈希,加上存档索引 CRC-64/XZ。
方式:对照游戏真实文件表验证 FNV-1a 64 位路径哈希;索引用游戏自身的算法重新验证。
原因:哈希是模组制作的基准真值——与游戏的哈希匹配意味着文件确实能在引擎中解析。
[b]4. 自检 ([font=Courier New]pengu self-check[/font])[/b]
内容:验证捆绑的原生库 ([font=Courier New]libkraken.so[/font]、[font=Courier New]libwwtools.so[/font]) 在你的机器上能加载并工作。
原因:在你接触真实存档之前,确认运行时环境没问题。
[b]5. GUI ([font=Courier New]pengukit[/font]) - WolvenKit 风格桌面应用[/b]
内容:深色主题 GTK4 / Libadwaita 应用——左侧导航栏、由操作磁贴组成的 Home 仪表板、实时控制台面板。
方式:提取、打包、哈希和自检流程作为可点击磁贴;[font=Courier New]pengukit <args>[/font] 透传给无头 CLI。
原因:一个应用同时支持可视化工作流和终端自动化——底层是同一引擎。
[b]6. 无头 CLI[/b]
内容:每个 GUI 操作也是一个终端命令 ([font=Courier New]pengu unbundle|pack|hash|self-check|version[/font])。
原因:可脚本化、可通过 SSH 使用、对 CI 友好——无需 GUI 或桌面。
[b]7. 零 Windows,完全离线[/b]
内容:每个工具链组件(存档读写器、哈希、原生库加载)都是纯 Rust。没有 Wine,没有 .NET,没有 Windows DLL,任何地方都没有网络访问。
原因:你永远不需要 Windows 工具链来检查、提取或重建 CP2077 存档。
[b]8. 研究级正确性[/b]
内容:格式事实是逐字节对照 [font=Courier New]basegame_1_engine.archive[/font] 和 WolvenKit / CP77Tools 参考源确定的——不是猜的。
方式:头部布局、FNV-1a 条目哈希、CRC-64/XZ 索引校验和以及 Kraken 块结构都对照真实游戏进行验证;一个已知的解码器怪癖(最多超出目标 7 字节)在读取器内部处理。
原因:正确性就是全部意义——错误的字节 = 损坏的存档。
[b]9. 路线图[/b]
计划第 2-8 阶段:CR2W 容器 ([font=Courier New]info[/font])、纹理 (XBM <-> DDS)、网格 ([font=Courier New].mesh[/font] <-> glTF)、TweakDB (YAML <-> bin)、音频 (WEM <-> OGG)、视频 (Bink [font=Courier New].bk2[/font])、设置 + 打包。
[line]
[size=4]安装[/size]
将 [font=Courier New]PenguKit-0.1.0-linux-x86_64.zip[/font] 解压到任意位置——将 [font=Courier New]natives/[/font] 保留在二进制文件旁边,它是自包含的。
运行 [font=Courier New]./pengukit[/font] 使用 GUI,或运行 [font=Courier New]./pengu <command>[/font] 使用 CLI。
可选的启动器命令 + 图标 + 桌面条目:
[font=Courier New]ln -s "$PWD/pengukit" ~/.local/bin/pengukit[/font]
[font=Courier New]cp icons/pengukit.svg ~/.local/share/icons/hicolor/scalable/apps/pengukit.svg[/font]
[size=4]要求 / 发行版兼容性 (x86-64)[/size]
只有一个构建版本:glibc、x86-64。[font=Courier New]pengu[/font] CLI 需要 glibc >= 2.34;捆绑的 [font=Courier New]libwwtools.so[/font] 需要 glibc >= 2.38。
可用:Arch / Manjaro、Fedora 39+、Ubuntu 23.10+(包括 24.04 LTS)、Debian 13+、openSUSE Tumbleweed,以及任何使用 glibc >= 2.38 的发行版。
部分可用(CLI 可运行;任何使用 [font=Courier New]libwwtools.so[/font] 的功能失败):Ubuntu 22.04 LTS / 23.04、Debian 12、Fedora 34-38、RHEL 9 / CentOS Stream 9 (glibc 2.34-2.37)。
不可用:Ubuntu <= 21.10、Debian <= 11、openSUSE Leap 15.x、RHEL <= 8 / CentOS 7-8;所有 musl 发行版 (Alpine);任何 32 位或 ARM/RISC-V CPU。
用以下命令检查你的机器:[font=Courier New]ldd --version[/font]。
GUI 还需要 [font=Courier New]python3-gobject[/font]、GTK4 和 [font=Courier New]libadwaita[/font](Debian/Ubuntu:[font=Courier New]sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1[/font])。
[size=4]不需要[/size]
不需要 Windows 机器、不需要 Wine、不需要 .NET、不需要网络、不需要运行游戏。
[size=4]链接[/size]
GitHub: https://github.com/Gigatone77/PenguKit(源代码、问题、路线图 - GPL-3.0)。
[size=4]备注[/size]
- 此版本仅限 Linux x86-64;zip 中的 README 包含完整的要求与发行版兼容性表。
- 运行时通过 RAD 的库进行 Kraken 解压(见 [font=Courier New]NOTICE[/font]);参考源(WolvenKit / CP77Tools)已在 NOTICE 中注明。
- 采用 GPL-3.0 许可。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。