[
    {
        "UpdateStageName": "Zandronum Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "powershell.exe",
        "UpdateSourceArgs": "-NoProfile -Command \"$ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Set-Location -Path 'doom2/server'; $ServerVersion='{{ServerVersion}}'; if ([string]::IsNullOrWhiteSpace($ServerVersion)) { $ServerVersion = (Invoke-WebRequest -UseBasicParsing -Uri 'https://zandronum.com/downloads/').Links.href | Where-Object { $_ -match 'zandronum([\\d\\.]+)-win64-base\\.zip'} | ForEach-Object { $Matches[1] } | Sort-Object { [version]$_ } | Select-Object -Last 1 }; if ($ServerVersion -notmatch '^\\d+\\.\\d+(\\.\\d+)?$') { Write-Output \\\"Invalid Zandronum version format specified\\\"; exit 1 }; Invoke-WebRequest -UseBasicParsing -Uri https://zandronum.com/downloads/zandronum${ServerVersion}-win64-base.zip -OutFile 'zandronum.zip'; if ($?) { Expand-Archive -Path 'zandronum.zip' -DestinationPath '.' -Force *> $null; if (Test-Path zandronum.zip) { Remove-Item -Path 'zandronum.zip' -Force -ErrorAction SilentlyContinue | Out-Null }; Write-Output \\\"Zandronum v$ServerVersion downloaded\\\" }\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Zandronum Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd doom2/server && ServerVersion=\\\"{{ServerVersion}}\\\" && if [[ -z \\\"$ServerVersion\\\" ]]; then ServerVersion=$(wget -qO- https://zandronum.com/downloads/ | grep -o \\\"zandronum.*-linux-x86_64\\.tar\\.bz2\\\" | sort -V | tail -n1 | sed -n \\\"s/^zandronum\\([0-9.]\\+\\)-.*/\\1/p\\\"); fi && if [[ ! \\\"$ServerVersion\\\" =~ ^[0-9]+\\.[0-9]+(\\.[0-9]+)?$ ]]; then echo \\\"Invalid Zandronum version format specified\\\" && exit 1; fi && wget -qO zandronum.tar.bz2 https://zandronum.com/downloads/zandronum${ServerVersion}-linux-x86_64.tar.bz2 && tar -xjf zandronum.tar.bz2 >/dev/null 2>&1 && rm -f zandronum.tar.bz2 >/dev/null 2>&1 && echo \\\"Zandronum v$ServerVersion downloaded\\\"\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create Client Directory",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}client",
        "UpdateSourceConditionSetting": "DisableClientDownload",
        "UpdateSourceConditionValue": "false",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Doom II Client Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "SteamCMD",
        "UpdateSourceData": "2280",
        "UpdateSourceTarget": "{{$FullBaseDir}}client",
        "UpdateSourceConditionSetting": "DisableClientDownload",
        "UpdateSourceConditionValue": "false",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Server.cfg Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://raw.githubusercontent.com/tonytonyistony/Zandronum-Server-Config-Example/refs/heads/main/Zandronum-Server-Config-Example.cfg",
        "UpdateSourceArgs": "server.cfg",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "OverwriteExistingFiles": false
    },
    {
        "UpdateStageName": "Create maps.cfg",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateFile",
        "UpdateSourceArgs": "{{$FullBaseDir}}maps.cfg",
        "UpdateSourceData": "addmap MAP01\naddmap MAP02\naddmap MAP03\naddmap MAP04\naddmap MAP05\naddmap MAP06\naddmap MAP07\naddmap MAP08\naddmap MAP09\naddmap MAP10\naddmap MAP11\naddmap MAP12\naddmap MAP13\naddmap MAP14\naddmap MAP15\naddmap MAP16\naddmap MAP17\naddmap MAP18\naddmap MAP19\naddmap MAP20\naddmap MAP21\naddmap MAP22\naddmap MAP23\naddmap MAP24\naddmap MAP25\naddmap MAP26\naddmap MAP27\naddmap MAP28\naddmap MAP29\naddmap MAP30\naddmap MAP31",
        "OverwriteExistingFiles": false,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create whitelist.txt",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateFile",
        "UpdateSourceArgs": "{{$FullBaseDir}}whitelist.txt",
        "OverwriteExistingFiles": false,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create banlist.txt",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateFile",
        "UpdateSourceArgs": "{{$FullBaseDir}}banlist.txt",
        "OverwriteExistingFiles": false,
        "SkipOnFailure": false
    }
]