2020-05-17 14:28:39 +08:00
{
"_comment" : "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO" ,
"meta" : {
2022-10-05 18:24:52 +08:00
"version" : "PTDL_v2" ,
2021-12-03 00:56:00 +08:00
"update_url" : null
2020-05-17 14:28:39 +08:00
} ,
2022-10-25 23:14:01 +08:00
"exported_at" : "2022-10-23T19:12:56+02:00" ,
2020-05-17 14:28:39 +08:00
"name" : "Terraria Vanilla" ,
"author" : "iamkubi@gmail.com" ,
"description" : "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game." ,
2020-12-06 18:18:59 +08:00
"features" : null ,
2022-10-05 18:24:52 +08:00
"docker_images" : {
2022-10-25 23:14:01 +08:00
"Debian" : "ghcr.io\/parkervcp\/yolks:debian"
2022-10-05 18:24:52 +08:00
} ,
2021-12-03 00:56:00 +08:00
"file_denylist" : [ ] ,
2020-05-17 14:28:39 +08:00
"startup" : ".\/TerrariaServer.bin.x86_64 -config serverconfig.txt" ,
"config" : {
2022-10-05 18:24:52 +08:00
"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}" ,
2022-01-22 18:48:15 +08:00
"startup" : "{\r\n \"done\": \"Type 'help' for a list of commands\"\r\n}" ,
2020-05-17 14:28:39 +08:00
"logs" : "{}" ,
"stop" : "exit"
} ,
"scripts" : {
"installation" : {
2022-10-25 23:14:01 +08:00
"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 -s 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\"" ,
2020-05-17 14:28:39 +08:00
"container" : "debian:buster-slim" ,
"entrypoint" : "bash"
}
} ,
"variables" : [
{
"name" : "Terraria version" ,
2022-10-05 18:24:52 +08:00
"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" ,
2020-05-17 14:28:39 +08:00
"env_variable" : "TERRARIA_VERSION" ,
2020-06-10 09:33:43 +08:00
"default_value" : "latest" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"rules" : "required|string|max:20" ,
"field_type" : "text"
2020-05-17 14:28:39 +08:00
} ,
{
"name" : "World Name" ,
"description" : "The name for the world file." ,
"env_variable" : "WORLD_NAME" ,
"default_value" : "world" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"rules" : "required|string|max:20" ,
"field_type" : "text"
2020-05-17 14:28:39 +08:00
} ,
{
"name" : "Max Players" ,
"description" : "The maximum number of players a server will hold." ,
"env_variable" : "MAX_PLAYERS" ,
"default_value" : "8" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
2021-12-03 00:56:00 +08:00
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"rules" : "required|numeric|max:255" ,
"field_type" : "text"
2020-05-17 14:28:39 +08:00
} ,
{
"name" : "World Size" ,
"description" : "Defines the worlds size. 3 sizes 1 (small), 2 (medium), 3 (large)." ,
"env_variable" : "WORLD_SIZE" ,
"default_value" : "1" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"rules" : "required|numeric|in:1,2,3" ,
"field_type" : "text"
2020-05-17 14:28:39 +08:00
} ,
{
"name" : "Difficulty" ,
"description" : "World Difficulty\r\n\r\nOptions: 0(normal), 1(expert), 2(master), 3(journey)" ,
"env_variable" : "WORLD_DIFFICULTY" ,
"default_value" : "3" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"rules" : "required|numeric|in:0,1,2,3" ,
"field_type" : "text"
2020-05-17 14:28:39 +08:00
} ,
{
"name" : "MOTD" ,
"description" : "Server MOTD" ,
"env_variable" : "SERVER_MOTD" ,
"default_value" : "Welcome!" ,
2020-12-06 18:18:59 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2022-10-05 18:24:52 +08:00
"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"
2020-05-17 14:28:39 +08:00
}
]
2021-12-03 00:56:00 +08:00
}