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.
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
Mindustry requires a single port
Port | Default |
---|---|
Game | 6567 |
You can't use hostname/alias to connect your mindustry server. IPv4 must be used to connect.
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:java_11 | ghcr.io/ptero-eggs/yolks:java_11 |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Version | The version to download. Example "v96" NOT "4.0v96" (default is latest) This would also be the github tag for the release | VERSION | latest | Yes | Yes |
Server Name | The server name that shows up in the server list (Default: Pterodactyl Testing Server) | SERVER_NAME | A Pterodactyl Hosted Server | Yes | Yes |
Map Name | Default Maps Available: Ancient Caldera, Fork, Fortress, Glacier, Islands, Labyrinth, Maze, Shattered, Tendrils, Triad, Veins, Wasteland. (Default: Tendrils) | MAPNAME | Tendrils | Yes | Yes |
#!/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 "-----------------------------------------"