{"meta":{"slug":"games-standalone-terraria-vanilla","name":"Terraria Vanilla","category":"terraria","source":"pelican","owner":"pelican-eggs","repo":"games-standalone","branch":"main","path":"terraria/vanilla/egg-terraria-vanilla.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/games-standalone/main/terraria/vanilla/egg-terraria-vanilla.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2024-06-01T00:17:13+00:00","name":"Terraria Vanilla","author":"iamkubi@gmail.com","uuid":"e83700ed-d145-454a-add1-230e027c72ee","description":"Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.","features":null,"docker_images":{"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            \"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 jq\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    V=$(curl -sSL https://terraria.org/api/get/dedicated-servers-names | jq -r .[] | head -1)\r\n    DOWNLOAD_LINK=\"https://terraria.org/api/download/pc-dedicated-server/${V}\"\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 '<a [^>]+>' | 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\necho ${DOWNLOAD_LINK}\r\n\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\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 <<EOF > 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":"ghcr.io/parkervcp/installers:debian","entrypoint":"bash"}},"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.wiki.gg/wiki/Server#Downloads","env_variable":"TERRARIA_VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","sort":null,"field_type":"text"},{"name":"World Name","description":"The name for the world file.","env_variable":"WORLD_NAME","default_value":"world","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","sort":null,"field_type":"text"},{"name":"Max Players","description":"The maximum number of players a server will hold.","env_variable":"MAX_PLAYERS","default_value":"8","user_viewable":true,"user_editable":true,"rules":"required|numeric|max:255","sort":null,"field_type":"text"},{"name":"World Size","description":"Defines the worlds size. 3 sizes 1 (small), 2 (medium), 3 (large).","env_variable":"WORLD_SIZE","default_value":"1","user_viewable":true,"user_editable":true,"rules":"required|numeric|in:1,2,3","sort":null,"field_type":"text"},{"name":"Difficulty","description":"World Difficulty\r\n\r\nOptions: 0(normal), 1(expert), 2(master), 3(journey)","env_variable":"WORLD_DIFFICULTY","default_value":"3","user_viewable":true,"user_editable":true,"rules":"required|numeric|in:0,1,2,3","sort":null,"field_type":"text"},{"name":"MOTD","description":"Server MOTD","env_variable":"SERVER_MOTD","default_value":"Welcome!","user_viewable":true,"user_editable":true,"rules":"required|string|max:128","sort":null,"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","sort":null,"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","sort":null,"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","sort":null,"field_type":"text"}]},"readme":"# Terraria\n\nVanilla Terraria egg with support for Journey's End.  Currently up to 1.4.0.2 is supported, however future patches will require updates to the install script.\n\n## Minimum RAM warning\n\nYou may want to assign a minimum of 768 mb of RAM to a server as it will use around 650 mb to generate the world on the first start.\n\n## Required Server Ports\n\nTerraria only requires a single port to run. The default is 7777\n\n| Port    | default |\n|---------|---------|\n| Game    | 7777    |\n\n### Plugins may require ports to be added to the server\n"}