Skip to content

Metadata Support

frostworx edited this page Nov 20, 2021 · 11 revisions

Collect as much as possible gamedata locally to make further automations easier and faster

To improve and speedup existing and further automations and functions steamtinkerlaunch collects as much useful metadata as possible.

The base storage directory for all metadata is STLCFGDIR/meta with subdirectories

  • id
    • custom
    • general
  • title
    • custom
    • general
  • eval
    • id
    • title

All metadata files are created/updated in the id subdirectories and symlinks with the game titles are created in the corresponding title subdirectory. (might make sense to use a sqlite3 db here, but having a transparent easily simple file structure also has its advantages)

Metadata are separated into custom and general to make sharing of general metadata in the community possible.

Custom Metadata

Currently custom metadata are only the Wineprefix and the GAMEDIR of the game.

General Metadata

general metadata stored are GAMEID and GAMENAME, depending on the detection function GAMEEXE, GAMEARCH and GAMEWINDOW will be stored as well. steamtinkerlaunch tries to autodetect the GAMEWINDOW automatically in the background, but it can also be picked via Tray Icon menu item. Additionally the general metadata are used to store all found Appinfo data.

Eval Metadata

Temporary vdf files created during Steam First Time Setup are stored unmodified under eval/id for later use Additionally a symlink with the GAMENAME is created on closeSTL under eval/title

Storing Metadata

When metadata is created via Command Line (either directly using the meta or indirectly the menu command line argument) only the GAMEID, GAMENAME, Wineprefix and the GAMEDIR are created/updated, as GAMEEXE, GAMEWINDOW and probably any other value are simply not available outside steam. When launching a game via steam using steamtinkerlaunch (here it doesn't matter if the game is actually started, or the user exists the launch via steamtinkerlaunch) the additional values are stored as well when entering the closeSTL function (so usually after the game has exited)

Backup using commandline:

see Command Line

Clone this wiki locally