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.
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 64 lines
Image
- Minetest ghcr.io/ptero-eggs/games:minetest
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
16 variables
When running a server, clients connecting with this name are admins.
SERVER_ADMIN_NAMEUsers can edit
required|string|max:32
Name of the server, to be displayed when players join and in the serverlist.
SERVER_NAMEUsers can edit
required|string|max:64
Description of server, to be displayed when players join and in the serverlist.
SERVER_DESCUsers can edit
required|string|max:64
Domain name of server, to be displayed in the serverlist.
SERVER_DOMAINUsers can edit
required|string
Homepage of server, to be displayed in the serverlist.
SERVER_URLUsers can edit
required|string
Automatically report to the serverlist.
SERVER_ANNOUNCEUsers can edit
string|in:true,false
Announce to this serverlist.
SERVER_LIST_URLUsers can edit
required|string
Message of the day displayed to players connecting.
SERVER_MOTDUsers can edit
nullable|string|max:128
Maximum number of players that can be connected simultaneously.
SERVER_MAX_USERSUsers can see
required|string|min:0|max:65535
New users need to input this password.
SERVER_PASSWORDUsers can edit
nullable|string|max:64
The name of the world
WORLD_NAMEUsers can edit
required|string|max:32
Default game when creating a new world. Only change if you have already uploaded the game!
DEFAULT_GAMEUsers can edit
required|string|max:32
Download a community game. Needs COMMUNITY_GAME_NAME and COMMUNITY_GAME_AUTOR
COMMUNITY_DOWNLOADUsers can edit
required|boolean
Case sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be mineclone2
COMMUNITY_GAME_NAMEUsers can edit
nullable|string|max:64
Case-sensitive! Example: https://content.minetest.net/packages/Wuzzy/mineclone2/ then this should be Wuzzy
COMMUNITY_GAME_AUTORUsers can edit
nullable|string|max:64
MINETEST_GAME_PATHUsers cannot see
required|string|max:64
Wings
- Stop command
- /shutdown
- Running when the console shows
- Server for gameid
Files Wings edits
Wings sets these values in these files before each start.
.minetest/minetest.conf file
- name
- name = {{server.build.env.SERVER_ADMIN_NAME}}
- server_name
- server_name = {{server.build.env.SERVER_NAME}}
- server_description
- server_description = {{server.build.env.SERVER_DESC}}
- server_address
- server_address = {{server.build.env.SERVER_DOMAIN}}
- server_url
- server_url = {{server.build.env.SERVER_URL}}
- server_announce
- server_announce = {{server.build.env.SERVER_ANNOUNCE}}
- serverlist_url
- serverlist_url = {{server.build.env.SERVER_LIST_URL}}
- motd
- motd = {{server.build.env.SERVER_MOTD}}
- max_users
- max_users = {{server.build.env.SERVER_MAX_USERS}}
- bind_address
- bind_address = 0.0.0.0
- default_password
- default_password = {{server.build.env.SERVER_PASSWORD}}
- default_game
- default_game = {{server.build.env.DEFAULT_GAME}}
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.
Changes
- fix minetest (#64)
· GGLVXD · 6196100
- Add standalone games
· Daniel Barton · 74c706a
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 64 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/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!"