[
    {
        "UpdateStageName": "Luanti Download",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "FetchURL",
        "UpdateSourceData": "https://github.com/minetest/minetest/releases/download/{{ServerVersion}}/luanti-{{ServerVersion}}-win64.zip",
        "UpdateSourceTarget": "{{$FullBaseDir}}",
        "UnzipUpdateSource": true,
        "OverwriteExistingFiles": true,
        "DeleteAfterExtract": true,
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Luanti Copy",
        "UpdateSourcePlatform": "Windows",
        "UpdateSource": "Executable",
        "UpdateSourceData": "cmd.exe",
        "UpdateSourceArgs": "/C xcopy /E /Y /I luanti\\server\\luanti-{{ServerVersion}}-win64\\* luanti\\server\\ && rmdir /Q /S luanti\\server\\luanti-{{ServerVersion}}-win64 && echo \"Luanti server v{{ServerVersion}} installed.\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Luanti Download",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "Executable",
        "UpdateSourceData": "/bin/bash",
        "UpdateSourceArgs": "-c \"cd luanti && Arch=$(uname -m) && BaseURL=https://github.com/rollerozxa/luantiserver/releases/download/{{ServerVersion}}/luantiserver-{{ServerVersion}} && { wget -qO luantiserver.tar.gz $BaseURL-$Arch.tar.gz || wget -qO luantiserver.tar.gz $BaseURL.tar.gz; } && tar -xzf luantiserver.tar.gz -C server --strip-components=1 >/dev/null 2>&1 && rm -rf luantiserver.tar.gz >/dev/null 2>&1 && echo \\\"Luanti server v{{ServerVersion}} installed.\\\"\"",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Games Directory Creation",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}games",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Mods Directory Creation",
        "UpdateSourcePlatform": "Linux",
        "UpdateSource": "CreateDirectory",
        "UpdateSourceArgs": "{{$FullBaseDir}}mods",
        "SkipOnFailure": false
    },
    {
        "UpdateStageName": "Game Config File Copy",
        "UpdateSourcePlatform": "All",
        "UpdateSource": "CopyFilePath",
        "UpdateSourceData": "{{$FullBaseDir}}minetest.conf",
        "UpdateSourceArgs": "{{$FullBaseDir}}minetest.conf.example",
        "OverwriteExistingFiles": false,
        "SkipOnFailure": false
    }
]