Paper
gamesHigh performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.
README
Paper
Paper is the next generation of Minecraft server, compatible with Spigot plugins and offering uncompromising performance.
Check out the Paper Website for more information.
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 8 | 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 |
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 to download. Leave at latest to always get the latest version. Invalid versions will default to latest.
- Environment:
MINECRAFT_VERSION- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:20
Server Jar File
The name of the server jarfile to run the server with.
- Environment:
SERVER_JARFILE- Default:
server.jar- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|regex:/^([\w\d._-]+)(\.jar)$/
Download Path
A URL to use to download a server.jar rather than the ones in the install script. This is not user viewable.
- Environment:
DL_PATH- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string
Build Number
The build number for the paper release. Leave at latest to always get the latest version. Invalid versions will default to latest.
- Environment:
BUILD_NUMBER- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Installation Script
ghcr.io/ptero-eggs/installers:alpineash#!/bin/ash
# Paper Installation Script
#
# Server Files: /mnt/server
PROJECT=paper
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://fill.papermc.io/v3/projects/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | any(.[]; index($VERSION))' | grep -m1 true`
LATEST_VERSION=`curl -s https://fill.papermc.io/v3/projects/${PROJECT} | jq -r '.versions | to_entries | .[0].value[0]'`
if [ "${VER_EXISTS}" == "true" ]; then
echo -e "Version is valid. Using version ${MINECRAFT_VERSION}"
else
echo -e "Specified version not found. Defaulting to the latest ${PROJECT} version"
MINECRAFT_VERSION=${LATEST_VERSION}
fi
BUILD_EXISTS=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds[] | tostring | contains($BUILD)' | grep -m1 true`
LATEST_BUILD=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${MINECRAFT_VERSION} | jq -r '.builds' | jq -r '.[0]'`
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
echo "Version being downloaded"
echo -e "Project: ${PROJECT}"
echo -e "MC Version: ${MINECRAFT_VERSION}"
echo -e "Build: ${BUILD_NUMBER}"
DOWNLOAD_URL=`curl -s https://fill.papermc.io/v3/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds/${BUILD_NUMBER} | jq -r '.downloads."server:default".url'`
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 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