[
    {
        "UpdateStageName": "SteamCMD Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "SteamCMD",
        "UpdateSourceData": "896660",
        "UpdateSourceArgs": "892970",
        "UpdateSourceVersion": "{{Stream}}",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "ValheimPlus Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "GithubRelease",
        "UpdateSourceArgs": "Grantapher/ValheimPlus",
        "UpdateSourceData": "WindowsServer.zip",
        "UpdateSourceConditionSetting": "valheim_plus_install",
        "UpdateSourceConditionValue": "true",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "ValheimPlus Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "GithubRelease",
        "UpdateSourceArgs": "Grantapher/ValheimPlus",
        "UpdateSourceData": "UnixServer.zip",
        "UpdateSourceConditionSetting": "valheim_plus_install",
        "UpdateSourceConditionValue": "true",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Settings File Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "GithubRelease",
        "UpdateSourceArgs": "Grantapher/ValheimPlus",
        "UpdateSourceData": "valheim_plus.cfg",
        "UpdateSourceTarget": "{{$FullBaseDir}}BepInEx/config",
        "OverwriteExistingFiles": false,
        "UpdateSourceConditionSetting": "valheim_plus_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "BepInEx Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"BepInExVersion=\\\"{{bepinex_version}}\\\" && if [[ -z \\\"$BepInExVersion\\\" ]]; then BepInExVersion=$(wget -qO- https://thunderstore.io/api/v1/package-metrics/denikson/BepInExPack_Valheim | jq -r \\\".latest_version\\\"); fi && if [[ ! \\\"$BepInExVersion\\\" =~ ^[0-9]+\\.[0-9]+\\.[0-9]+$ ]]; then echo \\\"Invalid BepInEx version format specified\\\" && exit 1; fi && wget -qO BepInEx.zip https://gcdn.thunderstore.io/live/repository/packages/denikson-BepInExPack_Valheim-$BepInExVersion.zip && echo \\\"BepInEx v$BepInExVersion downloaded\\\"\"",
        "UpdateSourceConditionSetting": "bepinex_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "BepInEx Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "powershell.exe",
        "UpdateSourceArgs": "-NoProfile -Command \"$ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $BepInExVersion='{{bepinex_version}}'; if ([string]::IsNullOrWhiteSpace($BepInExVersion)) { $BepInExVersion=(Invoke-RestMethod -UseBasicParsing -Uri https://thunderstore.io/api/v1/package-metrics/denikson/BepInExPack_Valheim).latest_version }; if ($BepInExVersion -notmatch '^\\d+\\.\\d+\\.\\d+$') { Write-Output \\\"Invalid BepInEx version format specified\\\"; exit 1 }; Invoke-WebRequest -UseBasicParsing -Uri https://gcdn.thunderstore.io/live/repository/packages/denikson-BepInExPack_Valheim-$BepInExVersion.zip -OutFile 'BepInEx.zip'; if ($?) { Write-Output \\\"BepInEx v$BepInExVersion downloaded\\\" }\"",
        "UpdateSourceConditionSetting": "bepinex_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "BepInEx Extract",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "ExtractArchive",
        "UpdateSourceData": "BepInEx.zip",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "UpdateSourceConditionSetting": "bepinex_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "BepInEx Copy",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C xcopy /E /Y /I Valheim\\896660\\BepInExPack_Valheim\\* Valheim\\896660\\ > NUL 2>&1 && rmdir /Q /S Valheim\\896660\\BepInExPack_Valheim",
        "UpdateSourceConditionSetting": "bepinex_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "BepInEx Copy",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cp -rf ./Valheim/896660/BepInExPack_Valheim/* ./Valheim/896660/ >/dev/null 2>&1 && rm -rf ./Valheim/896660/BepInExPack_Valheim/\"",
        "UpdateSourceConditionSetting": "bepinex_install",
        "UpdateSourceConditionValue": "true",
        "SkipOnFailure": false
    }
]