{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v1",
        "update_url": null
    },
    "exported_at": "2021-02-22T13:23:01+04:00",
    "name": "Post Scriptum",
    "author": "admin@softwarenoob.com",
    "description": "Post Scriptum is a WW2-themed first-person tactical shooter that provides an authentic WWII combat experience. Focusing on historical accuracy, large-scale battles, and a challenging battlefield demands an intense need for cohesion, communication, and teamwork.",
    "features": [
        "steam_disk_space"
    ],
    "images": [
        "quay.io\/pterodactyl\/core:source"
    ],
    "startup": ".\/PostScriptumServer.sh Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -RCONPORT={{RCON_PORT}} -RCONPASSWORD={{RCON_PASSWORD}} -fullcrashdump -log",
    "config": {
        "files": "{\r\n    \"PostScriptum\/ServerConfig\/Server.cfg\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"ServerName\": \"ServerName={{server.build.env.hostname}}\",\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.team_change}}\",\r\n            \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambalance}}\",\r\n            \"RecordDemos\": \"RecordDemos={{server.build.env.demo_recording}}\"\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\napt update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 746200 ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
            "container": "debian:buster-slim",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "Server Query Port",
            "description": "Server Query port",
            "env_variable": "QUERY_PORT",
            "default_value": "10037",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|numeric"
        },
        {
            "name": "RCON Port",
            "description": "Port used for RCON connections",
            "env_variable": "RCON_PORT",
            "default_value": "21114",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|numeric"
        },
        {
            "name": "RCON Password",
            "description": "Password for RCON connections, leave empty to disable.",
            "env_variable": "RCON_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|regex:\/^[a-zA-Z0-9]*$\/"
        },
        {
            "name": "Auto Update",
            "description": "Auto-update the game each time server is started, enter value 0 to disable.",
            "env_variable": "AUTO_UPDATE",
            "default_value": "1",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|boolean"
        },
        {
            "name": "Server Name",
            "description": "The name that will be displayed in the server browser list",
            "env_variable": "hostname",
            "default_value": "Pterodactyl Server",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32"
        },
        {
            "name": "Max Players",
            "description": "Sets the maximum number of players.",
            "env_variable": "maxplayers",
            "default_value": "80",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|numeric"
        },
        {
            "name": "Allow Team Change",
            "description": "Allow players to change teams  (true\/false)",
            "env_variable": "allowteamchange",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false"
        },
        {
            "name": "Advertise Server",
            "description": "Display the server in the public server browser list (true\/false)",
            "env_variable": "advertise",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false"
        },
        {
            "name": "Reserved Slots",
            "description": "The number of reserved slots",
            "env_variable": "reservedslots",
            "default_value": "0",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|numeric|max:80"
        },
        {
            "name": "Prevent team change",
            "description": "This will prevent players from changing teams when teams are not balanced (true\/false)",
            "env_variable": "team_change",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false"
        },
        {
            "name": "Enforce Team Balance",
            "description": "This will force team balance if the teams are uneven, by default 3 player difference. (true\/false)",
            "env_variable": "teambalance",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false"
        },
        {
            "name": "Record Demos",
            "description": "This will record demos of the players (true\/false)",
            "env_variable": "demo_recording",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:true,false"
        },
        {
            "name": "ld lib path",
            "description": "This is required, do not touch it",
            "env_variable": "LD_LIBRARY_PATH",
            "default_value": ".",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string"
        }
    ]
}
