An open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.
An open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.
For the server to be able to stop properly you have to give the admin/console user the permission server else you will have to kill the server and no date will be saved!
The console is currently bugged. It does work but the startup message is messed up.
A special thank you to Tealk for helping me rewrite this egg.
| Name | Tag |
|---|---|
| Minetest | ghcr.io/ptero-eggs/games:minetest |
When running a server, clients connecting with this name are admins.
Name of the server, to be displayed when players join and in the serverlist.
Description of server, to be displayed when players join and in the serverlist.
Domain name of server, to be displayed in the serverlist.
Homepage of server, to be displayed in the serverlist.
Automatically report to the serverlist.
Announce to this serverlist.
Message of the day displayed to players connecting.
Maximum number of players that can be connected simultaneously.
New users need to input this password.
The name of the world
Default game when creating a new world. Only change if you have already uploaded the game!
Download a community game. Needs COMMUNITY_GAME_NAME and COMMUNITY_GAME_AUTOR
Case sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be mineclone2
Case-sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be Wuzzy
#!/bin/bash
# Minetest Installation Script
mkdir -p /mnt/server/.minetest
apt update
apt -y install curl unzip
# Create server.log
LOG_FILE=/mnt/server/server.log
if [ -f "$LOG_FILE" ]; then
echo "Log file already exists."
else
echo "Log file does not exist. Making one..."
touch "$LOG_FILE"
fi
# Create minetest.conf
CONFIG_FILE=/mnt/server/.minetest/minetest.conf
if [ -f "$CONFIG_FILE" ]; then
echo "Config file already exists."
else
echo "Config file does not exist. Making one..."
curl -sSL -o /mnt/server/.minetest/minetest.conf.example https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
echo -e "## Server settings generated by pterodactyl\nname\nserver_name\nserver_description\nserver_address\nserver_url\nserver_announce\nserverlist_url\nmotd\nmax_users\nbind_address\ndefault_password\ndefault_game\n\n## Custom server settings\n" >> "$CONFIG_FILE"
fi
# Create games folder
GAMES_FOLDER=/mnt/server/.minetest/games
if [ -d "$GAMES_FOLDER" ]; then
echo "GAMES folder already exists."
else
echo "GAMES folder does not exist. Making one..."
mkdir -p $GAMES_FOLDER
fi
# Create mods folder
MOD_FOLDER=/mnt/server/.minetest/mods
if [ -d "$MOD_FOLDER" ]; then
echo "Mods folder already exists."
else
echo "Mods folder does not exist. Making one..."
mkdir -p $MOD_FOLDER
curl -sSL -o "$MOD_FOLDER"/mods_here.txt https://raw.githubusercontent.com/minetest/minetest/master/mods/mods_here.txt
fi
# Install Gamemode
if [ "$COMMUNITY_DOWNLOAD" == "1" ]; then
if ! [ -z "$COMMUNITY_GAME_NAME" ]; then
if ! [ -z "$COMMUNITY_GAME_AUTOR" ]; then
echo "Download $COMMUNITY_GAME_NAME"
D_URL=$(curl -s https://content.luanti.org/packages/$COMMUNITY_GAME_AUTOR/$COMMUNITY_GAME_NAME/ | grep -i download | grep packages | grep download | grep -o 'href=".*"' | cut -d "=" -f2- | egrep title= | awk -F' ' '{print $1}' | tr -d '"')
curl -sSL -o /mnt/server/.minetest/games.zip https://content.luanti.org/$D_URL >/dev/null 2>&1
unzip -o /mnt/server/.minetest/games.zip -d /mnt/server/.minetest/games >/dev/null 2>&1
rm /mnt/server/.minetest/games.zip
else
echo "The COMMUNITY_GAME_AUTOR variable is required to download a community game"
fi
else
echo "The COMMUNITY_GAME_NAME variable is required to download a community game"
fi
fi
# Done!
echo "Installation was successfully completed!"| Installation Image | ghcr.io/ptero-eggs/installers:debian | Installation Entrypoint | bash |
|---|