Deploy & purge¶
Helldivers 2 loads mods as patch files dropped directly into its data folder — files named
<16 hex characters>.patch_<N>, each optionally paired with a .gpu_resources and/or .stream file of the same
name. DDMM's Deploy and Purge buttons manage exactly those files; nothing else in your game install is touched.
Deploy¶
Clicking Deploy (tip: "Install the current selection of mods."):
- Validates your Game Path — deploy refuses to run against an invalid path.
- Walks your active profile's mod list, skipping any mod whose toggle is switched off.
- For each enabled mod, collects its patch files — from the mod's root, from the selected legacy option's
subfolder, or from each toggled
V1/V2option's (and selected sub-option's)Includefolders, depending on its manifest — grouped by their 16-character patch name.V1andV2collect identically;V2'sCategories/CategoryRefonly affect how options are grouped in the options editor, not what gets deployed. If a mod can't be collected (for example, an option folder its manifest names is missing), deploy stops here with an error, before yourdatafolder is touched, so the mods you deployed last time stay in place. - Purges (see below), so every deploy starts from a clean
datafolder rather than layering on top of a previous one. - Copies each group's patch/
.gpu_resources/.streamfiles into<Game Path>/data/, numbering them.patch_0,.patch_1, and so on in your profile's mod order. If a triplet is missing its.gpu_resourcesor.streamfile, DDMM writes an empty placeholder for it instead of skipping it, so the numbering for later mods touching the same patch name stays consistent. Higher numbers override lower ones in game, so the mod lowest in your list wins a conflict (see Load order and conflicts).
Deploying an empty profile (no mods, or none enabled — same list of Configs) shows an error instead of purging
your game folder for nothing: "Can not deploy empty profile!"
The Skip List and patch numbering¶
Some patch-name prefixes are already used by the base game or a DLC at index 0. If a patch name you're deploying
is listed in your Skip List, DDMM starts numbering that group's files at .patch_1
instead of .patch_0, leaving slot 0 alone. See Settings reference for when you'd add
an entry.
Purge¶
Clicking Purge (tip: "Uninstall all mods from the game.") asks for confirmation ("Are you sure you want to
uninstall all mods from the game?"), then deletes every file in <Game Path>/data/ that matches the
<16 hex chars>.patch_N[.gpu_resources|.stream] naming pattern — not just files DDMM itself deployed. This is
what "clean" means for deploy, and it's also available on its own if you just want your install back to a vanilla
state without deploying a new selection. The one exception is slot 0 of a patch name in your
Skip List: that .patch_0 (and its .gpu_resources/.stream) belongs to the game, so
purge leaves it in place — unless DDMM put it there itself (deployed before you added the name to the Skip List),
in which case it is purged like any other mod file.
To tell the two apart, each deploy writes a small record of the files it wrote, with each one's size and
modification time, .ddmm-deployed.json, into the same data folder; purge removes it again. A skip-listed slot
0 file is purged only if it is still exactly the file DDMM wrote: if something replaced it since (a Steam
"Verify integrity of game files" restoring the game's own file, for example), or there is no record (for example
after a deploy by an older version), it is kept.
Upgrading from rc.14 or earlier
If you used rc.14 or earlier with Skip List entries, verify game files in Steam once, because older versions could delete the game's own files for those names.
Purge only removes files matching that pattern (and its own .ddmm-deployed.json record); the rest of your data
folder (and your game install as a whole) is left alone.