gamevault-backend
gamevault-backend copied to clipboard
Modular Mod/DLC/Addon/Patch Installations
Is your feature request related to a problem? Please describe. I possess an extensive library and have been in search of a solution like this for a while. Various applications aim to achieve similar outcomes, each with its distinct approaches and sets of available/missing features. One of the essential aspects for me is the capability to introduce alternative "addons" or "mods" to a game installation without the need to duplicate storage space by bundling a setup that's nearly identical, sometimes only adding one file to the install.
Describe the solution you'd like Ability to have separate mods/addons/DLC/patches for added games consisting of a separate zip/7z file per modification that can be chosen to unpack over the game's install after the primary install is complete, overwriting any conflicts. This might entail a mod-loader type system, where you select X number of available mods/DLCs and the order of install.
Describe alternatives you've considered I'm currently managing this manually with scripts I generate
Additional context N/A
Could be combined with #149
Waiting for #149
My thoughts would be:
Main problem with current system is that, you can only serve game files in a form of zip or installers. Which would mean:
- Unefficient storage for versioning if we don't use patchers.
- 2 versions is basically 2 copies of an entire game, the latest one being slightly larger.
- if there's multiple versions, and users can choose which version to install, it wouldn't really be an update per se and more like a complete reinstall but having a newer/older version compared to your existing version.
If a torrent like system was introduced (without p2p and only server providing the files) then these are my next thoughts: Would the server be the one creating its own patches, would it integrate a sort of ISXPM version (which I remember is an xdelta patcher)
- Although this would mean you'd have to provide the server an exact copy of the game but newer, for the server to create the patch.
- Which would mean there should be an option to just provide a patch file to the server to serve to users.
- Or if serving an entire game not as an installer, use the patcher to update the server files for...
Versioning/Snapshotting of a game version:
- to save space as it only snapshots what's changed in the game folder,
- owner of the server creates a snapshot, updates the game, then creates another, which the user can pick what version they'd like (not knowledgeable enough with this part of softwares)
- ability to have checksums on new updates or when the user wants to request to verify the integrity of their files.
- this is like gdrive's history or ZFS Snapshotting I believe?
- you'd have to be serving the entire game and not as an installer
DLCs should be its own separate addition:
- users can install a game, but choose not to install a DLC/Save/Mods/etc (extra files)
- users can update the game even without choosing to opt in for extra files
- If they choose to opt in for extra files those extra files will have its own versions where they can choose how updated their extra files are
- this is to avoid opting in to new versions of extra files that could be game breaking for their saves
Just my thoughts, probably has a lot of flaws somewhere, or maybe some mentioned features are unnecessary and that it's feasible without them.