[
    {
        "UpdateStageName": "Server-init.cfg Backup",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CopyFilePath",
        "UpdateSourceData": "{{$FullBaseDir}}server-init.cfg.bak",
        "UpdateSourceArgs": "{{$FullBaseDir}}server-init.cfg",
        "OverwriteExistingFiles": true,
        "SkipOnFailure": true
    },
    {
        "UpdateStageName": "Server Installation",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "powershell.exe",
        "UpdateSourceArgs": "-NoProfile -Command \"$ProgressPreference='SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Set-Location -Path 'sauerbraten'; Write-Output \\\"Installing/updating server\\\"; Invoke-WebRequest -UseBasicParsing -UserAgent \\\"Wget/1.21.4\\\" -Uri 'https://sourceforge.net/projects/sauerbraten/files/latest/download' -OutFile 'sauerbraten.exe'; if ($?) { & './sauerbraten.exe' /S \\\"/D={{$FullRootDir}}\\\\\" *> $null; if ($LASTEXITCODE -eq 0) { Write-Output \\\"Server installed/updated\\\"; Remove-Item -Path 'sauerbraten.exe' -Force -ErrorAction SilentlyContinue | Out-Null } }\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Server Installation",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd sauerbraten && echo \\\"Installing/updating server\\\" && wget -qO sauerbraten.tar.bz2 https://sourceforge.net/projects/sauerbraten/files/sauerbraten/2020_11_29/sauerbraten_2020_12_29_linux.tar.bz2/download && tar -xjf sauerbraten.tar.bz2 --strip-components=1 && echo \\\"Server installed/updated\\\" && rm -f sauerbraten.tar.bz2\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Server-init.cfg Restore",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CopyFilePath",
        "UpdateSourceData": "{{$FullBaseDir}}server-init.cfg",
        "UpdateSourceArgs": "{{$FullBaseDir}}server-init.cfg.bak",
        "OverwriteExistingFiles": true,
        "SkipOnFailure": true
    }
]