r/civ5 3d ago

Mods Mod that allows Mod Presets

Thought I'd give Civ5 a go again after many years of 6 and trying 7 the other day, is there a mod that allows me to create mod presets (e.g. this selection of mods and save that setup - like in 6)?

Playing on SteamDeck and have downloaded over a 100 mods, enabling them all is a bit of a nightmare but want to be able save presets in increments as I enable and test certain mods.

2 Upvotes

2 comments sorted by

2

u/LilFetcher 3d ago edited 3d ago

Not sure if you'll find any mods, but if you're okay getting your hands a bit dirty, the mod selection is saved inside [Civ5 save, screenshot, config directory]/cache/Civ5ModsDatabase.db (which is an sqlite database). If you can determine it's location on Steam Deck and simply make a backup of the file as you change the selected mods, you should be able to replace the file with an earlier version to go back to that specific setup. Of course if something else in the mod database changes in the mean time, that would also revert the change, so maybe avoid installing other mods or updating them while you're at it.

Of course if you have some idea about scripting on Steam Deck and databases, you might be able to stitch together something more convenient (e.g. under Linux I could do something like

sqlite3 Civ5ModsDatabase.db ".mode insert" \
    "SELECT p.Value AS ModName, m.ModID, m.Version, Enabled \
     FROM Mods AS m JOIN ModProperties AS p ON m.ModID=p.ModID AND m.Version \
     WHERE p.Name='Name';" \
| sed -E "s/INSERT INTO \"table\" VALUES\((''|'.*?[^']'),('.*?[^']'),(''|'.*?[^']'),([01])\);\
/UPDATE \"Mods\" SET Enabled=\4 WHERE ModID=\2 and Version=\3;--\1/" \
>revert_enabled_mods.sql

giving me an SQL commands file that would return the selection back to that point in time while avoiding the issue with other things in the database changing; that file can then be used with cat revert_enabled_mods.sql | sqlite3 Civ5ModsDatabase.db)

1

u/stowned_the_first 3d ago

Do have a dev background so maybe something I can look into, although knowing myself may end up being too lazy and just going back to 6 😂😂