CLI reference
All commands are run via the rsmm entry point:
./rsmm <command> [options] # Linuxrsmm <command> [options] # WindowsCore commands
rsmm apply
Install all enabled mods into the game directory. Backs up originals, applies patches, and merges [[patch]] blocks from manifest.toml.
./rsmm apply./rsmm apply --game-dir /custom/pathRollback: ./rsmm restore --all
rsmm list
Show installed mods and their status.
./rsmm listrsmm doctor
Health check. Verifies the asset map, game directory, mod structure, and loader DLL. Run this often.
./rsmm doctor./rsmm doctor --mod MyMod # Check a specific modrsmm run
Launch Ravenswatch from the CLI.
./rsmm run./rsmm run --game-dir /custom/pathrsmm watch
Re-apply mods automatically whenever a file changes under mods/. Keeps running in the background.
./rsmm watchrsmm restore
Restore original game files. Reverses rsmm apply.
./rsmm restore --all # Restore everything./rsmm restore --mod MyMod # Restore files for one modrsmm log
Read the loader log file (<game>/mods/_log.txt).
./rsmm log # Full dump./rsmm log -n 80 # Last 80 lines./rsmm log -f # Follow live (Ctrl-C to stop)./rsmm log --grep lua # Filter (case-insensitive)./rsmm log --clear # Clear the log before a fresh launchMod management
rsmm new <id>
Scaffold a new mod directory:
./rsmm new MyMod# Creates: mods/MyMod/manifest.tomlrsmm pack <id>
Package a mod for distribution. Verifies no vanilla (unmodified game) bytes are included.
./rsmm pack MyMod # Writes dist/MyMod.zip./rsmm pack MyMod --allow-vanilla # Skip vanilla-byte check (personal backups only)rsmm install-loader
Copy the loader DLL (dist/winhttp.dll) into the game installation directory.
./rsmm install-loaderAsset editing
rsmm decode <file>
Structural dump of a cooked file (class table, sections, embedded strings).
./rsmm decode path/to/cooked.gen./rsmm decode path/to/cooked.gen --raw # Include hex payloadsrsmm uncook <file>
Extract a cooked asset to an editable source-format file. Per-class schemas
are reversed-engineered incrementally (see docs/RE_NOTES.md); when the
schema isn’t ready yet, --raw extracts section bytes directly so byte-level
mods are unblocked.
./rsmm uncook path/to/cooked.yqz # uncook to source format (schema-dependent)./rsmm uncook path/to/cooked.yqz --info # print container header + class table./rsmm uncook path/to/cooked.yqz --raw # dump all section payloads to <name>.raw./rsmm uncook path/to/cooked.yqz --raw --section 3 -o sec3.binrsmm cook --from <reference> <source>
Pack a source asset into a cooked Ravenswatch file. Until per-class encoders
land, --from <reference.yqz> is required: the reference supplies the
container header + class table + version. --raw substitutes the input
bytes verbatim as section payload, giving a byte-level edit path today.
# Round-trip section 3 byte-identically:./rsmm uncook --raw --section 3 ref.yqz -o sec3.bin./rsmm cook --raw --from ref.yqz --section 3 sec3.bin -o out.yqz
# Once schemas land, cook from source format:./rsmm cook --from ref.yqz model.gltf -o out.yqzrsmm texture
Swap a texture by donor reference.
./rsmm texture --list # List all textures./rsmm texture --list --grep Hero_Romeo # Search./rsmm texture --mod-id MyMod \ 'Ui/path/to/target.dxt=Ui/path/to/donor.dxt' # Assign./rsmm apply # Applyrsmm stat
Edit numeric game values (globals, modifiers, camp difficulty).
./rsmm stat --list # List all stats (143 globals + 19 modifiers + 6 camp bands)./rsmm stat --list --grep Bleed # Search./rsmm stat --mod-id LongerStatusEffects \ Bleed_Duration_Value=10 \ Ignite_Duration_Value=11 \ Easy:min=5 Easy:max=10 # Assign./rsmm apply # ApplySyntax: <short_name>[:field]=<value>. Multi-field classes use the :field suffix.
rsmm text
Override translation strings.
./rsmm text --list Common --lang EN # List keys./rsmm text --list Common --grep Menu_ # Search./rsmm text --mod-id Relabel \ 'Common~EN:Menu_Discord=Mods' # Assign./rsmm apply # ApplyLanguages: EN, JA, KO, RU, ES, DE, PL, FR, IT, PT-BR, ZH-S, ZH-T, RO.
rsmm url
Redirect main-menu URLs.
./rsmm url --list # List all URLs./rsmm url --mod-id MyHub \ DiscordUrl=https://my-mods-site.example/ # Assign./rsmm apply # Applyrsmm menu-button
Add a “Mods” entry to the title menu.
./rsmm menu-buttonrsmm social-tab
Add a Mods tab to the in-game Social book.
./rsmm social-tabrsmm mods-list
Ship a Mods_List cooked entity for the social tab.
./rsmm mods-listDebugging
rsmm doctor
See Core commands.
rsmm trace <id>
Run a specific mod with RSMM_TRACE=1 and surface the log output inline.
./rsmm trace MyModrsmm diff <id>
Show which cooked files a mod would change (dry-run).
./rsmm diff MyModrsmm decode <file>
See Asset editing.
Common workflows
| Goal | Commands |
|---|---|
| First-time setup | ./rsmm doctor |
| Install all mods | ./rsmm apply |
| Iterate on a mod | ./rsmm watch (runs in background) |
| Package for sharing | ./rsmm pack MyMod |
| Roll back everything | ./rsmm restore --all |
| Launch the game | ./rsmm run |
Global options
| Flag | Description |
|---|---|
--game-dir <path> | Custom Ravenswatch installation path |
--help | Show help for any command |
--version | Show RSMM version |