Desktop · Gaming Tools
Grimoire
A desktop mod manager for Deadlock. Install mods from GameBanana with one click, sort out the conflicts that always seem to happen between them, and tinker with stats and crosshairs while you're in there.
Overview
what it does
Modding Deadlock by hand is the usual Source-engine routine: download a .vpk from GameBanana, drop it in the right
addons folder, rename it so the load order doesn't collide with three other mods, and hope nothing breaks
gameinfo.gi on the way. If two mods touch the same files you find out mid-match.
Grimoire is the tool I wanted while doing that. It browses GameBanana inside the app, installs mods in one click (including via
GameBanana's grimoire: 1-Click button on the website), keeps the load order honest, and tells you when two mods are
fighting over the same files instead of silently winning.
It's for people who play Deadlock, like to mess with it, and would rather spend that energy on actual mods than on file plumbing. Windows and Linux, free, MIT.
How it works
install pipeline
Mod install flow: a GameBanana 1-Click URL or an in-app Install button hands an archive URL to the Electron main process. Grimoire
validates the source against an allow-list (only gamebanana.com), downloads the archive, and detects format by magic
bytes - ZIP, RAR, and 7z are all supported, and the decompression binaries ship with the app so there are no system
dependencies.
Before extraction, the archive is scanned for executables and scripts (.exe, .dll, .bat,
.ps1, .msi, and friends). If anything suspicious is in there, a modal lists the files and asks. As
defense-in-depth, the extractor itself will only write .vpk files into the Deadlock addons folder, so even an
accidental “yes” can't drop a binary on disk.
Once installed, mods live in a SQLite-backed library with per-mod metadata, thumbnails, and load priority. You can drag to
reorder, enable / disable, group into profiles, and swap mod sets without reinstalling. A 10-second background poll watches the
addons folder and flags VPK file conflicts as soon as two enabled mods stomp the same path. Launch buttons split modded vs.
vanilla, with a crash-safe stash for the vanilla gameinfo.gi so you can always get back to a clean game.
Features
what's in the appBrowse
GameBanana embedded directly: section tabs, hero filter, search, audio preview for sound mods, sticky header, and outdated / installed / NSFW overlays on each card. Mod detail overlays pull GameBanana comments and image carousels inline.
Install
One-click installs from inside the app or from any GameBanana page via the grimoire: URL handler (registered
by the installer, with a runtime fallback for the portable build). Drag-and-drop import for custom VPKs too. A toast confirms
the install and the Installed list refreshes live the moment it lands.
Conflict resolution
File-level conflict detection across all enabled mods, polled in the background. When two mods write the same VPK path, Grimoire surfaces the collision and lets you reorder priority, disable one, or keep both staged.
Locker, profiles, autoexec, crosshairs, stats
Beyond the big ones: a per-hero skin Locker with renders and nameplates, save / swap mod Profiles, an Autoexec editor with
confirmations, a Crosshair editor with live preview that writes citadel_crosshair_* lines into
autoexec.cfg, and a Stats tab backed by deadlock-api.com (matches, heroes, leaderboards, analytics, builds, meta).
Stack
what it's built on- TypeScript
- Electron
- React 19
- Zustand
- Tailwind v4
- better-sqlite3
Electron because the whole point is touching local files - Steam library paths, the addons folder, gameinfo.gi,
autoexec.cfg - and registering a custom URL scheme for GameBanana 1-Click. React 19 + Zustand keeps state simple
without a heavier framework, and better-sqlite3 gives the mod library real queries instead of a JSON blob on disk.
Tailwind v4 + Vite via electron-vite keeps the dev loop fast. DOMPurify sanitizes GameBanana-rendered
HTML (descriptions, comments) before it hits the renderer.
Status
v1.6.2, shipping
Shipping. v1.6.2 is the current release (May 2026), with ten tagged releases since launch and active week-over-week
updates. Auto-update is on for installer and AppImage users via electron-updater.
Install: Windows Grimoire-Setup-x.y.z.exe or portable .exe; Linux .AppImage or
.deb. Requires Deadlock via Steam. Every release ships a SHA256SUMS file and GitHub build-provenance
attestations - verify with sha256sum -c SHA256SUMS or
gh attestation verify <file> --owner Slush97. Windows installers aren't code-signed yet (SmartScreen will warn
on first run); SignPath Foundation OSS signing is in progress.