[FEATURE REQUEST] - Manage Game Versions
What problem does the feature request solve? Many games on Steam don't provide explicit versions and instead auto update. This often breaks mods and makes it hard for a player to use a specfic game version in a modded playthrough. There are manual ways to not update a game but it's not intuitive. Also if the game already updated, rolling back is hard without technical knowledge or having a backup.
Example mock-up (optional) A game version selection on the sidebar is possible. Other places like settings are also possible too but might be a bit too buried. TBD
Additional information (optional) I have already tested a proof of concept to download a game version from Steam inside r2modman with a specific depot id. Before fully implementing this, I wanted to discuss the idea and see if it is a wanted feature.
The current concept is as follows:
- By default, r2modman doesn't change and uses the Steam managed game install
- An external Github repo managed by the game community provides a json list of game versions with Steam depot ids.
- The Repo url is hardcoded inside r2modman
- The UI will be expanded to select and manage those versions
- When installing a game version, Steam is used to download the game with the depot id specified in the json. Afterwards, the file is moved to a specified path and the folder renamed
- SteamCLI doesn't provide an output for download progress. However, by generating a list of files and file sizes for each version in the community managed repo, this can be compared with the local file download. User feedback with a download percentage can be provided this way
My concerns with this are:
- The Thunderstore API doesn't provide mod / game version compatibility
- How does this affect deprecating packages? Do people start to only support their mod against one game version but because it's still "supported", results in a non-deprecated package.
- A community managed repo is a great idea, until people stop playing the game and therefore contributing to it. Only one or two contributors per community - what happens if they're away for a holiday season?
- If a mod has an update, well people won't be doing that because then their other mods haven't been updated either.
SteamCLI doesn't provide an output for download progress. However, by generating a list of files and file sizes for each version in the community managed repo, this can be compared with the local file download. User feedback with a download percentage can be provided this way
Janky and unreliable. If a new file is added, do we actually expect the community to verify this and report with correct information? How public is this repo? Surely we'd need write protections, which adds a whole other layer of responsibility on to it too.
Overall I don't think it's worth it with the current solution. Some of this could probably be negated by checking the https://steamdb.info depot record and depot contents though.
The interface is an odd one because for the most part, people shouldn't care about the version. It's meaningless for most casual users. The target audience is just people who want to install some mods and play the game, not people who like to tinker with things.
If this is just related to how the game launches and forces auto-updating, we can work around that but it's not partiularly nice as it would call the executable directly rather than launching via Steam, meaning that user supplied args in the Steam properties wouldn't be provided.
Apologies for the super late response on this.