[
    {
        "UpdateStageName": "SteamCMD Client Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "SteamCMD",
        "UpdateSourceData": "42700",
        "UpdateSourceArgs": "42700",
        "UpdateSourceTarget": "{{$FullBaseDir}}T5",
        "ForceDownloadPlatform": "Windows",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create Plutonium Directory",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}Plutonium",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Plutonium Updater Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/mxve/plutonium-updater.rs/releases/latest/download/plutonium-updater-x86_64-pc-windows-msvc.zip",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Plutonium Installation",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C cd call-of-dutybo1\\server && plutonium-updater.exe -e \"games/iw5mp.exe\" -e \"games/iw5sp.exe\" -e \"games/t6mp.exe\" -e \"games/t6zm.exe\" -e \"games/t4mp.exe\" -e \"games/t4sp.exe\" -e \"storage/iw5\" -e \"storage/t6\" -e \"storage/t4\" -sfd \"{{$FullBaseDir}}Plutonium\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Plutonium Updater Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/mxve/plutonium-updater.rs/releases/latest/download/plutonium-updater-x86_64-unknown-linux-gnu.tar.gz",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Plutonium Installation",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd call-of-dutybo1/server && chmod +x plutonium-updater && ./plutonium-updater -e \\\"games/iw5mp.exe\\\" -e \\\"games/iw5sp.exe\\\" -e \\\"games/t6mp.exe\\\" -e \\\"games/t6zm.exe\\\" -e \\\"games/t4mp.exe\\\" -e \\\"games/t4sp.exe\\\" -e \\\"storage/iw5\\\" -e \\\"storage/t6\\\" -e \\\"storage/t4\\\" -sfd \\\"{{$FullBaseDir}}Plutonium\\\"\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create Config Download Directory",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullRootDir}}configs",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Plutonium Config Files Download",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/xerxes-at/T5ServerConfig/archive/refs/heads/master.zip",
        "UpdateSourceTarget": "{{$FullRootDir}}configs",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Config Files Copy",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"\\cp -r -n ./call-of-dutybo1/configs/T5ServerConfig-master/localappdata/Plutonium/storage/t5/* ./call-of-dutybo1/server/Plutonium/storage/t5 >/dev/null 2>&1 && rm -rf ./call-of-dutybo1/configs/\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Config Files Copy",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C robocopy call-of-dutybo1\\configs\\T5ServerConfig-master\\localappdata\\Plutonium\\storage\\t5 call-of-dutybo1\\server\\Plutonium\\storage\\t5 /E /XC /XN /XO > NUL 2>&1 & @if %ERRORLEVEL% GTR 7 (exit /b %ERRORLEVEL%) else (rd /S /Q call-of-dutybo1\\configs)",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create mods Directory",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}Plutonium/storage/t5/mods",
        "SkipOnFailure": true
    },
    {
        "UpdateStageName": "Initialise Wine",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"rm -rf \\\"{{$FullRootDir}}.wine\\\" >/dev/null 2>&1; WINEPREFIX=\\\"{{$FullRootDir}}.wine\\\" WINEARCH=win32 WINEDEBUG=-all /usr/bin/wineboot --init\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Disable Prefix Sound",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd call-of-dutybo1 && wget -q -N https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks && chmod +x winetricks; export WINEPREFIX=\\\"{{$FullRootDir}}.wine\\\"; export WINEARCH=win32; ./winetricks sound=disabled > winescript_log.txt 2>&1\"",
        "SkipOnFailure": true
    }
]