{ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { "version": "PTDL_v2", "update_url": null }, "exported_at": "2025-07-16T10:03:10+00:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "features": [ "steam_disk_space" ], "docker_images": { "ghcr.io\/ptero-eggs\/games:source": "ghcr.io\/ptero-eggs\/games:source" }, "file_denylist": [], "startup": "rmv() { echo \"stopping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} saveworld &&rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} DoExit && wait ${ARK_PID}; echo \"Server Closed\"; exit; }; trap rmv 15 2; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName=\"{{SESSION_NAME}}\"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled=True?MaxPlayers={{MAX_PLAYERS}}?GameModIds=\\\"{{MOD_ID}}\\\"$( [ \"$BATTLE_EYE\" == \"1\" ] || printf %s ' -NoBattlEye' ) -server -automanagedmods {{ARGS}} -log & ARK_PID=$! ; until echo \"waiting for rcon connection...\"; (rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD})<&0 & wait $!; do sleep 5; done", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { "script": "#!\/bin\/bash\r\n\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/serve\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\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\r\n\r\n\r\n\r\n# Install SteamCMD into server folder\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf \/tmp\/steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\n## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps", "container": "ghcr.io\/ptero-eggs\/installers:debian", "entrypoint": "bash" } }, "variables": [ { "name": "Server Password", "description": "If specified, players must provide this password to join the server.", "env_variable": "ARK_PASSWORD", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|alpha_dash|between:1,100", "field_type": "text" }, { "name": "Admin Password", "description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.", "env_variable": "ARK_ADMIN_PASSWORD", "default_value": "PleaseChangeMe", "user_viewable": true, "user_editable": true, "rules": "required|alpha_dash|between:1,100", "field_type": "text" }, { "name": "Server Map", "description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, Fjordur", "env_variable": "SERVER_MAP", "default_value": "TheIsland", "user_viewable": true, "user_editable": true, "rules": "required|string|max:20", "field_type": "text" }, { "name": "Server Name", "description": "ARK server name", "env_variable": "SESSION_NAME", "default_value": "A Pterodactyl Hosted ARK Server", "user_viewable": true, "user_editable": true, "rules": "required|string|max:128", "field_type": "text" }, { "name": "Rcon Port", "description": "ARK rcon port used by rcon tools.", "env_variable": "RCON_PORT", "default_value": "27020", "user_viewable": true, "user_editable": true, "rules": "required|numeric", "field_type": "text" }, { "name": "Query Port", "description": "ARK query port used by steam server browser and ark client server browser.", "env_variable": "QUERY_PORT", "default_value": "27015", "user_viewable": true, "user_editable": true, "rules": "required|numeric", "field_type": "text" }, { "name": "Auto-update server", "description": "Enable auto-updating from steam", "env_variable": "AUTO_UPDATE", "default_value": "1", "user_viewable": true, "user_editable": true, "rules": "required|boolean|in:0,1", "field_type": "text" }, { "name": "Battle Eye", "description": "Enable BattleEye", "env_variable": "BATTLE_EYE", "default_value": "1", "user_viewable": true, "user_editable": true, "rules": "required|boolean|in:0,1", "field_type": "text" }, { "name": "App ID", "description": "ARK steam app id for auto updates. Leave blank to avoid auto update.", "env_variable": "SRCDS_APPID", "default_value": "376030", "user_viewable": true, "user_editable": false, "rules": "nullable|numeric", "field_type": "text" }, { "name": "Additional Arguments", "description": "Specify additional launch parameters such as -crossplay. You must include a dash - and separate each parameter with space: -crossplay -exclusivejoin", "env_variable": "ARGS", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string", "field_type": "text" }, { "name": "Mods", "description": "Specifies the order and which mods are loaded. ModIDs need to be comma-separated such as: ModID1,ModID2", "env_variable": "MOD_ID", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|regex:\/^[0-9,]+$\/", "field_type": "text" }, { "name": "Max Players", "description": "Specifies the maximum amount of players able to join the server.", "env_variable": "MAX_PLAYERS", "default_value": "12", "user_viewable": true, "user_editable": true, "rules": "numeric", "field_type": "text" }, { "name": "Beta Branch", "description": "Installs beta branch if specified.", "env_variable": "SRCDS_BETAID", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string|max:50", "field_type": "text" } ] }