[
    {
        "UpdateStageName": "7-Zip Directory Creation",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullRootDir}}7-Zip"
    },
    {
        "UpdateStageName": "7-Zip Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://www.7-zip.org/a/7zr.exe",
        "UpdateSourceTarget": "{{$FullRootDir}}7-Zip"
    },
    {
        "UpdateStageName": "7-Zip Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://www.7-zip.org/a/7z2301-linux-x64.tar.xz",
        "UpdateSourceTarget": "{{$FullRootDir}}7-Zip",
        "OverwriteExistingFiles": true
    },
    {
        "UpdateStageName": "7-Zip Files Extract",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd ./sit/7-Zip && tar -xf 7z2301-linux-x64.tar.xz >/dev/null 2>&1 && rm -f 7z2301-linux-x64.tar.xz\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Download SPT AKI",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://spt-releases.modd.in/SPT-{{SPTVersion}}.7z",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": false,
        "OverwriteExistingFiles": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "SPT Files Extract",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C cd .\\sit\\server && ..\\7-Zip\\7zr.exe x -y SPT*.7z > NUL 2>&1 && del /Q /F SPT*.7z",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "SPT Files Extract",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd ./sit/server && ../7-Zip/7zzs x -y SPT*.7z >/dev/null 2>&1 && rm -f SPT*.7z\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "SPT Extra Files Delete",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C cd .\\sit\\server && del /F /Q Aki.Launcher.exe doorstop_config.ini winhttp.dll > NUL 2>&1 & rd /S /Q EscapeFromTarkov_Data BepInEx > NUL 2>&1",
        "SkipOnFailure": true
    },
    {
        "UpdateStageName": "SPT Extra Files Delete",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd ./sit/server && rm -rf Aki.Launcher.exe EscapeFromTarkov_Data BepInEx doorstop_config.ini winhttp.dll >/dev/null 2>&1\"",
        "SkipOnFailure": true
    },
    {
        "UpdateStageName": "SIT Server Mod Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/stayintarkov/SIT.Aki-Server-Mod/releases/download/{{SITVersion}}-win.zip",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true
    },
    {
        "UpdateStageName": "SIT Server Mod Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/stayintarkov/SIT.Aki-Server-Mod/releases/download/{{SITVersion}}-linux.tar.gz",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true
    },
    {
        "UpdateStageName": "Make SIT Server Executable",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "SetExecutableFlag",
        "UpdateSourceArgs": "{{$FullBaseDir}}Aki.Server.exe"
    },
    {
        "UpdateStageName": "Server Startup",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "StartApplication"
    },
    {
        "UpdateStageName": "Wait For Server Startup",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "WaitForStartupComplete"
    },
    {
        "UpdateStageName": "Server Shutdown",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "ShutdownApplication"
    }
]