Minetest
gamesAn 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.
README
Minetest
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.
Stopping the 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!
Console
The console is currently bugged. It does work but the startup message is messed up.
Rewrite
A special thank you to Tealk for helping me rewrite this egg.
Docker Images (1)
| Name | Image |
|---|---|
Minetest | ghcr.io/ptero-eggs/games:minetest |
Startup Command
luanti --server --port {{SERVER_PORT}} --gameid {{DEFAULT_GAME}} --world /home/container/.minetest/worlds/{{WORLD_NAME}} --terminal --config /home/container/.minetest/minetest.conf --logfile /home/container/server.log Variables (16)
Name of the admin player.
When running a server, clients connecting with this name are admins.
- Environment:
SERVER_ADMIN_NAME- Default:
changeme- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:32
Server name
Name of the server, to be displayed when players join and in the serverlist.
- Environment:
SERVER_NAME- Default:
Minetest server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Description of the server
Description of server, to be displayed when players join and in the serverlist.
- Environment:
SERVER_DESC- Default:
mine here- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Domain name of the server
Domain name of server, to be displayed in the serverlist.
- Environment:
SERVER_DOMAIN- Default:
game.minetest.net- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|
Server url
Homepage of server, to be displayed in the serverlist.
- Environment:
SERVER_URL- Default:
https://minetest.net- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|
Show in server list
Automatically report to the serverlist.
- Environment:
SERVER_ANNOUNCE- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
string|in:true,false
Announce serverlist
Announce to this serverlist.
- Environment:
SERVER_LIST_URL- Default:
servers.minetest.net- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|
message of the day
Message of the day displayed to players connecting.
- Environment:
SERVER_MOTD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:128
Max Players
Maximum number of players that can be connected simultaneously.
- Environment:
SERVER_MAX_USERS- Default:
15- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|min:0|max:65535
Server password
New users need to input this password.
- Environment:
SERVER_PASSWORD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:64
World name
The name of the world
- Environment:
WORLD_NAME- Default:
world- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:32
Game name
Default game when creating a new world. Only change if you have already uploaded the game!
- Environment:
DEFAULT_GAME- Default:
minetest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:32
Community download
Download a community game. Needs COMMUNITY_GAME_NAME and COMMUNITY_GAME_AUTOR
- Environment:
COMMUNITY_DOWNLOAD- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Community game name
Case sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be mineclone2
- Environment:
COMMUNITY_GAME_NAME- Default:
minetest_game- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:64
Community game author
Case-sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be Wuzzy
- Environment:
COMMUNITY_GAME_AUTOR- Default:
Minetest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:64
Game PATH
- Environment:
MINETEST_GAME_PATH- Default:
/home/container/.minetest/games- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/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!"