gamevault-backend icon indicating copy to clipboard operation
gamevault-backend copied to clipboard

Modular Mod/DLC/Addon/Patch Installations

Open PhuriousGeorge opened this issue 1 year ago • 3 comments

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

PhuriousGeorge avatar Jul 22 '23 01:07 PhuriousGeorge

Could be combined with #149

Alfagun74 avatar Jul 27 '23 05:07 Alfagun74

Waiting for #149

Alfagun74 avatar Feb 03 '24 22:02 Alfagun74

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.

aaron01-dev avatar May 15 '24 14:05 aaron01-dev