Waterfall
GamesWaterfall is a fork of the well-known BungeeCord server teleportation suite.
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 |
Docker Images (6)
| Name | Image |
|---|---|
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 |
Startup Command
java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}} Variables (4)
Minecraft Version
The version of Minecraft that Waterfall was built to support.
- Environment:
MINECRAFT_VERSION- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|alpha_num|between:1,6
Waterfall Jar File
The name of the jar file to use when running Waterfall.
- Environment:
SERVER_JARFILE- Default:
waterfall.jar- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|regex:/^([\w\d._-]+)(\.jar)$/
Download Link
A link to the server jar to download the Waterfall jar.
- Environment:
DL_LINK- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string
Waterfall build number
Default is latest. if set to latest or an invalid version will grab the latest build number.
- Environment:
BUILD_NUMBER- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Installation Script
Container:
ghcr.io/ptero-eggs/installers:debianEntrypoint:
bash#!/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