Egg Repository

Pterodactyl Community Egg Repository

Mindustry

Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.

Read Me

Mindustry

About the game

Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies. Features include a map editor, 24 built-in maps, cross-platform multiplayer and large-scale PvP unit battles.

You can get it from Steam

Server Port

Mindustry requires a single port

PortDefault
Game6567

Note

You can't use hostname/alias to connect your mindustry server. IPv4 must be used to connect.

Yolks
NameTag
ghcr.io/ptero-eggs/yolks:java_11ghcr.io/ptero-eggs/yolks:java_11
Variables and Startup

Startup Command

java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar config port {{SERVER_PORT}},config name {{SERVER_NAME}},host {{MAPNAME}}

Variables

Version

The version to download. Example "v96" NOT "4.0v96" (default is latest) This would also be the github tag for the release

Environment Variable: VERSION
Default Value: latest
User Viewable:
User Editable:
Server Name

The server name that shows up in the server list (Default: Pterodactyl Testing Server)

Environment Variable: SERVER_NAME
Default Value: A Pterodactyl Hosted Server
User Viewable:
User Editable:
Map Name

Default Maps Available: Ancient Caldera, Fork, Fortress, Glacier, Islands, Labyrinth, Maze, Shattered, Tendrils, Triad, Veins, Wasteland. (Default: Tendrils)

Environment Variable: MAPNAME
Default Value: Tendrils
User Viewable:
User Editable:
Install Script
#!/bin/bash

GITHUB_PACKAGE=Anuken/Mindustry
MATCH=server-release.jar

cd /mnt/server

if [ -z ${DOWNLOAD_LINK} ]; then
    if [ -z "${GITHUB_USER}" ] && [ -z "${GITHUB_OAUTH_TOKEN}" ] ; then
        echo -e "using anon api call"
    else
        echo -e "user and oauth token set"
        alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '
    fi

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

    if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
        DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq -r '.assets | .[].browser_download_url' | grep -i ${MATCH})
    else
        VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
        if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
            DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
        else
            echo -e "defaulting to latest release"
            DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
        fi
    fi
else
    echo -e "Checking supplied download link"
    if curl --output /dev/null --silent --head --fail ${DOWNLOAD_LINK}; then
        echo -e "link is valid. setting download link to ${DOWNLOAD_LINK}"
    else
        echo -e "link is invalid closing out"
        exit 2
    fi
fi

echo -e "running: wget ${DOWNLOAD_LINK}"
wget ${DOWNLOAD_LINK}

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash