Egg Repository

Pterodactyl Community Egg Repository

Magma

Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. Using: https://github.com/magmamaintained

Read Me

Magma

Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.

Magma Website

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

Notes

Providing a Minecraft version of latest or an empty value will default to 1.18.2 as this is the latest version that Magma supports at this time. There is no API to query to find the true latest supported version.

Yolks
NameTag
Java 8ghcr.io/ptero-eggs/yolks:java_8
Java 11ghcr.io/ptero-eggs/yolks:java_11
Java 16ghcr.io/ptero-eggs/yolks:java_16
Java 17ghcr.io/ptero-eggs/yolks:java_17
java 21ghcr.io/ptero-eggs/yolks:java_21
java 22ghcr.io/ptero-eggs/yolks:java_22
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Server Jar FileThe name of the server jarfile to run the server with.SERVER_JARFILEserver.jarYesNo
Minecraft VersionMC_VERSION1.20.1YesYes
Tag VersionOptional. Specify the tag version to install. Set latest to install latestTAG_VERSIONlatestYesYes
Install Script
#!/bin/bash

mkdir -p /mnt/server
cd /mnt/server

## get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/magmamaintained/Magma-${MC_VERSION}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/magmamaintained/Magma-${MC_VERSION}/releases")

if [ -z "${TAG_VERSION}" ] || [ "${TAG_VERSION}" == "latest" ]; then
    DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url )
else
    VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${TAG_VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
    if [ "${TAG_VERSION}" == "${VERSION_CHECK}" ]; then
        DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION "${TAG_VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url')
    else
        echo -e "defaulting to latest release"
        DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
    fi
fi

if [ ! -z "${DOWNLOAD_LINK}" ]; then 
    if curl --output /dev/null --silent --head --fail ${DOWNLOAD_LINK}; then
        echo -e "link is valid. setting download link to ${DOWNLOAD_LINK}"
        DOWNLOAD_LINK=${DOWNLOAD_LINK}
    else        
        echo -e "link is invalid closing out"
        exit 2
    fi
fi


echo "Download Link: '${DOWNLOAD_LINK}'"

# Check we found a download link

# Download server.jar
echo -e "running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}"
curl -sSL -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}
echo -e "Install Complete"