[
    {
        "UpdateStageName": "Download TeaSpeak",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://repo.teaspeak.de/server/linux/amd64_stable/TeaSpeak-1.5.6.tar.gz",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create yt-dlp Directory",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}providers/bin",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Download yt-dlp",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp",
        "UpdateSourceArgs": "youtube-dl",
        "UpdateSourceTarget": "{{$FullBaseDir}}providers/bin",
        "OverwriteExistingFiles": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Set Executable Flag",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "SetExecutableFlag",
        "UpdateSourceArgs": "{{$FullBaseDir}}providers/bin/youtube-dl",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Create yt-dlp Config",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "CreateFile",
        "UpdateSourceData": "[general]\nyoutubedl_command=./bin/youtube-dl",
        "UpdateSourceArgs": "{{$FullBaseDir}}providers/config_youtube.ini",
        "OverwriteExistingFiles": false,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Start Server",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "StartApplication",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Wait For Server Start",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "WaitForStartupComplete",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Stop Server",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "ShutdownApplication",
        "SkipOnFailure": false
    }
]