Skip to content

Idea for store integration: use current directory if updater.conf exists next to updater #90

@illwieckz

Description

@illwieckz

I was talking with some lutris people about how to integrate properly our updater in lutris.

Unvanquished is available in lutris there: https://lutris.net/games/unvanquished/

Currently, the installation is version-specific. As game developer we would have to upload any new version (waiting for validation) and a player using lutris has to manually update the game on each version.

So, instead of unzipping the universal zip, we may write a lutris installer that runs the updater instead. It would have many benefits:

  • as game developer we don't care about updating the lutris installer
  • player will always be up-to-date with auto-update ability
  • lutris users would contribute to the seeding while downloading the game

But, we have an issue. Lutris expects the game to be installable anywhere, and asks for this place. Currently, users can change the path within our updater but that would not be properly integrated with lutris. Instead of adding command line parameters and things like that, I thought about something that may solve everything:

If, at startup, the updater finds a file named updater.conf next to it (even empty), the updater would use the current directory to store the game data and that configuration file to store the versions. The updater would even not need to read or write the installed path.

So, basically, the lutris installer would store the updater in that directory, create an empty updater.conf file in the directory, and run the updater. The lutris installer would also set the updater as the binary to run as game.

Note: this would also be perfect for “portable installations”, so non-linux systems could also benefit from this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions