{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v1"
    },
    "exported_at": "2019-10-08T08:47:08-04:00",
    "name": "Squad",
    "author": "brycea@terrahost.cloud",
    "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.",
    "image": "quay.io\/pterodactyl\/core:source",
    "startup": "\/home\/container\/SquadGame\/Binaries\/Linux\/SquadGameServer SquadGame Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}",
    "config": {
        "files": "{\r\n    \"SquadGame\/ServerConfig\/Server.cfg\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"ServerName\": \"ServerName=\\\"{{server.build.env.servername}}\\\"\",\r\n            \"MaxPlayers\": \"MaxPlayers={{server.build.env.maxplayers}}\",\r\n            \"AllowTeamChanges\": \"AllowTeamChanges={{server.build.env.allowteamchange}}\",\r\n            \"ShouldAdvertise\": \"ShouldAdvertise={{server.build.env.advertise}}\",\r\n            \"NumReservedSlots\": \"NumReservedSlots={{server.build.env.reservedslots}}\",\r\n            \"PreventTeamChangeIfUnbalanced\": \"PreventTeamChangeIfUnbalanced={{server.build.env.ptciu}}\",\r\n            \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambal}}\",\r\n            \"RecordDemos\": \"RecordDemos={{server.build.env.recorddemos}}\"\r\n        }\r\n    }\r\n}",
        "startup": "{\r\n    \"done\": \"Engine Initialization\",\r\n    \"userInteraction\": []\r\n}",
        "logs": "{\r\n    \"custom\": false,\r\n    \"location\": \"latest.log\"\r\n}",
        "stop": "^C"
    },
    "scripts": {
        "installation": {
            "script": "#!\/bin\/bash\r\n## install required packages to install squad\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install squad\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer",
            "container": "ubuntu:18.04",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "Query Port",
            "description": "Query port for your Squad server.",
            "env_variable": "QUERY_PORT",
            "default_value": "27165",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|numeric"
        },
        {
            "name": "ld lib path",
            "description": "this is needed for some reason",
            "env_variable": "LD_LIBRARY_PATH",
            "default_value": "\/home\/container\/linux64\/",
            "user_viewable": 0,
            "user_editable": 0,
            "rules": "required|string"
        },
        {
            "name": "Game ID",
            "description": "The ID corresponding to the game to download and run using SRCDS.",
            "env_variable": "SRCDS_APPID",
            "default_value": "403240",
            "user_viewable": 0,
            "user_editable": 0,
            "rules": "required|string|max:20"
        },
        {
            "name": "Server Name",
            "description": "The name for the server in the server list",
            "env_variable": "servername",
            "default_value": "Squad Server",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string|max:30"
        },
        {
            "name": "Max Players",
            "description": "Sets the maximum number of players.",
            "env_variable": "maxplayers",
            "default_value": "80",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required"
        },
        {
            "name": "Allow Team Change",
            "description": "Allow players to change teams ( true \/ false )",
            "env_variable": "allowteamchange",
            "default_value": "true",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        },
        {
            "name": "Advertise Server",
            "description": "Have the server report to the public server list ( true \/ false )",
            "env_variable": "advertise",
            "default_value": "true",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        },
        {
            "name": "Reserved Slows",
            "description": "The number of reserved slots for admins \/ mods",
            "env_variable": "reservedslots",
            "default_value": "0",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        },
        {
            "name": "Prevent Team Change If Unbalanced",
            "description": "This will prevent players from changing teams if they're already unbalanced ( true \/ false )",
            "env_variable": "ptciu",
            "default_value": "true",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        },
        {
            "name": "Enforce Team Balance",
            "description": "This will FORCE team balance if the teams are too uneven ( true \/ false )",
            "env_variable": "teambal",
            "default_value": "true",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        },
        {
            "name": "Record Demos",
            "description": "This will record demos of the players ( true \/ false )",
            "env_variable": "recorddemos",
            "default_value": "true",
            "user_viewable": 1,
            "user_editable": 1,
            "rules": "required|string"
        }
    ]
}