Phalcode/gamevault-backend

Implement metadata yaml

Closed this issue · 3 comments

Is your feature request related to a problem? Please describe.
The backend should switch to a metadata written in a YAML file instead of the folder title.
This would allow also to specify where the installer is and what is called, besides also allowing patching multiple files if the game has multiple patches.

The current folder structure works for movies, music albums and tv series but is not suitable for software (including games).

Many old games has patches as self-extractor execs and the GameVault could also support zip for in-folder patching.

I strongly suggest to have something like this:

Old naming: The Wandering Village (v0.1.32) (EA) (2022).iso

New naming: The Wandering Village (2022)/metadata.yaml

versions:
  0.1.32:
    path: TheWanderingVillage.v0.1.32.zip
    early-access: false
    no-cache: false
    game-type: portable
    patches:
      - TheWanderingVillage.v0.2.01.zip
      - TheWanderingVillage.v0.2.02.zip
    installer:
  0.2.00:
    path: TheWanderingVillage.v0.2.00.iso
    early-access: false
    no-cache: false
    game-type: setup
    patches:
      - TheWanderingVillage.v0.2.01.exe
      - TheWanderingVillage.v0.2.02.exe
      - TheWanderingVillage.v0.2.03.exe
    installer: setup.exe

This also will allow in the future to add extra feature by easily adding metadata.

Duplicate of #149.

In your approach the metadata file (package.json/metadata.yaml) is not optional and folders would be mandatory, which i dislike.

Duplicate of #149.

In your approach the metadata file (package.json/metadata.yaml) is not optional and folders would be mandatory, which i dislike.

make it optional.

Also closing this is silly.

Software is much more complicated than audio/video streams thus this level of details can be very useful, especially resolves many issues this awesome tool has like the inability to know which is the right installer, being able to patch to a specific version etc..

I did not close this without reason. I closed it as a duplicate. The idea you had is just not new. It's almost an exact carbon copy of what we have been planning in #149. Theres a reference to this ticket there now. Your input is not lost, just aggregated.