bcssov / IronyModManager

Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV
https://bcssov.github.io/IronyModManager/
MIT License
351 stars 41 forks source link

Combined load order, patch and checksums export #376

Open gab opened 2 years ago

gab commented 2 years ago

Is your feature request related to a problem? Please describe. Getting mods in sync for a multiplayer game is a tedious multi-step process, which can also make it error-prone when multiple people on voice chat must execute those steps. I would like a one-step solution.

Current workflow before a multiplayer session:

  1. Group leader exports his collection (load order through text, or load order + patch mod through zip file)
  2. Everyone else imports the collection
  3. (Optionally try to start the game right away and see if game checksums match if we feel lucky and feel like waiting for Stellaris to load)
  4. Group leader exports his checksums
  5. Everyone validates the checksums
  6. Unsub/resub to mods as needed
  7. Everyone validates checksums again
  8. Hopefully, start playing.

Describe the solution you'd like The new workflow:

  1. Group leader exports the combined load order, patch mod and file hashes.
  2. Everyone else imports the collection, which runs validation with the received hashes - if any mod doesn't match, it fails, reporting file discrepancies just like the current hash validation.
  3. In case of error, unsub/resub to mods as needed and go back to step 2. Otherwise, proceed.
  4. Hopefully, start playing.

Describe alternatives you've considered There are no real alternatives I know of to the current workflow I've described above.

Additional context Implementation-wise, I imagine Irony could simply adapt to the contents of the export - as it might already be doing to differentiate a partial from a full export? Basically, if file hashes are included in a partial or full export, run the validation before finishing the process, otherwise, skip the validation step. Including file hashes in a full export might be pointless though, since successful unzipping of the files is itself a form of validation. But I suppose it wouldn't hurt to have stronger guarantees.

Also, since not everyone exports the patch mod, I think an export with only load order + file hashes would also be needed. Given the number of combinations, a small UI with checkboxes to select what you want to include in the export might be in order.

bcssov commented 2 years ago

Note: Will be a pain to implement with the current UI layout. Will be under consideration, though unlikely to be implemented in the near future.