{"meta":{"slug":"pterodactyl-velocity","name":"Pterodactyl Velocity","category":"proxy","source":"pelican","owner":"pelican-eggs","repo":"minecraft","branch":"main","path":"proxy/java/velocity/egg-pterodactyl-velocity.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/minecraft/main/proxy/java/velocity/egg-pterodactyl-velocity.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL","meta":{"update_url":"https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/proxy/java/velocity/egg-pterodactyl-velocity.json","version":"PTDL_v2"},"exported_at":"2024-06-01T19:40:07+00:00","name":"Velocity","author":"parker@parkervcp.com","description":"Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.","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 -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar {{SERVER_JARFILE}}","config":{"files":"{\r\n    \"velocity.toml\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"bind = \": \"bind = \\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n        }\r\n    }\r\n}","logs":"{}","startup":"{\r\n    \"done\": \"Done (\"\r\n}","stop":"end"},"scripts":{"installation":{"container":"ghcr.io/pelican-eggs/installers:alpine","entrypoint":"ash","script":"#!/bin/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: /mnt/server\r\nPROJECT=velocity\r\n\r\nif [[ -z ${VELOCITY_VERSION} ]] || [[ ${VELOCITY_VERSION} == \"latest\" ]]; then\r\n    VELOCITY_VERSION=\"latest\"\r\nfi\r\n\r\nif [[ -n \"${DOWNLOAD_LINK}\" ]]; then\r\n    echo -e \"Using supplied download url: ${DOWNLOAD_LINK}\"\r\n    DOWNLOAD_URL=$(eval echo $(echo ${DL_PATH} | sed -e 's/{{/${/g' -e 's/}}/}/g'))\r\nelse\r\n    VER_EXISTS=$(curl -s https://api.papermc.io/v2/projects/${PROJECT} | jq -r --arg VERSION $VELOCITY_VERSION '.versions[] | contains($VERSION)' | grep true)\r\n    LATEST_VERSION=$(curl -s https://api.papermc.io/v2/projects/${PROJECT} | jq -r '.versions' | jq -r '.[-1]')\r\n\r\nif [[ \"${VER_EXISTS}\" == \"true\" ]]; then\r\n    echo -e \"Version is valid. Using version ${VELOCITY_VERSION}\"\r\nelse\r\n    echo -e \"Using the latest ${PROJECT} version\"\r\n    VELOCITY_VERSION=${LATEST_VERSION}\r\nfi\r\n\r\nBUILD_EXISTS=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${VELOCITY_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds[] | tostring | contains($BUILD)' | grep true)\r\nLATEST_BUILD=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${VELOCITY_VERSION} | jq -r '.builds' | jq -r '.[-1]')\r\n\r\nif [[ \"${BUILD_EXISTS}\" == \"true\" ]]; then\r\n    echo -e \"Build is valid for version ${VELOCITY_VERSION}. Using build ${BUILD_NUMBER}\"\r\nelse\r\n    echo -e \"Using the latest ${PROJECT} build for version ${VELOCITY_VERSION}\"\r\n    BUILD_NUMBER=${LATEST_BUILD}\r\nfi\r\n\r\nJAR_NAME=${PROJECT}-${VELOCITY_VERSION}-${BUILD_NUMBER}.jar\r\necho \"Version being downloaded\"\r\necho -e \"Velocity Version: ${VELOCITY_VERSION}\"\r\necho -e \"Build: ${BUILD_NUMBER}\"\r\necho -e \"JAR Name of Build: ${JAR_NAME}\"\r\nDOWNLOAD_URL=https://api.papermc.io/v2/projects/${PROJECT}/versions/${VELOCITY_VERSION}/builds/${BUILD_NUMBER}/downloads/${JAR_NAME}\r\n\r\nfi\r\ncd /mnt/server\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [[ -f ${SERVER_JARFILE} ]]; then\r\nmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [[ -f velocity.toml ]]; then\r\n    echo -e \"velocity config file exists\"\r\nelse\r\n    echo -e \"downloading velocity config file.\"\r\n    curl https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/proxy/java/velocity/velocity.toml -o velocity.toml\r\nfi\r\n\r\nif [[ -f forwarding.secret ]]; then\r\n    echo -e \"velocity forwarding secret file already exists\"\r\nelse\r\n    echo -e \"creating forwarding secret file\"\r\n    touch forwarding.secret\r\n    date +%s | sha256sum | base64 | head -c 12 > forwarding.secret\r\nfi\r\n\r\necho -e \"install complete\""}},"variables":[{"name":"Velocity Version","description":"The Velocity Proxy version to download.\r\n\r\nSet to 'latest ' the download the last stable build.","env_variable":"VELOCITY_VERSION","default_value":"latest","user_viewable":true,"user_editable":false,"rules":"required|string|max:20","field_type":"text"},{"name":"Server Jar File","description":"Server Jarfile, by default this is set to 'velocity.jar'.\r\nSet it to otherwise if you wish to have a different jarfile name.","env_variable":"SERVER_JARFILE","default_value":"velocity.jar","user_viewable":true,"user_editable":false,"rules":"required|string|max:32|regex:/^([\\w\\d._-]+)(\\.jar)$/","field_type":"text"},{"name":"Download Path","description":"A URL to use to download a server.jar rather than the ones in the install script. This is not user viewable.","env_variable":"DL_PATH","default_value":"","user_viewable":false,"user_editable":false,"rules":"nullable|string","field_type":"text"},{"name":"Build Number","description":"The build number for the velocity release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.","env_variable":"BUILD_NUMBER","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","field_type":"text"}]},"readme":"# Velocity Minecraft Proxy\nVelocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.\n\n## Server Ports\nThe minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.\n\n\n| Port  | default |\n|-------|---------|\n| Game  | 25565   |"}