How to write a native Steam installer

Lutris currently lacks information (at least easy to find information) about how to write proper installers for the various runners. There are some wiki info in the online installer editor, but they do not cover everything (and I’m not 100% if they are still up-to-date as the installer format changed a bit over the last few releases).

So the question in this topic is: how to write a proper installer for a Steam game? Typically a Steam game only needs the steamid specified (and apparently gameid too, even though it’s the same), but I can’t find how to define the steamid. Any clue? :slight_smile:

The easiest way to solve that one is to look up the game you’re trying to write an installer for on SteamPowered.com. The resulting URL will look like: store.steampowered.com/app/appid, and its that appid that is the steamid needed by Lutris.

Sorry I was probably not explicit enough. I know how to find the Steam ID, but I don’t know how to define it in the installer editor:

I’ve tried things like:

steamid: 404790
installer:
  steamid: 404790
runner:
  steamid: 404790

But none seem to work, in the installer I always end up with steamid: null.

You don’t need to do anything more. The ‘appid’ under game: is the steamid. Just submit the installer.

Indeed, it looks like it works fine even though there is a "steamid": null parameter in the installer script in the end:

[{"steamid": null, "description": "Latest stable version (64-bit), self-contained with the demos and export templates.", "runner": "steam", "notes": "", "installer_slug": "godot-engine-steam", "game_slug": "godot-engine", "game": {"appid": 404790}, "version": "Steam", "year": 2016, "slug": "godot-engine-steam", "name": "Godot Engine"}]

So I guess this steamid is no longer relevant but only the appid is.

Yes I think strycore deprecated steamid in favor of appid some time ago. But it seems it hasn’t been changed on the website.

As for the scripting documentation, it sure can be improved a lot, but what is there is mostly up to date.