Skip to content

Folia

Fork of Paper which adds regionised multithreading to the dedicated server.

egg-folia.json

updated

Ports

Add an allocation on the node for each port.

  • Game 25565

Install

Installer image
ghcr.io/ptero-eggs/installers:alpine
Install script
53 lines

Images

New servers use the first image. Users can change it on the Startup page.

  • Java 25 default ghcr.io/ptero-eggs/yolks:java_25
  • 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

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 -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar server.jar
  • 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

    nullable|string|max:20

  • The name of the server jarfile to run the server with.

    SERVER_JARFILEUsers can edit

    required|regex:/^([\w\d._-]+)(\.jar)$/

  • A URL to use to download a server.jar rather than the ones in the install script. This is not user viewable.

    DL_PATHUsers cannot see

    nullable|string

  • The build number for the folia release. Leave at latest to always get the latest version. Invalid versions will default to latest.

    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}}
query.port
{{server.build.default.port}}

Readme

Folia

Fork of Paper which adds regionised multithreading to the dedicated server.

Check out the Folia 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

Changes

  1. Paper/paper forks update (#493)

    · Red Banana · ecadd42

  2. Folia: Fixed order of yolks in the egg

    · ZepsiZola · a4111e7

  3. Updating MC docker images (#23)

    · Red Banana · 8f3fc4d

  4. SteamCMD + Other fixes

    · yesBad · edbf925

  5. Minecraft Eggs

    · yesBad · d749608

  6. Add Minecraft eggs

    · Daniel Barton · 7322302

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 53 lines ash in ghcr.io/ptero-eggs/installers:alpine Show
#!/bin/ash
# Folia Installation Script
#
# Server Files: /mnt/server
PROJECT=folia

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.papermc.io/v2/projects/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep -m1 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 "Specified version not found. Defaulting to 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 -m1 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 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