From 6406b1894d8ca011c12d31bb6240901ccce4210f Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 25 Dec 2019 19:09:30 -0500 Subject: [PATCH 1/5] update minecraft install script fixes a bug with the minecraft install script. --- stock-eggs/minecraft/egg-vanilla-minecraft.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stock-eggs/minecraft/egg-vanilla-minecraft.json b/stock-eggs/minecraft/egg-vanilla-minecraft.json index 5937fc17..baaa63db 100644 --- a/stock-eggs/minecraft/egg-vanilla-minecraft.json +++ b/stock-eggs/minecraft/egg-vanilla-minecraft.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-06-19T17:09:18-04:00", + "exported_at": "2019-12-25T19:08:05-05:00", "name": "Vanilla Minecraft", "author": "support@pterodactyl.io", "description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited resources or mine deep in Survival Mode, crafting weapons and armor to fend off dangerous mobs. Do all this alone or with friends.", "image": "quay.io\/pterodactyl\/core:java", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "config": { - "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "stop" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl jq\r\n\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$LATEST_VERSION'\") | .url')\r\nelse\r\n MANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$VANILLA_VERSION'\") | .url')\r\nfi\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL", - "container": "alpine:3.9", + "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url'))\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nfi\r\n\r\nDOWNLOAD_URL=$(curl ${MANIFEST_URL} | jq .downloads.server | jq -r '. | .url')\r\n\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -42,4 +42,4 @@ "rules": "required|string|between:3,15" } ] -} +} \ No newline at end of file From e360567f3a2322411ae5e984784f05bc7f58fcae Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 25 Dec 2019 19:57:48 -0500 Subject: [PATCH 2/5] update script corrently --- stock-eggs/minecraft/egg-vanilla-minecraft.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stock-eggs/minecraft/egg-vanilla-minecraft.json b/stock-eggs/minecraft/egg-vanilla-minecraft.json index baaa63db..f613c815 100644 --- a/stock-eggs/minecraft/egg-vanilla-minecraft.json +++ b/stock-eggs/minecraft/egg-vanilla-minecraft.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-25T19:08:05-05:00", + "exported_at": "2019-12-25T19:55:01-05:00", "name": "Vanilla Minecraft", "author": "support@pterodactyl.io", "description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited resources or mine deep in Survival Mode, crafting weapons and armor to fend off dangerous mobs. Do all this alone or with friends.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url'))\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nfi\r\n\r\nDOWNLOAD_URL=$(curl ${MANIFEST_URL} | jq .downloads.server | jq -r '. | .url')\r\n\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL", + "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add curl --no-cache --update jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\necho -e \"latest version is $LATEST_VERSION\"\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nfi\r\n\r\nDOWNLOAD_URL=$(curl ${MANIFEST_URL} | jq .downloads.server | jq -r '. | .url')\r\n\r\necho -e \"running: curl -o ${SERVER_JARFILE} $DOWNLOAD_URL\"\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL\r\n\r\necho -e \"Install Complete\"", "container": "alpine:3.10", "entrypoint": "ash" } From 2b069811178e8008a5946c476853a216c2ae0849 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Thu, 26 Dec 2019 15:51:38 -0500 Subject: [PATCH 3/5] update arma 3 config links Updates the arma3 config links. Also updates the install scripts. --- steamcmd_servers/arma/arma3/egg-arma3.json | 28 +++++++++---------- .../egg-arma3-headless-client.json | 8 +++--- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/steamcmd_servers/arma/arma3/egg-arma3.json b/steamcmd_servers/arma/arma3/egg-arma3.json index 6cafce19..66496d91 100644 --- a/steamcmd_servers/arma/arma3/egg-arma3.json +++ b/steamcmd_servers/arma/arma3/egg-arma3.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-13T18:40:40-04:00", + "exported_at": "2019-12-26T15:50:38-05:00", "name": "Arma 3", "author": "daave@aaathats3as.com", "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg", - "container": "ubuntu:18.04", + "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; 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\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 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_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## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -26,21 +26,12 @@ { "name": "Game App ID", "description": "Steam CMD App ID.", - "env_variable": "APP_ID", + "env_variable": "SRCDS_APPID", "default_value": "233780", "user_viewable": 1, "user_editable": 0, "rules": "required|alpha_dash|between:1,100" }, - { - "name": "Basic", - "description": "Basic network config", - "env_variable": "BASIC", - "default_value": "basic.cfg", - "user_viewable": 1, - "user_editable": 1, - "rules": "string|nullable" - }, { "name": "Config", "description": "Server config", @@ -95,6 +86,15 @@ "user_editable": 0, "rules": "nullable|string" }, + { + "name": "Basic", + "description": "Basic network config", + "env_variable": "BASIC", + "default_value": "basic.cfg", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|nullable" + }, { "name": "Steam Auth Code", "description": "Steam Auth Code only when you're using Steam Auth", @@ -105,4 +105,4 @@ "rules": "nullable|string" } ] -} +} \ No newline at end of file diff --git a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json index b0cb6e02..775b722a 100644 --- a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json +++ b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-25T14:09:36+01:00", + "exported_at": "2019-12-26T15:50:34-05:00", "name": "Arma 3 Headless Client", "author": "brainp4in@blueberry-hood-clan.de", "description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg", + "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; 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\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 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_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## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -26,7 +26,7 @@ { "name": "Game App ID", "description": "Steam CMD App ID.", - "env_variable": "APP_ID", + "env_variable": "SRCDS_APPID", "default_value": "233780", "user_viewable": 1, "user_editable": 0, @@ -96,4 +96,4 @@ "rules": "nullable|string" } ] -} +} \ No newline at end of file From 5805ab86c04b56039366b1856e437437427ee3fe Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 29 Dec 2019 17:54:25 -0500 Subject: [PATCH 4/5] update scripts folder Change steamcmd recommended to debian-buster-slim Update release grabber with curly braces on variables (readability). Add script for validating that download links actually exist with no errors. update gitignore. --- .gitignore | 2 +- scripts/download_link_validator.sh | 11 +++++++++++ scripts/github_release_grabber.sh | 21 ++++++++++----------- scripts/steamcmd_installer.sh | 2 +- 4 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 scripts/download_link_validator.sh diff --git a/.gitignore b/.gitignore index 378f0ca5..615b2764 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ *.DS_Store node_modules/ -.vuepress/ \ No newline at end of file +.vuepress/* \ No newline at end of file diff --git a/scripts/download_link_validator.sh b/scripts/download_link_validator.sh new file mode 100644 index 00000000..10a6d69a --- /dev/null +++ b/scripts/download_link_validator.sh @@ -0,0 +1,11 @@ +## this is a simple script to validate a download url actaully exists + +if [ ! -z "${DOWNLOAD_URL}"]; then + if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then + echo -e "link is valid. setting download link to ${DOWNLOAD_URL}" + DOWNLOAD_LINK=${DOWNLOAD_URL} + else + echo -e "link is invalid closing out" + exit 2 + fi +fi \ No newline at end of file diff --git a/scripts/github_release_grabber.sh b/scripts/github_release_grabber.sh index d05120c8..14d4e70e 100644 --- a/scripts/github_release_grabber.sh +++ b/scripts/github_release_grabber.sh @@ -3,26 +3,25 @@ ## this supports using oauth/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.) ## if you are getting hit with GitHub API limit issues then you need to have the user and token set. - -if [ -z "$GITHUB_USER" ] && [ -z "$GITHUB_OAUTH_TOKEN" ] ; then +if [ -z "${GITHUB_USER}" ] && [ -z "${GITHUB_OAUTH_TOKEN}" ] ; then echo -e "using anon api call" else echo -e "user and oauth token set" - alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN ' + alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} ' fi ## get release info and download links -LATEST_JSON=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases/latest") -RELEASES=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases") +LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest") +RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases") -if [ -z "$VERSION" ] || [ "$VERSION" == "latest" ]; then - DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH}) +if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then + DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH}) else - VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .tag_name') - if [ "$VERSION" == "$VERSION_CHECK" ]; then - DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH}) + VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name') + if [ "${VERSION}" == "${VERSION_CHECK}" ]; then + DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH}) else echo -e "defaulting to latest release" - DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url) + DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url) fi fi \ No newline at end of file diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index eba1d2c2..c36fa040 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -2,7 +2,7 @@ # steamcmd Base Installation Script # # Server Files: /mnt/server -# Image to install with is 'ubuntu:18.04' +# Image to install with is 'debian:buster-slim' apt -y update apt -y --no-install-recommends install curl lib32gcc1 ca-certificates From 01e4f9d8a892d161624521069e0067002805f66c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 31 Dec 2019 18:51:23 -0500 Subject: [PATCH 5/5] update teamspeak egg --- .../voice-servers/egg-teamspeak3-server.json | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/stock-eggs/voice-servers/egg-teamspeak3-server.json b/stock-eggs/voice-servers/egg-teamspeak3-server.json index 2058ec22..d96ee5c4 100644 --- a/stock-eggs/voice-servers/egg-teamspeak3-server.json +++ b/stock-eggs/voice-servers/egg-teamspeak3-server.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-01T16:35:15+00:00", + "exported_at": "2019-12-31T18:49:40-05:00", "name": "Teamspeak3 Server", "author": "support@pterodactyl.io", "description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalabilty up to thousands of simultaneous users.", - "image": "quay.io\/pterodactyl\/core:glibc", - "startup": ".\/ts3server_minimal_runscript.sh default_voice_port={{SERVER_PORT}} query_port={{SERVER_PORT}} license_accepted=1", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/ts3server default_voice_port={{SERVER_PORT}} query_port={{SERVER_PORT}} filetransfer_ip=0.0.0.0 filetransfer_port={{FILE_TRANSFER}} license_accepted=1", "config": { "files": "{}", - "startup": "{\"done\": \"listening on 0.0.0.0:\", \"userInteraction\": []}", - "logs": "{\"custom\": true, \"location\": \"logs\/ts3.log\"}", + "startup": "{\r\n \"done\": \"listening on 0.0.0.0:\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/ts3.log\"\r\n}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\n# TS3 Installation Script\n#\n# Server Files: \/mnt\/server\napk update\napk add tar curl\n\ncd \/mnt\/server\n\ncurl http:\/\/dl.4players.de\/ts\/releases\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar xj --strip-components=1", - "container": "alpine:3.9", + "script": "#!\/bin\/ash\r\n# TS3 Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache tar curl jq\r\n\r\nif [ -z ${TS_VERSION} ] || [ ${TS_VERSION} == latest ]; then\r\n TS_VERSION=$(wget https:\/\/teamspeak.com\/versions\/server.json -qO - | jq -r '.linux.x86_64.version')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n\r\necho -e \"getting files from http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2\"\r\ncurl http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar xj --strip-components=1", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -27,10 +27,19 @@ "name": "Server Version", "description": "The version of Teamspeak 3 to use when running the server.", "env_variable": "TS_VERSION", - "default_value": "3.7.1", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, - "rules": "required|regex:\/^([0-9_\\.-]{5,10})$\/" + "rules": "required|string|max:6" + }, + { + "name": "File Transfer Port", + "description": "The Teamspeak file transfer port", + "env_variable": "FILE_TRANSFER", + "default_value": "30033", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,65535" } ] } \ No newline at end of file