Installer project-cosmos-pre-alpha

files:
- launcher: https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip
- webview2:
    filename: MicrosoftEdgeWebView2RuntimeInstallerX64.exe
    url: https://go.microsoft.com/fwlink/?linkid=2124701
game:
  arch: win64
  exe: drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe
  prefix: $GAMEDIR
install_complete_text: 'Installation completed!


  The launcher downloads the game into this prefix on first start.

  If the launcher window stays blank on niri or another compositor using

  xwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1

  in the game''s system options.

  '
installer:
- task:
    arch: win64
    description: Creating 64-bit Wine prefix
    name: create_prefix
    prefix: $GAMEDIR
- task:
    app: corefonts dotnetdesktop8
    description: Installing corefonts and .NET 8 Desktop Runtime
    name: winetricks
    prefix: $GAMEDIR
- task:
    args: /silent /install
    description: Installing WebView2 Runtime
    executable: webview2
    name: wineexec
    prefix: $GAMEDIR
- task:
    description: Setting WebView2 to Windows 7 mode
    key: Version
    name: set_regedit
    path: HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe
    prefix: $GAMEDIR
    value: win7
- extract:
    description: Extracting launcher
    dst: $GAMEDIR/drive_c/Program Files/Cosmos Launcher
    file: launcher
- write_file:
    content: "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n  exec python3\
      \ -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong,\
      \ (1, 0, 0, 0))) != 0:\n    print(\"no-thp: prctl failed, running with THP\"\
      , file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho \"\
      no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n"
    description: Writing THP wrapper
    file: $GAMEDIR/no-thp
- chmodx: $GAMEDIR/no-thp
system:
  prefix_command: $GAMEDIR/no-thp
wine:
  dxvk: true
description: Installs the official launcher; it downloads and updates the game itself.
game_slug: project-cosmos
gogslug: ''
humblestoreid: ''
installer_slug: project-cosmos-pre-alpha
name: Project Cosmos
notes: "- Recommended Wine version: GE-Proton (Latest). If your default Wine is set\
  \ to \"System\", change it under Preferences > Runners > Wine before installing;\
  \ the WebView2 installer can crash on older system Wine.\r\n\r\n- The game is started\
  \ through a small wrapper (no-thp) that disables transparent huge pages for the\
  \ game only. On distros with THP set to \"always\" (e.g. CachyOS), memory use under\
  \ Wine otherwise grows by many GB per hour. Without python3 the wrapper just starts\
  \ the game normally.\r\n\r\n- Blank launcher window on niri or other compositors\
  \ using xwayland-satellite: add the environment variable PROTON_ENABLE_WAYLAND=1\
  \ in the game's system options.\r\n\r\n- Reinstalling: delete the old install folder\
  \ first, winetricks refuses to reinstall into an existing prefix."
runner: wine
script:
  files:
  - launcher: https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip
  - webview2:
      filename: MicrosoftEdgeWebView2RuntimeInstallerX64.exe
      url: https://go.microsoft.com/fwlink/?linkid=2124701
  game:
    arch: win64
    exe: drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe
    prefix: $GAMEDIR
  install_complete_text: 'Installation completed!


    The launcher downloads the game into this prefix on first start.

    If the launcher window stays blank on niri or another compositor using

    xwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1

    in the game''s system options.

    '
  installer:
  - task:
      arch: win64
      description: Creating 64-bit Wine prefix
      name: create_prefix
      prefix: $GAMEDIR
  - task:
      app: corefonts dotnetdesktop8
      description: Installing corefonts and .NET 8 Desktop Runtime
      name: winetricks
      prefix: $GAMEDIR
  - task:
      args: /silent /install
      description: Installing WebView2 Runtime
      executable: webview2
      name: wineexec
      prefix: $GAMEDIR
  - task:
      description: Setting WebView2 to Windows 7 mode
      key: Version
      name: set_regedit
      path: HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe
      prefix: $GAMEDIR
      value: win7
  - extract:
      description: Extracting launcher
      dst: $GAMEDIR/drive_c/Program Files/Cosmos Launcher
      file: launcher
  - write_file:
      content: "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n  exec python3\
        \ -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong,\
        \ (1, 0, 0, 0))) != 0:\n    print(\"no-thp: prctl failed, running with THP\"\
        , file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho\
        \ \"no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n"
      description: Writing THP wrapper
      file: $GAMEDIR/no-thp
  - chmodx: $GAMEDIR/no-thp
  system:
    prefix_command: $GAMEDIR/no-thp
  wine:
    dxvk: true
slug: project-cosmos-pre-alpha
steamid: null
version: pre-alpha
year: null
{
  "game_slug": "project-cosmos",
  "version": "pre-alpha",
  "description": "Installs the official launcher; it downloads and updates the game itself.",
  "notes": "- Recommended Wine version: GE-Proton (Latest). If your default Wine is set to \"System\", change it under Preferences > Runners > Wine before installing; the WebView2 installer can crash on older system Wine.\r\n\r\n- The game is started through a small wrapper (no-thp) that disables transparent huge pages for the game only. On distros with THP set to \"always\" (e.g. CachyOS), memory use under Wine otherwise grows by many GB per hour. Without python3 the wrapper just starts the game normally.\r\n\r\n- Blank launcher window on niri or other compositors using xwayland-satellite: add the environment variable PROTON_ENABLE_WAYLAND=1 in the game's system options.\r\n\r\n- Reinstalling: delete the old install folder first, winetricks refuses to reinstall into an existing prefix.",
  "name": "Project Cosmos",
  "year": null,
  "steamid": null,
  "gogslug": "",
  "humblestoreid": "",
  "runner": "wine",
  "slug": "project-cosmos-pre-alpha",
  "installer_slug": "project-cosmos-pre-alpha",
  "script": {
    "files": [
      {
        "launcher": "https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip"
      },
      {
        "webview2": {
          "filename": "MicrosoftEdgeWebView2RuntimeInstallerX64.exe",
          "url": "https://go.microsoft.com/fwlink/?linkid=2124701"
        }
      }
    ],
    "game": {
      "arch": "win64",
      "exe": "drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe",
      "prefix": "$GAMEDIR"
    },
    "install_complete_text": "Installation completed!\n\nThe launcher downloads the game into this prefix on first start.\nIf the launcher window stays blank on niri or another compositor using\nxwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1\nin the game's system options.\n",
    "installer": [
      {
        "task": {
          "arch": "win64",
          "description": "Creating 64-bit Wine prefix",
          "name": "create_prefix",
          "prefix": "$GAMEDIR"
        }
      },
      {
        "task": {
          "app": "corefonts dotnetdesktop8",
          "description": "Installing corefonts and .NET 8 Desktop Runtime",
          "name": "winetricks",
          "prefix": "$GAMEDIR"
        }
      },
      {
        "task": {
          "args": "/silent /install",
          "description": "Installing WebView2 Runtime",
          "executable": "webview2",
          "name": "wineexec",
          "prefix": "$GAMEDIR"
        }
      },
      {
        "task": {
          "description": "Setting WebView2 to Windows 7 mode",
          "key": "Version",
          "name": "set_regedit",
          "path": "HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\msedgewebview2.exe",
          "prefix": "$GAMEDIR",
          "value": "win7"
        }
      },
      {
        "extract": {
          "description": "Extracting launcher",
          "dst": "$GAMEDIR/drive_c/Program Files/Cosmos Launcher",
          "file": "launcher"
        }
      },
      {
        "write_file": {
          "content": "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n  exec python3 -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong, (1, 0, 0, 0))) != 0:\n    print(\"no-thp: prctl failed, running with THP\", file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho \"no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n",
          "description": "Writing THP wrapper",
          "file": "$GAMEDIR/no-thp"
        }
      },
      {
        "chmodx": "$GAMEDIR/no-thp"
      }
    ],
    "system": {
      "prefix_command": "$GAMEDIR/no-thp"
    },
    "wine": {
      "dxvk": true
    }
  }
}
Back to game