Skip to content

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.

egg-minetest.json

updated

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

Startup command

luanti --server --port 25565 --gameid minetest --world /home/container/.minetest/worlds/world --terminal --config /home/container/.minetest/minetest.conf --logfile /home/container/server.log

Dotted values come from the server settings. These values are examples.

  • 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

  1. fix minetest (#64)

    · GGLVXD · 6196100

  2. Add standalone games

    · Daniel Barton · 74c706a

All changes on GitHub

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
#!/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!"