rpfd
io.github.molchalih由 GitHub 帳號 molchalih 發布v0.3.1更新於 Oct 24, 2026
Read and write RAGE Package Format archives
概覽
讀取、編輯並重建 RAGE 封裝格式(RPF7)封存檔,例如 GTA V 與 FiveM/RAGE MP 的 dlc.rpf 檔案,以 MCP 伺服器形式提供。
- 可以做什麼
- 遞迴列出封存檔內容,包含封存檔內巢狀的封存檔
- 讀取項目,pso、rbf 與 meta 內容可轉為 XML 檢視
- 就地寫回編輯後的項目,或透過完整重建來建立、刪除、移動項目與新增目錄
- 把封存檔解開到資料夾、把資料夾打包成封存檔,並對照記錄的校驗和驗證結果
- 從遊戲執行檔擷取並快取解密金鑰素材,並回報金鑰快取位置
- 適用情境
- 適合需要檢視或修改 GTA V 或 FiveM/RAGE MP 的 RPF7 封存檔時使用,例如瀏覽 dlc.rpf、編輯中繼資料或 XML 項目、解開並重新打包模組封存檔。不適用於 RPF8、RPF6 及更早格式,這些會被拒絕。
- 執行需求
- 以本機程序在桌面端執行;清單未宣告任何環境變數或標頭。提供 macOS、Windows 與 Linux 的預先編譯執行檔,也可用固定版本的 Rust 工具鏈從原始碼建置。加密封存檔需要從使用者自己的遊戲安裝中擷取金鑰素材(GTA5.exe、Launcher.exe 或執行中遊戲的記憶體映像)。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 rpfd,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
A dependency-light Rust toolchain for reading, editing and rebuilding RPF7
archives — the dlc.rpf files RAGE Multiplayer and FiveM servers hand to their
clients, and the archives Grand Theft Auto V ships. One command-line binary with
no runtime prerequisite, and the same code behind a JSON-RPC daemon and a VS
Code extension.
The editor extension installs from the store, so updates arrive by
themselves: molchalih.rpfd on the
VS Code Marketplace
and on Open VSX, or
code --install-extension molchalih.rpfd.
Asked to install this? An agent follows
the procedure in INSTALL.md:
the binary on PATH first, then rpf registered with every client the machine
has.
Formats
Pre-RPF7 attributions are read from other implementations, not measured here, and are recorded with their disagreements in the format notes. Every non-RPF7 version is recognised by its magic word and refused by number.
Encryption is per entry as well as per archive: the tag covers the table of contents and the names blob, and each entry's row says whether its payload is under the transform.
Installing
INSTALL.md is the page for this, and it answers three separate questions: how
to install the editor extension — from the VS Code Marketplace or Open VSX, with
a .vsix as the fallback — how to register the MCP server with an editor or an
agent, and where to put the binary if that is all you want.
It ends with the procedure an agent follows to do all three on one machine.
Prebuilt binaries for macOS, Windows and Linux are attached to each release.
To build from source instead — the toolchain is pinned in rust-toolchain.toml.
Clone the repository, then build from the root of the clone, wherever you put
it:
Encrypted archives need key material, extracted from your own installation:
No key material is bundled here, and none ever will be. Each source is cached
under the hash of its own bytes, under keys inside an rpf directory of the
platform's own configuration directory — $XDG_CONFIG_HOME or ~/.config on
Linux, ~/Library/Application Support on macOS, %APPDATA% on Windows. Every
command consults it without a flag, and rpf keys cache is what says where it
landed and how much is in it:
--cache-dir selects another cache, the one way to keep several installations
apart, and rpf keys invalidate empties one. No command prints a key — only
offsets, lengths, counts and paths. NG material stands in the clear only in a
memory image of a running game, so that is the sole route to an NG archive;
obtaining one is out of scope here. An archive whose material is absent fails
rather than guessing.
Usage
List an archive, descending into the archives inside it:
The second column says what an entry holds; pso, rbf and meta have an XML
view:
rpf put --as xml writes an edited document back in the entry's own encoding.
Ask what a write costs, then make it — the byte count is your edited.meta's,
not a constant, and --dry-run is how you learn it before anything is written:
put --create, rm, mv and mkdir move every offset after the header, so
they always rebuild and say so first. A rebuild is atomic: a scratch file beside
the archive replaces the original in one step.
Take an archive apart, build it back, check the result:
Every reporting command takes --json; rpf --help lists the rest.
clients/agent/README.md is the page for driving the tool from a program: the
JSON shapes, the failure object, and cat --out for a payload nobody is going
to read.
The daemon
rpf serve --stdio speaks JSON-RPC, one object per line. It answers everything
the binary does, holds edits until commit, and reports a long rebuild's
progress as cancellable notifications.
The editor extension
clients/vscode mounts an archive as a workspace folder: files open, edit and
save like any other, and a nested archive is a folder inside a folder. The
archive is written by one explicit act, previewed as patch or rebuild. See
clients/vscode/README.md.
Exit codes
Stable, so a caller can classify a failure without reading the message: 0 is
success, and every non-zero code names one class of failure. The daemon reports
the same numbers as a JSON-RPC error.code, with a symbolic
error.data.reason.
The table is in clients/agent/README.md, which owns it, along with what each
code tells a caller to do next.
Building and testing
Continuous integration runs these, on macOS, Linux and Windows for the first three; passing them locally is what makes a green run likely:
It also checks every commit message; git config core.hooksPath .githooks
runs the same check locally.
The suite needs no game data: what needs it is skipped. RPF_CORPUS,
RPF_GAME_EXE, RPF_GAME_IMAGE and RPF_METADATA point it at archives, game
executables, a memory image of the running game, and extracted metadata
payloads; the matching RPF_REQUIRE_* turns a skip into a failure.
Licence
MIT OR Apache-2.0, at your option. See LICENSE-MIT and LICENSE-APACHE.
來源:README.md,提交 f6e5673
工具
0版本歷史
3- v0.3.1最新Oct 11, 2026
- v0.3.0Oct 10, 2026
- v0.2.2Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分