From aebbc795d5f315ef6c8526e3aaa149fb6df8a82d Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 12:50:20 -0700 Subject: [PATCH 01/12] add purper-geyser-floodgate --- .../purpur-geysermc-floodgate/README.md | 14 ++++ .../egg-purpur-geysermc-floodgate.json | 84 +++++++++++++++++++ .../bedrock/purpur-geysermc-floodgate/tmp.sh | 53 ++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md create mode 100644 game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json create mode 100644 game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md new file mode 100644 index 00000000..92735500 --- /dev/null +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md @@ -0,0 +1,14 @@ +# Purpur + +Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features. + +[Purpur GitHub](https://github.com/PurpurMC/Purpur) +[Purpur Website](https://purpurmc.org/) + +## Server Ports + +The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. + +| Port | default | +|-------|---------| +| Game | 25565 | diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json new file mode 100644 index 00000000..eaebab32 --- /dev/null +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -0,0 +1,84 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-12-18T19:20:26-05:00", + "name": "Purpur-Geyser", + "author": "purpur@birdflop.com", + "description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate", + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "images": [ + "ghcr.io\/pterodactyl\/yolks:java_17", + "ghcr.io\/pterodactyl\/yolks:java_16", + "ghcr.io\/pterodactyl\/yolks:java_11", + "ghcr.io\/pterodactyl\/yolks:java_8" + ], + "file_denylist": [], + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -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 \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \")! For help, type \"\r\n}", + "logs": "{}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "container": "ghcr.io\/pterodactyl\/installers:alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Minecraft Version", + "description": "The version of Minecraft to download. \r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.", + "env_variable": "MINECRAFT_VERSION", + "default_value": "latest", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20" + }, + { + "name": "Server Jar File", + "description": "The name of the .jar file to run the server with.", + "env_variable": "SERVER_JARFILE", + "default_value": "server.jar", + "user_viewable": true, + "user_editable": true, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/|max:80" + }, + { + "name": "Build Number", + "description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "env_variable": "BUILD_NUMBER", + "default_value": "latest", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20" + } + { + "name": "GeyserMC Build Number", + "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "env_variable": "GEYSER_BUILD_NUMBER", + "default_value": "latest-stable", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20" + } + { + "name": "Floodgate Build Number", + "description": "The build number for the Floodgate release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "env_variable": "FLOODGATE_BUILD_NUMBER", + "default_value": "latest-stable", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20|regex:latest-stable|regex:latest-succsessful" + } + ] +} diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh new file mode 100644 index 00000000..3d223b22 --- /dev/null +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh @@ -0,0 +1,53 @@ +#!\/bin\/ash +# Paper Installation Script +# +# Server Files: \/mnt\/server +PROJECT=purpur + +if [ -n \"${DL_PATH}\" ]; then +echo -e \"Using supplied download url: ${DL_PATH}\" +DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')` +else +VER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true` +LATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'` + +if [ \"${VER_EXISTS}\" == \"true\" ]; then +echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\" +else +echo -e \"Using the latest ${PROJECT} version\" +MINECRAFT_VERSION=${LATEST_VERSION} +fi + +BUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true` +LATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'` + +if [ \"${BUILD_EXISTS}\" == \"true\" ]; then +echo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\" +else +echo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\" +BUILD_NUMBER=${LATEST_BUILD} +fi + +JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar + +echo \"Version being downloaded\" +echo -e \"MC Version: ${MINECRAFT_VERSION}\" +echo -e \"Build: ${BUILD_NUMBER}\" +echo -e \"JAR Name of Build: ${JAR_NAME}\" +DOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download +fi + +cd \/mnt\/server + +echo -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\" + +if [ -f ${SERVER_JARFILE} ]; then +mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old +fi + +curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL} + +if [ ! -f server.properties ]; then + echo -e \"Downloading MC server.properties\" + curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties +fi", \ No newline at end of file From cec8d9cdd5ea0401c028b644fdc6bccffcd1d740 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:30:34 -0700 Subject: [PATCH 02/12] finished? --- .../egg-purpur-geysermc-floodgate.json | 18 +++++++++--------- .../purpur-geysermc-floodgate/floodgatepart.sh | 2 ++ .../purpur-geysermc-floodgate/geyserpart.sh | 2 ++ .../bedrock/purpur-geysermc-floodgate/tmp.sh | 3 ++- 4 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh create mode 100644 game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json index eaebab32..f86048da 100644 --- a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -29,7 +29,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "ghcr.io\/pterodactyl\/installers:alpine", "entrypoint": "ash" } @@ -55,25 +55,25 @@ }, { "name": "Build Number", - "description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", "env_variable": "BUILD_NUMBER", "default_value": "latest", "user_viewable": true, "user_editable": true, "rules": "required|string|max:20" - } + }, { - "name": "GeyserMC Build Number", - "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "name": "GeyserMC Build", + "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", "env_variable": "GEYSER_BUILD_NUMBER", "default_value": "latest-stable", "user_viewable": true, "user_editable": true, - "rules": "required|string|max:20" - } + "rules": "required|string|max:20|regex:latest-stable|regex:latest-succsessful" + }, { - "name": "Floodgate Build Number", - "description": "The build number for the Floodgate release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\nAccepted values: `latest-stable` `latest-successful`", + "name": "Floodgate Build", + "description": "The build number for the Floodgate release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", "env_variable": "FLOODGATE_BUILD_NUMBER", "default_value": "latest-stable", "user_viewable": true, diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh new file mode 100644 index 00000000..1a45ea2c --- /dev/null +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh @@ -0,0 +1,2 @@ +\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == "latest-successful" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n +\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n \ No newline at end of file diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh new file mode 100644 index 00000000..f45d3259 --- /dev/null +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh @@ -0,0 +1,2 @@ +\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == "latest-successful" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n +\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n \ No newline at end of file diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh index 3d223b22..dd010283 100644 --- a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh +++ b/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh @@ -2,6 +2,7 @@ # Paper Installation Script # # Server Files: \/mnt\/server +# shellcheck shell=bash PROJECT=purpur if [ -n \"${DL_PATH}\" ]; then @@ -50,4 +51,4 @@ curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL} if [ ! -f server.properties ]; then echo -e \"Downloading MC server.properties\" curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties -fi", \ No newline at end of file +fi \ No newline at end of file From 945bd252c7862774dd99eaf31c061c9d499c4863 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:46:04 -0700 Subject: [PATCH 03/12] move to crossplay folder --- .../{bedrock => crossplay}/purpur-geysermc-floodgate/README.md | 0 .../egg-purpur-geysermc-floodgate.json | 2 +- .../purpur-geysermc-floodgate/floodgatepart.sh | 0 .../purpur-geysermc-floodgate/geyserpart.sh | 0 .../{bedrock => crossplay}/purpur-geysermc-floodgate/tmp.sh | 0 5 files changed, 1 insertion(+), 1 deletion(-) rename game_eggs/minecraft/{bedrock => crossplay}/purpur-geysermc-floodgate/README.md (100%) rename game_eggs/minecraft/{bedrock => crossplay}/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json (97%) rename game_eggs/minecraft/{bedrock => crossplay}/purpur-geysermc-floodgate/floodgatepart.sh (100%) rename game_eggs/minecraft/{bedrock => crossplay}/purpur-geysermc-floodgate/geyserpart.sh (100%) rename game_eggs/minecraft/{bedrock => crossplay}/purpur-geysermc-floodgate/tmp.sh (100%) diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md similarity index 100% rename from game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/README.md rename to game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json similarity index 97% rename from game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json rename to game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json index f86048da..dfb68005 100644 --- a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -29,7 +29,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "ghcr.io\/pterodactyl\/installers:alpine", "entrypoint": "ash" } diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh similarity index 100% rename from game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/floodgatepart.sh rename to game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh similarity index 100% rename from game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/geyserpart.sh rename to game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh diff --git a/game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh similarity index 100% rename from game_eggs/minecraft/bedrock/purpur-geysermc-floodgate/tmp.sh rename to game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh From 5f0855ef3cf957e322cbce829f33df9ae58b2d10 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 15:01:45 -0700 Subject: [PATCH 04/12] fixed unexpected escape character --- .../egg-purpur-geysermc-floodgate.json | 8 ++++---- .../purpur-geysermc-floodgate/geyserpart.sh | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json index dfb68005..73e4ff3a 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -5,7 +5,7 @@ "update_url": null }, "exported_at": "2021-12-18T19:20:26-05:00", - "name": "Purpur-Geyser", + "name": "Purpur-Geyser-Floodgate", "author": "purpur@birdflop.com", "description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate", "features": [ @@ -29,7 +29,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelse\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelse\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading latest ${GEYSER_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\"\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \"Downloading latest ${FLOODGATE_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\"\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "ghcr.io\/pterodactyl\/installers:alpine", "entrypoint": "ash" } @@ -55,7 +55,7 @@ }, { "name": "Build Number", - "description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", + "description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest-stable.\r\n\r\nAccepted values: 'latest-stable' 'latest-successful'", "env_variable": "BUILD_NUMBER", "default_value": "latest", "user_viewable": true, @@ -64,7 +64,7 @@ }, { "name": "GeyserMC Build", - "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", + "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest-stable.\r\n\r\nAccepted values: 'latest-stable' 'latest-successful'", "env_variable": "GEYSER_BUILD_NUMBER", "default_value": "latest-stable", "user_viewable": true, diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh index f45d3259..5f8cc805 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh @@ -1,2 +1,12 @@ -\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == "latest-successful" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n -\r\necho -e \'Downloading latest \"${GEYSER_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n \ No newline at end of file + +if [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then + DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar +elif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then + DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar +else\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar +fi +GEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful` + + +echo -e \'Downloading latest ${GEYSER_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\' +curl -o \"${DOWNLOAD_URL}\" From 53d509d4e59747f8ae06b61cc10d66661d649e19 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 15:02:29 -0700 Subject: [PATCH 05/12] Remove temp files --- .../floodgatepart.sh | 2 - .../purpur-geysermc-floodgate/geyserpart.sh | 12 ----- .../purpur-geysermc-floodgate/tmp.sh | 54 ------------------- 3 files changed, 68 deletions(-) delete mode 100644 game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh delete mode 100644 game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh delete mode 100644 game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh deleted file mode 100644 index 1a45ea2c..00000000 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/floodgatepart.sh +++ /dev/null @@ -1,2 +0,0 @@ -\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == "latest-successful" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n -\r\n# Put by other curl cmd's\r\necho -e \'Downloading latest \"${FLOODGATE_STABLE_OR_SUCCESSFUL}\" build with curl -o \"${DOWNLOAD_URL}\"\'\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n \ No newline at end of file diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh deleted file mode 100644 index 5f8cc805..00000000 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/geyserpart.sh +++ /dev/null @@ -1,12 +0,0 @@ - -if [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then - DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar -elif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then - DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar -else\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar -fi -GEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful` - - -echo -e \'Downloading latest ${GEYSER_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\' -curl -o \"${DOWNLOAD_URL}\" diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh deleted file mode 100644 index dd010283..00000000 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/tmp.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!\/bin\/ash -# Paper Installation Script -# -# Server Files: \/mnt\/server -# shellcheck shell=bash -PROJECT=purpur - -if [ -n \"${DL_PATH}\" ]; then -echo -e \"Using supplied download url: ${DL_PATH}\" -DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')` -else -VER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true` -LATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'` - -if [ \"${VER_EXISTS}\" == \"true\" ]; then -echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\" -else -echo -e \"Using the latest ${PROJECT} version\" -MINECRAFT_VERSION=${LATEST_VERSION} -fi - -BUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true` -LATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'` - -if [ \"${BUILD_EXISTS}\" == \"true\" ]; then -echo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\" -else -echo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\" -BUILD_NUMBER=${LATEST_BUILD} -fi - -JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar - -echo \"Version being downloaded\" -echo -e \"MC Version: ${MINECRAFT_VERSION}\" -echo -e \"Build: ${BUILD_NUMBER}\" -echo -e \"JAR Name of Build: ${JAR_NAME}\" -DOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download -fi - -cd \/mnt\/server - -echo -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\" - -if [ -f ${SERVER_JARFILE} ]; then -mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old -fi - -curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL} - -if [ ! -f server.properties ]; then - echo -e \"Downloading MC server.properties\" - curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties -fi \ No newline at end of file From 2f27fa72eaecbb8ef09d81c1d913ecd0b61a0d58 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 16:34:16 -0700 Subject: [PATCH 06/12] completely wasted my time and redid everything --- .../.gitignore-test.sh | 62 +++++++++++++++++++ .../egg-purpur-geysermc-floodgate.json | 22 +------ 2 files changed, 64 insertions(+), 20 deletions(-) create mode 100644 game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh new file mode 100644 index 00000000..73ea8859 --- /dev/null +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh @@ -0,0 +1,62 @@ +#!\/bin\/ash +# Paper Installation Script +# +# Server Files: \/mnt\/server +PROJECT=purpur + +# Download paths for Geyser and Floodgate. Do not change!! +GEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar +FLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar +if [ -n \"${DL_PATH}\" ]; then + echo -e \"Using supplied download url: ${DL_PATH}\" + DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')` +else + VER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true` + LATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'` + + if [ \"${VER_EXISTS}\" == \"true\" ]; then + echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\" + else + echo -e \"Using the latest ${PROJECT} version\" + MINECRAFT_VERSION=${LATEST_VERSION} + fi + + BUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true` + LATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'` + + if [ \"${BUILD_EXISTS}\" == \"true\" ]; then + echo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\" + else + echo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\" + BUILD_NUMBER=${LATEST_BUILD} + fi + + JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar + + echo \"Version being downloaded\" + echo -e \"MC Version: ${MINECRAFT_VERSION}\" + echo -e \"Build: ${BUILD_NUMBER}\" + echo -e \"JAR Name of Build: ${JAR_NAME}\" + DOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download +fi + +cd \/mnt\/server + +echo -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\" + +if [ -f ${SERVER_JARFILE} ]; then + mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old +fi +mkdir -p \/mnt\/server\/plugins +curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL} + +echo -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\" +curl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL} + +echo -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\" +curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL} + +if [ ! -f server.properties ]; then + echo -e \"Downloading MC server.properties\" + curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties +fi \ No newline at end of file diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json index 73e4ff3a..77d368d7 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -20,7 +20,7 @@ "ghcr.io\/pterodactyl\/yolks:java_8" ], "file_denylist": [], - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -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 \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \")! For help, type \"\r\n}", @@ -29,7 +29,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\nif [ \"$GEYSER_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelif [ \"$GEYSER_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nelse\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nfi\r\nGEYSER_STABLE_OR_SUCCESSFUL=`echo \"${GEYSER_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\nif [ \"$FLOODGATE_BUILD\" == \"latest-stable\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelif [ \"$FLOODGATE_BUILD\" == \"latest-successful\" ]; then\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nelse\r\n\tDOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastStableBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nfi\r\nFLOODGATE_STABLE_OR_SUCCESSFUL=`echo \"${FLOODGATE_BUILD}\" | grep -o -e stable -e succsessful`\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading latest ${GEYSER_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\"\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\n# Put by other curl cmd's\r\necho -e \"Downloading latest ${FLOODGATE_STABLE_OR_SUCCESSFUL} build with curl -o ${DOWNLOAD_URL}\"\r\ncurl -o \"${DOWNLOAD_URL}\"\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar\r\nFLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\nmkdir -p \/mnt\/server\/plugins\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"\r\ncurl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\"\r\ncurl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "ghcr.io\/pterodactyl\/installers:alpine", "entrypoint": "ash" } @@ -61,24 +61,6 @@ "user_viewable": true, "user_editable": true, "rules": "required|string|max:20" - }, - { - "name": "GeyserMC Build", - "description": "The build number for the GeyserMC release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest-stable.\r\n\r\nAccepted values: 'latest-stable' 'latest-successful'", - "env_variable": "GEYSER_BUILD_NUMBER", - "default_value": "latest-stable", - "user_viewable": true, - "user_editable": true, - "rules": "required|string|max:20|regex:latest-stable|regex:latest-succsessful" - }, - { - "name": "Floodgate Build", - "description": "The build number for the Floodgate release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.\r\n\r\nAccepted values: `latest-stable` `latest-successful`", - "env_variable": "FLOODGATE_BUILD_NUMBER", - "default_value": "latest-stable", - "user_viewable": true, - "user_editable": true, - "rules": "required|string|max:20|regex:latest-stable|regex:latest-succsessful" } ] } From 004b99ead5bb84e21fabbf99cdaa0737ab6fdf2d Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 16:38:07 -0700 Subject: [PATCH 07/12] added pesky .jar --- .../.gitignore-test.sh | 62 ------------------- .../egg-purpur-geysermc-floodgate.json | 2 +- 2 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh deleted file mode 100644 index 73ea8859..00000000 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/.gitignore-test.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!\/bin\/ash -# Paper Installation Script -# -# Server Files: \/mnt\/server -PROJECT=purpur - -# Download paths for Geyser and Floodgate. Do not change!! -GEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar -FLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar -if [ -n \"${DL_PATH}\" ]; then - echo -e \"Using supplied download url: ${DL_PATH}\" - DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')` -else - VER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true` - LATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'` - - if [ \"${VER_EXISTS}\" == \"true\" ]; then - echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\" - else - echo -e \"Using the latest ${PROJECT} version\" - MINECRAFT_VERSION=${LATEST_VERSION} - fi - - BUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true` - LATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'` - - if [ \"${BUILD_EXISTS}\" == \"true\" ]; then - echo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\" - else - echo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\" - BUILD_NUMBER=${LATEST_BUILD} - fi - - JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar - - echo \"Version being downloaded\" - echo -e \"MC Version: ${MINECRAFT_VERSION}\" - echo -e \"Build: ${BUILD_NUMBER}\" - echo -e \"JAR Name of Build: ${JAR_NAME}\" - DOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download -fi - -cd \/mnt\/server - -echo -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\" - -if [ -f ${SERVER_JARFILE} ]; then - mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old -fi -mkdir -p \/mnt\/server\/plugins -curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL} - -echo -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\" -curl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL} - -echo -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\" -curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL} - -if [ ! -f server.properties ]; then - echo -e \"Downloading MC server.properties\" - curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties -fi \ No newline at end of file diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json index 77d368d7..41f93ad1 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/egg-purpur-geysermc-floodgate.json @@ -29,7 +29,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar\r\nFLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\nmkdir -p \/mnt\/server\/plugins\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"\r\ncurl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\"\r\ncurl -o plugins\/floodgate-spigot ${FLOODGATE_DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/target\/Geyser-Spigot.jar\r\nFLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job/GeyserMC\/job/Floodgate\/job/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\nmkdir -p \/mnt\/server\/plugins\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"\r\ncurl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\"\r\ncurl -o plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "ghcr.io\/pterodactyl\/installers:alpine", "entrypoint": "ash" } From 344f204df6b1e327d1eaa3992a4fedf72a453c27 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 16:51:53 -0700 Subject: [PATCH 08/12] change readme.md --- .../crossplay/purpur-geysermc-floodgate/README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md index 92735500..c02d122f 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md @@ -1,14 +1,19 @@ # Purpur -Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features. +Purpur-GeyserMC-Floodgate is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate [Purpur GitHub](https://github.com/PurpurMC/Purpur) [Purpur Website](https://purpurmc.org/) +[GeyserMC/Floodgate Website](https://geysermc.org/) +[GeyserMC GitHub](https://github.com/GeyserMC/Geyser) +[Floodgate GitHub](https://github.com/GeyserMC/Floodgate/) + ## Server Ports -The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. +The minecraft server requires a single port for access (default 25565). GeyserMC requires an additional port (default 19132). Any other plugins you add may require extra ports to enabled for the server. -| Port | default | -|-------|---------| -| Game | 25565 | +| Port | default | +|----------|---------| +| Java | 25565 | +| Bedrock | 19132 | From 808656b74c71bc8b55f689f5d3f6b6e4d6646c6f Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 16:52:18 -0700 Subject: [PATCH 09/12] change title --- .../minecraft/crossplay/purpur-geysermc-floodgate/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md index c02d122f..d3a5e98c 100644 --- a/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md +++ b/game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/README.md @@ -1,4 +1,4 @@ -# Purpur +# Purpur-Geyser-Floodgate Purpur-GeyserMC-Floodgate is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate From 00dae296e6c8159523be86a0ffd2609496b81f63 Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 16:58:28 -0700 Subject: [PATCH 10/12] edit readme.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c99d9e9f..3d073b45 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,9 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Technic](game_eggs/minecraft/java/technic) * [VanillaCord](game_eggs/minecraft/java/vanillacord) +* [Crossplay](game_eggs/minecraft/crossplay/) servers for crossplay between Bedrock and Java edition + *[Purpur-GeyserMC-Floodgate](game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/) + * [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies * [Java](game_eggs/minecraft/proxy/java) * [FlameCord](game_eggs/minecraft/proxy/java/flamecord) From bd5ba757674b5ed511ebf7de1227d3d8b2351f9c Mon Sep 17 00:00:00 2001 From: TheRealGramdalf <79593869+TheRealGramdalf@users.noreply.github.com> Date: Tue, 30 Aug 2022 17:09:51 -0700 Subject: [PATCH 11/12] edit readme again --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d073b45..b372f360 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [VanillaCord](game_eggs/minecraft/java/vanillacord) * [Crossplay](game_eggs/minecraft/crossplay/) servers for crossplay between Bedrock and Java edition - *[Purpur-GeyserMC-Floodgate](game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/) + * [Purpur-GeyserMC-Floodgate](game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/) * [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies * [Java](game_eggs/minecraft/proxy/java) From 631ff1d1e12b7bd28dfb9794cd1a8e6662a584cf Mon Sep 17 00:00:00 2001 From: Braastos Date: Wed, 5 Oct 2022 12:24:52 +0200 Subject: [PATCH 12/12] Added additional Variables Added Password variable, so a password could be easily used Added World Seed, so that creating a world with a specific world seed would be possible added NPCStream , to manage bandwidth usage --- .../vanilla/egg-terraria-vanilla.json | 64 +++++++++++++++---- 1 file changed, 50 insertions(+), 14 deletions(-) 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" } ] }