Skip to content

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.

Report an issue
updated
variables
3
images
1
author
sir3lit@gmail.com
sha256
a6aae95c84b8

Readme

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

Port Default
Game 6567

Note

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

Startup command

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

The parts in blue are filled in by the panel when the server starts, from the variables below.

Docker image

  • ghcr.io/ptero-eggs/yolks:java_11

1 contributor

Variables

3 settings

  • Version

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

    env
    VERSION
    default
    latest
    rules
    required
    • viewable
    • editable
  • Server Name

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

    env
    SERVER_NAME
    default
    A Pterodactyl Hosted Server
    rules
    required|string
    • viewable
    • editable
  • Map Name

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

    env
    MAPNAME
    default
    Tendrils
    rules
    required|string
    • viewable
    • editable
Installation script 47 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show
#!/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 "-----------------------------------------"