Skip to content

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

egg-magma.json

updated

Ports

Add an allocation on the node for each port.

  • Game 25565

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Install script
40 lines

Images

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

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

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.

3 variables

Startup command

java -Xms128M -XX:MaxRAMPercentage=95.0 -jar server.jar
  • The name of the server jarfile to run the server with.

    SERVER_JARFILEUsers can see

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

  • MC_VERSIONUsers can edit

    nullable|string|in:1.20.1,1.19.3,1.18.2,1.12.2

  • Optional. Specify the tag version to install. Set latest to install latest

    TAG_VERSIONUsers can edit

    required|string|max:32

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}}

Readme

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.

Changes

  1. Adding java 25 to most minecraft eggs

    · Red-Banana-Official · fb0c032

  2. Minecraft: Don't force enable-query (#137)

    · Daniel Barton · 892d7e1

  3. Updating MC docker images (#23)

    · Red Banana · 8f3fc4d

  4. 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 40 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/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"