Waterfall
Waterfall is a fork of the well-known BungeeCord server teleportation suite.
Ports
Add an allocation on the node for each port.
- Game 25565
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 58 lines
Images
New servers use the first image. Users can change it on the Startup page.
- Java 22 default 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
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.
4 variables
Startup command
java -Xms128M -Xmx1024M -Dterminal.jline=false -Dterminal.ansi=true -jar waterfall.jarDotted values come from the server settings. These values are examples.
The version of Minecraft that Waterfall was built to support.
MINECRAFT_VERSIONUsers can edit
required|alpha_num|between:1,6
The name of the jar file to use when running Waterfall.
SERVER_JARFILEUsers can edit
required|regex:/^([\w\d._-]+)(\.jar)$/
A link to the server jar to download the Waterfall jar.
DL_LINKUsers can edit
nullable|string
Default is latest. if set to latest or an invalid version will grab the latest build number.
BUILD_NUMBERUsers can edit
required|string|max:20
Wings
- Stop command
- end
- Running when the console shows
- Listening on
Files Wings edits
Wings sets these values in these files before each start.
config.yml yaml
- listeners[0].host
- 0.0.0.0:{{server.build.default.port}}
- servers.*.address
- {"127.0.0.1":"{{config.docker.interface}}","localhost":"{{config.docker.interface}}"}
Readme
Waterfall server
Paper fork of the BungeeCord software, with improved Forge support and more features.
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 |
Changes
- Update paper API URLs (#38)
· Daniel Barton · d4465ee
- Updating MC docker images (#23)
· Red Banana · 8f3fc4d
- Validate and update embedded URLs
· Daniel Barton · bf9f3cb
- fixie pixie 🐟
· yesBad · 73a886f
- SteamCMD + Other fixes
· yesBad · edbf925
- Minecraft Eggs
· yesBad · d749608
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 58 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
# Waterfall Installation Script
#
# Server Files: /mnt/server
PROJECT=waterfall
apt update
apt install -y curl jq
if [ -n "${DL_LINK}" ]; then
echo -e "Using supplied download url: ${DL_LINK}"
DOWNLOAD_URL=`eval echo $(echo ${DL_LINK} | sed -e 's/{{/${/g' -e 's/}}/}/g')`
else
VER_EXISTS=`curl -s https://api.papermc.io/v2/projects/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`
LATEST_VERSION=`curl -s https://api.papermc.io/v2/projects/${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.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds[] | tostring | contains($BUILD)' | grep true`
LATEST_BUILD=`curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION} | jq -r '.builds' | jq -r '.[-1]'`
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.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds/${BUILD_NUMBER}/downloads/${JAR_NAME}
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 config.yml ]; then
echo -e "Downloading ${PROJECT} config.yml"
curl -o config.yml https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/minecraft/proxy/java/waterfall/config.yml
else
echo -e "${PROJECT} config.yml exists. Will not pull a new file"
fi