Guides · DSMSPortable
How to Merge Mods with DSMSPortable (CLI Guide)
How to Merge Mods with DSMSPortable (CLI Guide)
Merging the same set of mods by hand in the GUI is fine once — but maintain a modpack or re-merge after every patch and clicking through it gets old fast. DSMSPortable is the fix: a command-line utility built on DSMapStudio's core libraries that applies CSVs to regulation.bin without opening the GUI. Script an entire multi-mod merge into one batch run and re-execute it whenever a mod updates or the game patches. It's the automation layer over the manual CSV merge workflow — same concept, no clicking. This assumes you already understand that workflow; if not, start at the merge hub and CSV export/import.
What it is
DSMSPortable (by mountlover) is a CLI wrapper around the same DSMapStudio core the GUI uses. Where the Param Editor applies a CSV through menus, DSMSPortable does it from a command — point it at a regulation.bin, name the game and which CSVs to apply, and it writes the merged file. Because it's scriptable, it's the tool of choice for deploying and merging programmatically. There's also AutoModMerger, a GUI built on top of it, for the automation without a terminal.
When to reach for it
The manual GUI merge is best for one-offs. Use DSMSPortable when:
- You maintain a modpack and re-merge often.
- You re-merge after every patch — Armored Core 6 and Elden Ring patch regularly, and a script re-applies the whole merge in seconds.
- You want repeatable, identical merges — a script produces the same result every time, no missed steps.
- You're deploying mods in a larger automated pipeline.
Merge two mods once and never touch it again → the GUI is simpler. Repeat it → the script pays for itself immediately.
Getting it
Distributed on GitHub (mountlover/DSMSPortable) and alongside DSMapStudio's releases. Extract it next to your CSVs and base regulation.bin, run it from a terminal. Because it shares DSMapStudio's core, it reads the same params and CSVs you already work with.
The command structure
Point at a regulation.bin, set the game, apply one or more CSVs to named params:
DSMSPortable.exe regulation.bin -G ER -C+ EquipParamWeapon:modA_weapons.csv
Operate on regulation.bin, for game ER (Elden Ring, -G), apply (-C+ = add/replace rows) modA_weapons.csv to the EquipParamWeapon param. Chain multiple -C+ to apply several CSVs in one pass. The game flag changes per title, and there are more options than shown — run DSMSPortable.exe --help or read the repo docs for the authoritative flag set.
A batch merge
The real power is a whole merge in a batch file you double-click. Several mods onto one vanilla base:
@echo off
DSMSPortable.exe regulation.bin -G ER ^
-C+ EquipParamWeapon:modA_weapons.csv ^
-C+ ItemLotParam_enemy:modB_drops.csv ^
-C+ ShopLineupParam:modC_shop.csv
echo Merge complete.
Each -C+ line applies one mod's CSV to its param. Run it and the merged regulation.bin is rebuilt from the vanilla base plus every mod's changes, in order — the same result as a manual merge, in one step. Keep the script beside the CSVs so the whole merge is reproducible.
Re-merging after a patch — where it earns its place
When the game patches, your merged pack is built on an old base. Updating it by hand means redoing the whole merge; with a script, drop in the new vanilla regulation.bin and re-run the same batch file — every mod's CSV re-applies onto the new base automatically. An afternoon of manual merging becomes a one-command refresh each patch. The re-base concept is in updating params after a patch; DSMSPortable just makes it instant.
AutoModMerger — the GUI option
Don't want a terminal? AutoModMerger wraps DSMSPortable in a window — point it at your CSVs and base, and it runs DSMSPortable underneath. A good middle ground: the automation and repeatability without writing commands.
Pair this with the manual understanding from the merge hub and Elden Ring walkthrough, keep your per-mod CSVs from CSV export/import so a re-merge is one command, and see the broader toolchain on the ecosystem page.