{"meta":{"slug":"pterodactyl-purpur-geyser-floodgate","name":"Pterodactyl Purpur  Geyser  Floodgate","category":"crossplay","source":"pelican","owner":"pelican-eggs","repo":"minecraft","branch":"main","path":"crossplay/purpur-geysermc-floodgate/egg-pterodactyl-purpur--geyser--floodgate.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/minecraft/main/crossplay/purpur-geysermc-floodgate/egg-pterodactyl-purpur--geyser--floodgate.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":"https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/crossplay/purpur-geysermc-floodgate/egg-pterodactyl-purpur--geyser--floodgate.json"},"exported_at":"2024-09-17T22:59:20+02:00","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":["eula","java_version","pid_limit"],"docker_images":{"Java 8":"ghcr.io/pelican-eggs/yolks:java_8","Java 11":"ghcr.io/pelican-eggs/yolks:java_11","Java 16":"ghcr.io/pelican-eggs/yolks:java_16","Java 17":"ghcr.io/pelican-eggs/yolks:java_17","Java 21":"ghcr.io/pelican-eggs/yolks:java_21","Java 25":"ghcr.io/pelican-eggs/yolks:java_25"},"file_denylist":[],"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}","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\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=\"https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot\"\r\nFLOODGATE_DOWNLOAD_URL=\"https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot\"\r\n\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 \"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 -sSL -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 -sSL -L -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 -sSL -L ${FLOODGATE_DOWNLOAD_URL} -o plugins/floodgate-spigot.jar\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\r\necho -e \"Installation Finished\"","container":"ghcr.io/pelican-eggs/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","field_type":"text"},{"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","field_type":"text"},{"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-stable.\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","field_type":"text"}]},"readme":"# Purpur-Geyser-Floodgate\n\nPurpur-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\n\n[Purpur GitHub](https://github.com/PurpurMC/Purpur)\n[Purpur Website](https://purpurmc.org/)\n[GeyserMC/Floodgate Website](https://geysermc.org/)\n[GeyserMC GitHub](https://github.com/GeyserMC/Geyser)\n[Floodgate GitHub](https://github.com/GeyserMC/Floodgate/)\n\n\n## Server Ports\n\nThe 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.\n\n| Port     | default | Protocol |\n|----------|---------|----------|\n| Java     | 25565   |  TCP     |\n| Bedrock  | 19132   |  UDP     |\n"}