Tools

The toolbox

Everything Grimoire is built on is open: the code, the format for trading mod loadouts, and the companion tool that gets around Deadlock's mod limit.

Slush97/grimoire

The source

The desktop client, the docs and the issue tracker all live in one public repo. Electron and React on the desktop, better-sqlite3 underneath.

MIT
Fork it, read it, ship your own. No login, no subscription.
Works offline
Managing the mods you already have needs no internet. The docs list every request the app does make.
1-Click
The Grimoire button on a GameBanana mod page downloads, scans, extracts and registers the mod.

mp1

The mod profile spec

A mod profile is a whole loadout: every mod, in priority order, with its settings. The mp1 format makes one portable and readable by any tool, not only Grimoire.

Share codes
mp1:<base64url(gzip(json))>. A 30-mod profile fits in 1 to 2 KB, small enough to paste in a Discord message.
Files
Or save it as .modprofile.json (proposed MIME application/vnd.modprofile+json). Readable and diffable.
Open
Game and manager agnostic. The spec is public, with resolution rules, a conformance checklist and security notes.
v1.1
Grimoire layers optional extensions on top (crosshair, autoexec) without breaking other readers.
mp1:H4sIAAAA...<gzipped json>

Rust

vpkmerge

Combines a pile of .vpk files into one, or splits one back into many. Deadlock mounts roughly 100 mod VPKs at most, so pre-merging lets you run a stack the engine would otherwise refuse.

Built with

CLI and GUI
A command-line binary and a desktop app with drag and drop, reorderable priority, and a conflict resolver with Source 2 texture previews.
Collisions
LastWins (the default), FirstWins, or Error (--strict) to refuse to merge on any conflict.
Library
The vpkmerge-core crate: inspect(), detect_conflicts(), merge(), split(). Reads chunked VPKs transparently.
vpkmerge out_dir.vpk mod1_dir.vpk mod2_dir.vpk --verbose