{"meta":{"slug":"games-standalone-tshock-legacy","name":"Tshock Legacy","category":"terraria","source":"pelican","owner":"pelican-eggs","repo":"games-standalone","branch":"main","path":"terraria/tshock/egg-tshock-legacy.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/games-standalone/main/terraria/tshock/egg-tshock-legacy.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:19+00:00","name":"tshock legacy","author":"parker@parkervcp.com","uuid":"f428a6c6-2315-427e-a3e6-990708e81e7a","description":"The t-shock modded terraria server.\r\n\r\nhttps://tshock.co/","features":null,"docker_images":{"mono":"ghcr.io/parkervcp/yolks:mono_latest"},"file_denylist":[],"startup":"mono TerrariaServer.exe -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -world {{WORLD_NAME}}.wld -autocreate {{WORLD_SIZE}}","config":{"files":"{}","startup":"{\r\n    \"done\": \"Type 'help' for a list of commands\"\r\n}","logs":"{}","stop":"exit"},"scripts":{"installation":{"script":"#!/bin/bash\r\n# Vanilla tModloader 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 jq file unzip\r\n\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/Pryaxis/TShock/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/Pryaxis/TShock/releases\")\r\n\r\nif [ -z \"$TSHOCK_VERSION\" ] || [ \"$TSHOCK_VERSION\" == \"latest\" ]; then\r\n    DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url)\r\nelse\r\n    VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n    if [ \"$TSHOCK_VERSION\" == \"$VERSION_CHECK\" ]; then\r\n        DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url')\r\n    else\r\n        echo -e \"defaulting to latest release\"\r\n        DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url)\r\n    fi\r\nfi\r\n\r\n## mkdir and cd to /mnt/server/\r\nmkdir -p /mnt/server\r\n\r\ncd /mnt/server\r\n\r\n## download release\r\necho -e \"running: wget $DOWNLOAD_LINK\"\r\nwget $DOWNLOAD_LINK\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n    tar xzvf ${DOWNLOAD_LINK##*/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n    unzip -o ${DOWNLOAD_LINK##*/}\r\nelse\r\n    echo -e \"unknown filetype. Exeting\"\r\n    exit 2 \r\nfi\r\n\r\necho -e \"install complete\"","container":"ghcr.io/parkervcp/installers:debian","entrypoint":"/bin/bash"}},"variables":[{"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":false,"rules":"required|numeric|digits_between:1,3","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":false,"rules":"required|numeric|digits_between:1,3","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":"Tshock Version","description":"The version on tshock that will be installed. \r\n\r\nLatest available is: v4.5.18!","env_variable":"TSHOCK_VERSION","default_value":"v4.5.18","user_viewable":true,"user_editable":false,"rules":"required|string|max:20","sort":null,"field_type":"text"}]},"readme":"# TShock\n\nTShock provides Terraria servers with server-side characters, anti-cheat, and community management tools. <https://tshock.co/>\n\n## From their GitHub\n\nTShock is a toolbox for Terraria servers and communities. That toolbox is jam packed with anti-cheat tools, server-side characters, groups, permissions, item bans, tons of commands, and limitless potential. It's one of a kind.\n\n## Server Ports\n\nTShock, like Terraria, 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\n## Extra Information\n\nIf you want to download mods in the console, the startup command has to be changed.\n\nNew startup:\n`mono TerrariaServer.exe -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}}`\n\nThis will remove the autocreate function, and will thus allow you to download mods and generate world.\nAfterwards, you can change it back with the correct world name to start automatic. Word name is set in the configuration panel.\n\nAny version older then TShock v5 needs to use the legacy egg, and version newer or v5 must use the normal TShock one.\n\n## Migration from v4 to v5\n\nIf you're upgrading from TShock 4, you swith to the new egg copying the tshock configuration folder over (containing the sqlitedb file as well as the json configuration files, etc) to the new server, and starting the new server that way."}