{"meta":{"slug":"velocity","name":"Velocity","category":"minecraft","source":"pterodactyl","owner":"pterodactyl","repo":"game-eggs","branch":"main","path":"minecraft/proxy/java/velocity/egg-velocity.json","rawUrl":"https://raw.githubusercontent.com/pterodactyl/game-eggs/main/minecraft/proxy/java/velocity/egg-velocity.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2026-03-07T23:02:39+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 22":"ghcr.io/ptero-eggs/yolks:java_22","Java 21":"ghcr.io/ptero-eggs/yolks:java_21","Java 17":"ghcr.io/ptero-eggs/yolks:java_17","Java 16":"ghcr.io/ptero-eggs/yolks:java_16","Java 11":"ghcr.io/ptero-eggs/yolks:java_11","Java 8":"ghcr.io/ptero-eggs/yolks:java_8"},"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}","startup":"{\r\n    \"done\": \"Done (\"\r\n}","logs":"{}","stop":"end"},"scripts":{"installation":{"script":"#!/bin/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: /mnt/server\r\nPROJECT=velocity\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://fill.papermc.io/v3/projects/${PROJECT} | jq -r --arg VERSION $VELOCITY_VERSION '.versions | any(.[]; index($VERSION))' | grep -m1 true`\r\n\tLATEST_VERSION=`curl -s https://fill.papermc.io/v3/projects/${PROJECT} | jq -r '.versions | to_entries | .[0].value[0]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${VELOCITY_VERSION}\"\r\n\telse\r\n\t\techo -e \"Specified version not found. Defaulting to the latest ${PROJECT} version\"\r\n\t\tVELOCITY_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\r\n\tBUILD_EXISTS=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${VELOCITY_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds[] | tostring | contains($BUILD)' | grep -m1 true`\r\n\tLATEST_BUILD=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${VELOCITY_VERSION} | jq -r '.builds' | jq -r '.[0]'`\r\n\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${VELOCITY_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${VELOCITY_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\r\n\techo \"Version being downloaded\"\r\n\techo -e \"Project: ${PROJECT}\"\r\n\techo -e \"Velocity Version: ${VELOCITY_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\tDOWNLOAD_URL=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${VELOCITY_VERSION}/builds/${BUILD_NUMBER} | jq -r '.downloads.\"server:default\".url'`\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 velocity.toml ]]; then\r\n\techo -e \"velocity config file exists\"\r\nelse\r\n\techo -e \"downloading velocity config file.\"\r\n\tcurl https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/minecraft/proxy/java/velocity/velocity.toml -o velocity.toml\r\nfi\r\n\r\nif [[ -f forwarding.secret ]]; then\r\n\techo -e \"velocity forwarding secret file already exists\"\r\nelse\r\n\techo -e \"creating forwarding secret file\"\r\n\ttouch forwarding.secret\r\n\tdate +%s | sha256sum | base64 | head -c 12 > forwarding.secret\r\nfi\r\n\r\necho -e \"install complete\"","container":"ghcr.io/ptero-eggs/installers:alpine","entrypoint":"ash"}},"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   |"}