Minetest is a free C++ clone of Minecraft built on the Irrlicht engine. It has both a client and a server component.
The Minetest server uses files and a SQLite database to host its data (notably the map).
The Minetest server is installed in two steps: you first install the Minetest engine (APIs, features…) and then the “smart” part of the game. The default options of the official FreeBSD packages are not satisfying for running a server, so we’ll use the ports.
Start by installing the games/minetest port with the following options:
cd /usr/ports/games/minetest/
make install
Then install the games/minetest_game port (your call whether you want the documentation):
cd /usr/ports/games/minetest_game/
make install
The Minetest server is configured in the file /usr/local/etc/minetest.conf.
First, change the username of the server superuser. This is the account that will be able to grant rights to other users. Once in game, do not forget to change its password through the dedicated menu!
name = superminetest
We then change a few administrative options: the server name, its address, the web URL, and the message of the day:
server_name = Minetest UnixExperience (FR)
server_address = minetest.unix-experience.fr
server_url = http://mintest.unix-experience.fr
motd = Welcome to UnixExperience Minetest Server
Now the network configuration. You can change the port and optionally the bind address if you have several network interfaces (otherwise the server listens on all interfaces). You can also change the maximum number of connected players.
port = 30000
bind_address = 8.8.9.34
max_users = 100
If you want your server to announce itself on the public server list, set the following option:
server_announce = 1
Now let’s configure the server’s game mode.
The creative_mode option enables Creative mode. Set to false, you are in Survival mode.
You can also enable or disable damage and PvP.
creative_mode = false
enable_damage = true
enable_pvp = false
The day/night cycle and seasons can be customized by tuning the time_speed and year_days options:
time_speed = 72
year_days = 365
To compute the real-world duration in seconds of one in-game day, use this formula:
1 in-game day = 86400 / time_speed seconds
Finally, if you want your server to be a bit more autonomous, you can grant default privileges to your players (here: interact, shout, fast, fly):
default_privs = interact, shout, fast, fly
Modding lets you add features to your Minetest server. The advantage of Minetest over Minecraft is the almost unlimited ability to mod server-side, so clients benefit from a wide range of features and custom textures/models without installing anything on the client.
To install a mod, extract it into the directory /usr/local/share/minetest/games/minetest_game/mods and enable it by adding the following line in the world.mt file of your world, which by default lives in /var/db/minetest/world (replace homedecor_modpack with the name of the extracted directory):
load_mod_homedecor_modpack = true
You now know how to install and configure a Minetest server with mods under FreeBSD. Time to terraform!