Installer overwatch-2-battlenet

files:
- cache-updater: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/state-cache-update.sh
- dxvkcache: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
game:
  arch: win64
  args: --exec="launch Pro"
  exe: drive_c/Program Files (x86)/Battle.net/Battle.net.exe
  prefix: $GAMEDIR
installer:
- extract:
    description: Extracting DXVK state cache
    dst: $GAMEDIR
    file: dxvkcache
- write_file:
    content: '#!/bin/bash

      date="$(wget --server-response --spider https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
      2>&1 | sed -n "s/  Last-Modified: //p")"

      date="$(date -d "$date" +%s)"

      echo "$date" > ./state-cache-merge/.state-cache-timestamp'
    file: $GAMEDIR/timestamp.sh
- write_file:
    content: 'dxgi.nvapiHack = False

      [Overwatch.exe]

      dxvk.hud = compiler'
    file: $GAMEDIR/dxvk.conf
- merge:
    dst: $GAMEDIR/state-cache-merge
    src: cache-updater
- chmodx: $GAMEDIR/state-cache-merge/state-cache-update.sh
- chmodx: $GAMEDIR/timestamp.sh
- execute:
    file: $GAMEDIR/timestamp.sh
- move:
    dst: $CACHE
    src: $GAMEDIR/timestamp.sh
- task:
    app: arial
    arch: win64
    description: Installing Arial font...
    name: winetricks
    prefix: $GAMEDIR
    silent: true
- task:
    name: winekill
    prefix: $GAMEDIR
- write_json:
    data:
      Client:
        GameLaunchWindowBehavior: '2'
        GameSearch:
          BackgroundSearch: 'true'
        HardwareAcceleration: 'false'
        Sound:
          Enabled: 'false'
        Streaming:
          StreamingEnabled: 'false'
    description: Writing a Battle.Net config file
    file: $GAMEDIR/drive_c/users/$USER/Application Data/Battle.net/Battle.net.config
- write_config:
    description: Enabling Borderless Windowed mode
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: WindowMode
    section: Render.13
    value: '"1"'
- write_config:
    description: Switching to WEBM format for saving Highlights
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: Type
    section: MovieExport.1
    value: '"1"'
- write_config:
    description: Disabling hardware acceleration for saving Highlights
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: UseHardware
    section: MovieExport.1
    value: '"0"'
- write_file:
    content: hasseennewcinematic=True
    description: Adding a startup workaround for Hearthstone
    file: $GAMEDIR/drive_c/users/$USER/Local Settings/Application Data/Blizzard/Hearthstone/options.txt
- task:
    arch: win64
    description: 'Wine Staging: Enabling DXVA2'
    key: backend
    name: set_regedit
    path: HKEY_CURRENT_USER\Software\Wine\DXVA2
    prefix: $GAMEDIR
    value: va
- task:
    name: winekill
    prefix: $GAMEDIR
requires: battlenet-standard
system:
  env:
    DXVK_CONFIG_FILE: $GAMEDIR/dxvk.conf
    DXVK_STATE_CACHE_PATH: $GAMEDIR
    STAGING_SHARED_MEMORY: 1
    __GL_DXVK_OPTIMIZATIONS: 1
    __GL_SHADER_DISK_CACHE: 1
    __GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
    __GL_SHADER_DISK_CACHE_SKIP_CLEANUP: 1
  exclude_processes: Agent.exe "Battle.net Helper.exe"
  manual_command: $GAMEDIR/state-cache-merge/state-cache-update.sh
description: Script for existing install of Battle.net
game_slug: overwatch-2
gogslug: ''
humblestoreid: ''
installer_slug: overwatch-2-battlenet
name: Overwatch 2
notes: "**CONFIGURE AND INSTALL THE DEPENDENCIES FIRST**\r\nInstructions for Vulkan\
  \ support: https://github.com/lutris/lutris/wiki/Installing-drivers\r\nInstructions\
  \ for proper functionality of Battle.Net (+ common problems) https://github.com/lutris/lutris/wiki/Game:-Blizzard-App\r\
  \n**IMPORTANT NOTES**\r\n- The installer provides a pre-generated DXVK state cache\
  \ to provide stutter-free experience. As a result, it will cause a temporary performance\
  \ hit while the shaders are being compiled. The FPS will rise back up after it has\
  \ finished. \r\n\r\n**TROUBLESHOOTING**\r\nFor game-specific troubleshooting information\
  \ and minimum requirements, read Overwatch page on Lutris Wiki: https://github.com/lutris/lutris/wiki/Game:-Overwatch\r\
  \n\r\nIf you are running Wayland and have issues using ge-proton or Proton Experimental,\
  \ try switching to wine-staging 9.12 or newer - also switch to dxvk 2.5.1 (you can\
  \ install this into lutris using ProtonUp-qt or protonplus) as this may help with\
  \ some out of memory issues,"
runner: wine
script:
  files:
  - cache-updater: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/state-cache-update.sh
  - dxvkcache: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
  game:
    arch: win64
    args: --exec="launch Pro"
    exe: drive_c/Program Files (x86)/Battle.net/Battle.net.exe
    prefix: $GAMEDIR
  installer:
  - extract:
      description: Extracting DXVK state cache
      dst: $GAMEDIR
      file: dxvkcache
  - write_file:
      content: '#!/bin/bash

        date="$(wget --server-response --spider https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
        2>&1 | sed -n "s/  Last-Modified: //p")"

        date="$(date -d "$date" +%s)"

        echo "$date" > ./state-cache-merge/.state-cache-timestamp'
      file: $GAMEDIR/timestamp.sh
  - write_file:
      content: 'dxgi.nvapiHack = False

        [Overwatch.exe]

        dxvk.hud = compiler'
      file: $GAMEDIR/dxvk.conf
  - merge:
      dst: $GAMEDIR/state-cache-merge
      src: cache-updater
  - chmodx: $GAMEDIR/state-cache-merge/state-cache-update.sh
  - chmodx: $GAMEDIR/timestamp.sh
  - execute:
      file: $GAMEDIR/timestamp.sh
  - move:
      dst: $CACHE
      src: $GAMEDIR/timestamp.sh
  - task:
      app: arial
      arch: win64
      description: Installing Arial font...
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      name: winekill
      prefix: $GAMEDIR
  - write_json:
      data:
        Client:
          GameLaunchWindowBehavior: '2'
          GameSearch:
            BackgroundSearch: 'true'
          HardwareAcceleration: 'false'
          Sound:
            Enabled: 'false'
          Streaming:
            StreamingEnabled: 'false'
      description: Writing a Battle.Net config file
      file: $GAMEDIR/drive_c/users/$USER/Application Data/Battle.net/Battle.net.config
  - write_config:
      description: Enabling Borderless Windowed mode
      file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
      key: WindowMode
      section: Render.13
      value: '"1"'
  - write_config:
      description: Switching to WEBM format for saving Highlights
      file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
      key: Type
      section: MovieExport.1
      value: '"1"'
  - write_config:
      description: Disabling hardware acceleration for saving Highlights
      file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
      key: UseHardware
      section: MovieExport.1
      value: '"0"'
  - write_file:
      content: hasseennewcinematic=True
      description: Adding a startup workaround for Hearthstone
      file: $GAMEDIR/drive_c/users/$USER/Local Settings/Application Data/Blizzard/Hearthstone/options.txt
  - task:
      arch: win64
      description: 'Wine Staging: Enabling DXVA2'
      key: backend
      name: set_regedit
      path: HKEY_CURRENT_USER\Software\Wine\DXVA2
      prefix: $GAMEDIR
      value: va
  - task:
      name: winekill
      prefix: $GAMEDIR
  requires: battlenet-standard
  system:
    env:
      DXVK_CONFIG_FILE: $GAMEDIR/dxvk.conf
      DXVK_STATE_CACHE_PATH: $GAMEDIR
      STAGING_SHARED_MEMORY: 1
      __GL_DXVK_OPTIMIZATIONS: 1
      __GL_SHADER_DISK_CACHE: 1
      __GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
      __GL_SHADER_DISK_CACHE_SKIP_CLEANUP: 1
    exclude_processes: Agent.exe "Battle.net Helper.exe"
    manual_command: $GAMEDIR/state-cache-merge/state-cache-update.sh
slug: overwatch-2-battlenet
steamid: 2357570
version: Battle.net
year: 2022
{
  "game_slug": "overwatch-2",
  "version": "Battle.net",
  "description": "Script for existing install of Battle.net",
  "notes": "**CONFIGURE AND INSTALL THE DEPENDENCIES FIRST**\r\nInstructions for Vulkan support: https://github.com/lutris/lutris/wiki/Installing-drivers\r\nInstructions for proper functionality of Battle.Net (+ common problems) https://github.com/lutris/lutris/wiki/Game:-Blizzard-App\r\n**IMPORTANT NOTES**\r\n- The installer provides a pre-generated DXVK state cache to provide stutter-free experience. As a result, it will cause a temporary performance hit while the shaders are being compiled. The FPS will rise back up after it has finished. \r\n\r\n**TROUBLESHOOTING**\r\nFor game-specific troubleshooting information and minimum requirements, read Overwatch page on Lutris Wiki: https://github.com/lutris/lutris/wiki/Game:-Overwatch\r\n\r\nIf you are running Wayland and have issues using ge-proton or Proton Experimental, try switching to wine-staging 9.12 or newer - also switch to dxvk 2.5.1 (you can install this into lutris using ProtonUp-qt or protonplus) as this may help with some out of memory issues,",
  "name": "Overwatch 2",
  "year": 2022,
  "steamid": 2357570,
  "gogslug": "",
  "humblestoreid": "",
  "runner": "wine",
  "slug": "overwatch-2-battlenet",
  "installer_slug": "overwatch-2-battlenet",
  "script": {
    "files": [
      {
        "cache-updater": "https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/state-cache-update.sh"
      },
      {
        "dxvkcache": "https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz"
      }
    ],
    "game": {
      "arch": "win64",
      "args": "--exec=\"launch Pro\"",
      "exe": "drive_c/Program Files (x86)/Battle.net/Battle.net.exe",
      "prefix": "$GAMEDIR"
    },
    "installer": [
      {
        "extract": {
          "description": "Extracting DXVK state cache",
          "dst": "$GAMEDIR",
          "file": "dxvkcache"
        }
      },
      {
        "write_file": {
          "content": "#!/bin/bash\ndate=\"$(wget --server-response --spider https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz 2>&1 | sed -n \"s/  Last-Modified: //p\")\"\ndate=\"$(date -d \"$date\" +%s)\"\necho \"$date\" > ./state-cache-merge/.state-cache-timestamp",
          "file": "$GAMEDIR/timestamp.sh"
        }
      },
      {
        "write_file": {
          "content": "dxgi.nvapiHack = False\n[Overwatch.exe]\ndxvk.hud = compiler",
          "file": "$GAMEDIR/dxvk.conf"
        }
      },
      {
        "merge": {
          "dst": "$GAMEDIR/state-cache-merge",
          "src": "cache-updater"
        }
      },
      {
        "chmodx": "$GAMEDIR/state-cache-merge/state-cache-update.sh"
      },
      {
        "chmodx": "$GAMEDIR/timestamp.sh"
      },
      {
        "execute": {
          "file": "$GAMEDIR/timestamp.sh"
        }
      },
      {
        "move": {
          "dst": "$CACHE",
          "src": "$GAMEDIR/timestamp.sh"
        }
      },
      {
        "task": {
          "app": "arial",
          "arch": "win64",
          "description": "Installing Arial font...",
          "name": "winetricks",
          "prefix": "$GAMEDIR",
          "silent": true
        }
      },
      {
        "task": {
          "name": "winekill",
          "prefix": "$GAMEDIR"
        }
      },
      {
        "write_json": {
          "data": {
            "Client": {
              "GameLaunchWindowBehavior": "2",
              "GameSearch": {
                "BackgroundSearch": "true"
              },
              "HardwareAcceleration": "false",
              "Sound": {
                "Enabled": "false"
              },
              "Streaming": {
                "StreamingEnabled": "false"
              }
            }
          },
          "description": "Writing a Battle.Net config file",
          "file": "$GAMEDIR/drive_c/users/$USER/Application Data/Battle.net/Battle.net.config"
        }
      },
      {
        "write_config": {
          "description": "Enabling Borderless Windowed mode",
          "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
          "key": "WindowMode",
          "section": "Render.13",
          "value": "\"1\""
        }
      },
      {
        "write_config": {
          "description": "Switching to WEBM format for saving Highlights",
          "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
          "key": "Type",
          "section": "MovieExport.1",
          "value": "\"1\""
        }
      },
      {
        "write_config": {
          "description": "Disabling hardware acceleration for saving Highlights",
          "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
          "key": "UseHardware",
          "section": "MovieExport.1",
          "value": "\"0\""
        }
      },
      {
        "write_file": {
          "content": "hasseennewcinematic=True",
          "description": "Adding a startup workaround for Hearthstone",
          "file": "$GAMEDIR/drive_c/users/$USER/Local Settings/Application Data/Blizzard/Hearthstone/options.txt"
        }
      },
      {
        "task": {
          "arch": "win64",
          "description": "Wine Staging: Enabling DXVA2",
          "key": "backend",
          "name": "set_regedit",
          "path": "HKEY_CURRENT_USER\\Software\\Wine\\DXVA2",
          "prefix": "$GAMEDIR",
          "value": "va"
        }
      },
      {
        "task": {
          "name": "winekill",
          "prefix": "$GAMEDIR"
        }
      }
    ],
    "requires": "battlenet-standard",
    "system": {
      "env": {
        "DXVK_CONFIG_FILE": "$GAMEDIR/dxvk.conf",
        "DXVK_STATE_CACHE_PATH": "$GAMEDIR",
        "STAGING_SHARED_MEMORY": 1,
        "__GL_DXVK_OPTIMIZATIONS": 1,
        "__GL_SHADER_DISK_CACHE": 1,
        "__GL_SHADER_DISK_CACHE_PATH": "$GAMEDIR",
        "__GL_SHADER_DISK_CACHE_SKIP_CLEANUP": 1
      },
      "exclude_processes": "Agent.exe \"Battle.net Helper.exe\"",
      "manual_command": "$GAMEDIR/state-cache-merge/state-cache-update.sh"
    }
  }
}
Back to game