The Operating System for GAMES

Launch Config Reference

Your expertise can make a difference. Collaborate with us to take the gaming world to the next level.

lAUNCH cONFIG

Labs uses JSON configurations to launch games

The system to save/submit per-game app configuration is able to save different app/game configurations in Labs locally, and submit them to the backend. Once reviewed, your configuration can be promoted to become the official configuration for this application on Playtron.

Example File Name: launch_config_{app_id}.json

The app_id is the Playtron APP ID.
All the values below are optional since they all have default values in our global launch config.

Param name
Param type
Description
app_arguments
List<String>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

This is the list of arguments used for the app’s executable
app_executable
String

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Text three
app_executable
Text two

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

The executable to use when launching the app relative to its installation directory.

Ex:
x86/Hades.exe

The default value for this is whatever playserve identified it to be from the third party tools such as legendary/steamcmd
wine_id
String

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

This should specify the ID of the Wine or Proton version in the backend which we are using to launch the app
extra_registry
Map<String, List<List<String>>>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

List of registry keys to set when launching the app.
The inner array always has only 2 entries, the name and the value of the entry to set

Ex:
{
  
      'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\
\CurrentVersion\\Fonts': [
    
          ["Marlett (TrueType)", "marlett.ttf"],
   
          ["Symbol (TrueType)", "symbol.ttf"]
  
      ]
}
tricks_config
Map<String, List<String>>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Can be Winetricks or Protontricks config. This is a dictionary with key/values of the type of config applied to winetricks/protontricks.
env
Map<String, String>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Additional environment variables to launch the game with. Can also be used to set config options for proton shown here App Launch Configuration
Symlinks
List<Map<String, String>>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

List of objects to symlink

[
  
      {
    
             "source": "...",
    
             "target": "..."
  
      }

]
overrides
List<Override>

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

This is a list of overrides to apply to the root level config. The order matters, each override will be applied in order starting from the first index. See the overrides section.

Overrides

Overrides are a way to modify the base configuration. Because of that any not existant keys like env should be created in overrides if needed.

Ex if base configuration doesn’t define env, the override should
If one of the actions fails, whole override is ignored, but other matching overrides will still be applied. This behavior is especially useful when making assertions with "op": "test".

{
  
        "op": "add",

        "path": "/env",

        "value": {"PROTON_DISABLE_NVAPI": "1"}

}

Each override object should be as follows. Each action is written in JSON Patch format.
conditions is the object to specify when the override should be applied. At the moment only providers and architectures conditions are supported.

For override to be applied all conditions have to be met. Empty array or key absence will result in evaluation to true.

Each value in conditions arrays is a glob.

{

       "conditions": {
          "providers": ["!steam"],
          "architectures": []
 },
 "name": "Override name",
 "actions": [
     {
        "op": "add",
        "path": "/env/PROTON_USE_XALIA",
        "value": "1"
     }
   ]
}

Syntax

Syntax
Type
Meaning
?
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Single character
*
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Zero or more characters, except /
**
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Zero or more characters, including /
!
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Result negation. Ex. !steam will return true for everything different than steam
[ab]
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

One of the characters specified in the brackets, supports ranges like [a-z]. Using [!ab] will match everything except the provided characters
{a,b}
glob

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

One of the patterns in brackets. Supports up to 10 nested patterns
Param name
Param type
Description
Application Arguments
Array of strings. Some strings can have an extra argument.

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

for example “-no-launcher” or “resolution 1024”
Wine version
Drop down to pick version

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

for example “WineGE 8.1”
Registry Parameters
Folders that contain key/value pairs. Each folder has a name.

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

Folder name = HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts
key/value pairs in folder: "Marlett (TrueType)":"marlett.ttf" or  "Symbol (TrueType)":"symbol.ttf"
Note that the list of folders names is limited and could be picked from a drop down menu.
Winetricks
Array of Strings

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

"mfc140"
Environment Variables
Array of Key/value pairs

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

"WINE_NO_OPEN_FILE_SEARCH": "pso2_bin/data"
Symlinks
Object with source and target

List of registry keys to set when launching the app.

The inner array always has only 2 entries, the name and the value of the entry to set

Ex:

{
  

'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\

\CurrentVersion\\Fonts': [
   

["Marlett (TrueType)", "marlett.ttf"],
   

["Symbol (TrueType)", "symbol.ttf"]
  

      ]


}

{"source": "/tmp", "target": "{WINE_PREFIX}/dosdevices/r:"}

WINE_PREFIX: Wine prefix path

APP_INSTALL_DIR: Directory where the app is installed

APP_NAME: Name of the application

APP_VERSION: Version of the application

APP_FOLDER: Name of the folder where the application is installed

PROVIDER: Provider of the application (steam/epicgames/gog)

ARCHITECTURE: Architecture of the device (x86, arm)

{
  
        "op": "add",

        "path": "/env",

        "value": {"PROTON_DISABLE_NVAPI": "1"}

}