Grimoire · project details

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.

01

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.

02

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.

03

Features

what's in the app

Browse

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).

04

Stack

what it's built on

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.

05

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.