{ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { "version": "PTDL_v2", "update_url": null }, "exported_at": "2025-11-16T10:44:38+00:00", "name": "Enshrouded ARM64", "author": "josdekurk@gmail.com", "description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny. Credit to gOOvER for the original amd64 egg", "features": [ "steam_disk_space" ], "docker_images": { "FEX Proton Latest": "quintenqvd\/pterodactyl_images:fex_proton_latest" }, "file_denylist": [], "startup": "export HOME=\/home\/container; FEX \/usr\/local\/bin\/proton run .\/enshrouded_server.exe", "image": null, "config": { "files": "{\n \"enshrouded_server.json\": {\n \"parser\": \"json\",\n \"find\": {\n \"name\": \"{{server.build.env.SRV_NAME}}\",\n \"password\": \"{{server.build.env.SRV_PW}}\",\n \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\n \"gamePort\": \"{{server.build.default.port}}\",\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\n }\n }\n}", "startup": "{\n \"done\": \"[Session] 'HostOnline' (up)!\"\n}", "logs": "{}", "stop": "^^C" }, "scripts": { "installation": { "script": "#!\/bin\/bash\r\n\r\n\r\n## just in case someone removed the defaults.\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\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +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# add below your custom commands if needed\r\n\r\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n cd \/mnt\/server\r\n touch enshrouded_server.json\r\n echo \"{\" >> enshrouded_server.json\r\n echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n echo '}' >> enshrouded_server.json\r\nfi\r\n## install end\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "quintenqvd\/pterodactyl_images:installer_steamcmd", "entrypoint": "bash" } }, "variables": [ { "name": "[SERVER] Steam Query Port", "description": "Steam Query Port", "env_variable": "QUERY_PORT", "default_value": "", "user_viewable": true, "user_editable": false, "rules": "required|numeric", "field_type": "text" }, { "name": "WINDOWS_INSTALL", "description": "", "env_variable": "WINDOWS_INSTALL", "default_value": "1", "user_viewable": false, "user_editable": false, "rules": "boolean", "field_type": "text" }, { "name": "[STEAM] Steam App ID", "description": "Steam App ID", "env_variable": "SRCDS_APPID", "default_value": "2278520", "user_viewable": false, "user_editable": false, "rules": "required|string|in:2278520", "field_type": "text" }, { "name": "[SERVER] Auto Update", "description": "Enable automatic updates on boot", "env_variable": "AUTO_UPDATE", "default_value": "1", "user_viewable": true, "user_editable": true, "rules": "boolean", "field_type": "text" }, { "name": "[SERVER] Server Name", "description": "Name of the server", "env_variable": "SRV_NAME", "default_value": "My Server", "user_viewable": true, "user_editable": true, "rules": "required|string", "field_type": "text" }, { "name": "[SERVER] Server Password", "description": "Server password", "env_variable": "SRV_PW", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string", "field_type": "text" }, { "name": "[SERVER] Max Players", "description": "Maximum number of players allowed", "env_variable": "MAX_PLAYERS", "default_value": "16", "user_viewable": true, "user_editable": true, "rules": "required|numeric", "field_type": "text" }, { "name": "[SYSTEM] Validate", "description": "Validate the serverfiles through Steam", "env_variable": "VALIDATE", "default_value": "0", "user_viewable": true, "user_editable": true, "rules": "boolean", "field_type": "text" }, { "name": "FEX_ROOTFS_PATH", "description": "If you want a custom (mounted) fex RootFS\r\nMust end in a \/\r\nExample: \/fex\/", "env_variable": "FEX_ROOTFS_PATH", "default_value": "", "user_viewable": false, "user_editable": false, "rules": "nullable|string|max:32", "field_type": "text" } ] }