diff --git a/game_eggs/terraria/vanilla/egg-terraria-vanilla.json b/game_eggs/terraria/vanilla/egg-terraria-vanilla.json index fd32d73a..fa3ad39a 100644 --- a/game_eggs/terraria/vanilla/egg-terraria-vanilla.json +++ b/game_eggs/terraria/vanilla/egg-terraria-vanilla.json @@ -1,28 +1,28 @@ { "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { - "version": "PTDL_v1", + "version": "PTDL_v2", "update_url": null }, - "exported_at": "2022-01-22T05:44:42-05:00", + "exported_at": "2022-10-05T12:17:20+02:00", "name": "Terraria Vanilla", "author": "iamkubi@gmail.com", "description": "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.", "features": null, - "images": [ - "ghcr.io\/parkervcp\/yolks:debian" - ], + "docker_images": { + "ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian" + }, "file_denylist": [], "startup": ".\/TerrariaServer.bin.x86_64 -config serverconfig.txt", "config": { - "files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"worldpath\": \"\/home\/container\/saves\/Worlds\",\r\n \"worldname\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"world\": \"\/home\/container\/saves\/Worlds\/{{server.build.env.WORLD_NAME}}.wld\",\r\n \"difficulty\": \"{{server.build.env.WORLD_DIFFICULTY}}\",\r\n \"autocreate\": \"{{server.build.env.WORLD_SIZE}}\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.SERVER_MOTD}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"worldpath\": \"\/home\/container\/saves\/Worlds\",\r\n \"worldname\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"world\": \"\/home\/container\/saves\/Worlds\/{{server.build.env.WORLD_NAME}}.wld\",\r\n \"difficulty\": \"{{server.build.env.WORLD_DIFFICULTY}}\",\r\n \"autocreate\": \"{{server.build.env.WORLD_SIZE}}\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.SERVER_MOTD}}\",\r\n \"seed\": \"{{server.build.env.WORLD_SEED}}\",\r\n \"password\": \"{{server.build.env.PASSWORD}}\",\r\n \"npcstream\": \"{{server.build.env.NPCSTREAM}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\"\r\n}", "logs": "{}", "stop": "exit" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl wget file unzip\r\n\r\nDOWNLOAD_LINK=invalid\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ \"${TERRARIA_VERSION}\" == \"latest\" ] || [ \"${TERRARIA_VERSION}\" == \"\" ] ; then\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | tail -1 | cut -d'?' -f1)\r\nelse\r\n CLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n echo -e \"Downloading terraria server files\"\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | grep \"${CLEAN_VERSION}\" | cut -d'?' -f1)\r\nfi \r\n\r\n## this is a simple script to validate a download url actaully exists\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid.\"\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\nCLEAN_VERSION=$(echo ${DOWNLOAD_LINK##*\/} | cut -d'-' -f3 | cut -d'.' -f1)\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"\"\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\n\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\n\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\n\r\necho -e \"Install complete\"", + "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl wget file unzip\r\n\r\nDOWNLOAD_LINK=invalid\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ \"${TERRARIA_VERSION}\" == \"latest\" ] || [ \"${TERRARIA_VERSION}\" == \"\" ] ; then\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.wiki.gg\/wiki\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | tail -1 | cut -d'?' -f1)\r\nelse\r\n CLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n echo -e \"Downloading terraria server files\"\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.wiki.gg\/wiki\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | grep \"${CLEAN_VERSION}\" | cut -d'?' -f1)\r\nfi \r\n\r\n## this is a simple script to validate a download url actaully exists\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid.\"\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\nCLEAN_VERSION=$(echo ${DOWNLOAD_LINK##*\/} | cut -d'-' -f3 | cut -d'.' -f1)\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"\"\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\n\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\n\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\n\r\necho -e \"Install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -30,12 +30,13 @@ "variables": [ { "name": "Terraria version", - "description": "the version of Terraria that is to be used.\r\n\r\nYou can use the full version number or the file number. (ex. 1.3.5.3 or 1353)\r\n\r\nGet version numbers here - https:\/\/terraria.gamepedia.com\/Server#Downloads", + "description": "the version of Terraria that is to be used.\r\n\r\nYou can use the full version number or the file number. (ex. 1.3.5.3 or 1353)\r\n\r\nGet version numbers here - https:\/\/terraria.wiki.gg\/wiki\/Server#Downloads", "env_variable": "TERRARIA_VERSION", "default_value": "latest", "user_viewable": true, "user_editable": true, - "rules": "required|string|max:20" + "rules": "required|string|max:20", + "field_type": "text" }, { "name": "World Name", @@ -44,7 +45,8 @@ "default_value": "world", "user_viewable": true, "user_editable": true, - "rules": "required|string|max:20" + "rules": "required|string|max:20", + "field_type": "text" }, { "name": "Max Players", @@ -53,7 +55,8 @@ "default_value": "8", "user_viewable": true, "user_editable": true, - "rules": "required|numeric|max:255" + "rules": "required|numeric|max:255", + "field_type": "text" }, { "name": "World Size", @@ -62,7 +65,8 @@ "default_value": "1", "user_viewable": true, "user_editable": true, - "rules": "required|numeric|in:1,2,3" + "rules": "required|numeric|in:1,2,3", + "field_type": "text" }, { "name": "Difficulty", @@ -71,7 +75,8 @@ "default_value": "3", "user_viewable": true, "user_editable": true, - "rules": "required|numeric|in:0,1,2,3" + "rules": "required|numeric|in:0,1,2,3", + "field_type": "text" }, { "name": "MOTD", @@ -80,7 +85,38 @@ "default_value": "Welcome!", "user_viewable": true, "user_editable": true, - "rules": "required|string|max:128" + "rules": "required|string|max:128", + "field_type": "text" + }, + { + "name": "World Seed", + "description": "The Seed to use when creating the World", + "env_variable": "WORLD_SEED", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + }, + { + "name": "Password", + "description": "The password which should be used.", + "env_variable": "PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "NPCStream", + "description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", + "env_variable": "NPCSTREAM", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|int|between:0,60", + "field_type": "text" } ] }