Purpur-Geyser-Floodgate
A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate
Ports
Add an allocation on the node for each port.
- Java 25565
- Bedrock 19132
Install
- Installer image
- ghcr.io/ptero-eggs/installers:alpine
- Install script
- 65 lines
Images
New servers use the first image. Users can change it on the Startup page.
- Java 8 default ghcr.io/ptero-eggs/yolks:java_8
- Java 11 ghcr.io/ptero-eggs/yolks:java_11
- Java 16 ghcr.io/ptero-eggs/yolks:java_16
- Java 17 ghcr.io/ptero-eggs/yolks:java_17
- Java 21 ghcr.io/ptero-eggs/yolks:java_21
- Java 22 ghcr.io/ptero-eggs/yolks:java_22
- Java 23 ghcr.io/ptero-eggs/yolks:java_23
- Java 24 ghcr.io/ptero-eggs/yolks:java_24
- Java 25 ghcr.io/ptero-eggs/yolks:java_25
Panel features
- eula
The Panel asks the user to accept the Minecraft EULA when the server needs it.
- java_version
The Panel lets the user change the Java version when the server needs a different one.
- pid_limit
The Panel tells the user when the server reaches its process or memory limit.
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
3 variables
Startup command
java -Xms128M -Xmx1024M -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -jar server.jarDotted values come from the server settings. These values are examples.
The version of Minecraft to download. Leave at latest to always get the latest version. Invalid versions will default to latest.
MINECRAFT_VERSIONUsers can edit
required|string|max:20
The name of the .jar file to run the server with.
SERVER_JARFILEUsers can edit
required|regex:/^([\w\d._-]+)(\.jar)$/|max:80
The build number for the Purpur release. Leave at latest to always get the latest version. Invalid versions will default to latest-stable. Accepted values: 'latest-stable' 'latest-successful'
BUILD_NUMBERUsers can edit
required|string|max:20
Wings
- Stop command
- stop
- Running when the console shows
- )! For help, type
Files Wings edits
Wings sets these values in these files before each start.
server.properties properties
- server-ip
- 0.0.0.0
- server-port
- {{server.build.default.port}}
Readme
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
Purpur GitHub Purpur Website GeyserMC/Floodgate Website GeyserMC GitHub Floodgate GitHub
Server Ports
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 | Protocol |
|---|---|---|
| Java | 25565 | TCP |
| Bedrock | 19132 | UDP |
Changes
- egg-purpur-geyser-floodgate: Fix install and update java
· Daniel Barton · 78a0e19
- Updating MC docker images (#23)
· Red Banana · 8f3fc4d
- SteamCMD + Other fixes
· yesBad · edbf925
- Minecraft Eggs
· yesBad · d749608
- Add Minecraft eggs
· Daniel Barton · 7322302
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 65 lines ash in ghcr.io/ptero-eggs/installers:alpine Show Hide
#!/bin/ash
# Paper Installation Script
#
# Server Files: /mnt/server
PROJECT=purpur
# Download paths for Geyser and Floodgate. Do not change!!
GEYSER_DOWNLOAD_URL="https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot"
FLOODGATE_DOWNLOAD_URL="https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot"
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 -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_URL}
echo -e "Downloading last successful build with curl -o plugins/geyser-spigot ${GEYSER_DOWNLOAD_URL}"
curl -sSL -o plugins/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}
echo -e "Downloading last successful build with curl -o plugins/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}"
curl -sSL -o plugins/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}
if [ ! -f server.properties ]; then
echo -e "Downloading MC server.properties"
curl -o server.properties https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/minecraft/java/server.properties
fi
echo -e "Installation Finished"