# Minetest # Installation Ouvrir le port par défaut : ``` iptables -A INPUT -i $WAN -p udp --dport 30000 -j ACCEPT ``` Installer le serveur Minetest : ``` apt-get install minetest-server minetestmapper ``` Pour privilégier le nommage des mondes, désactiver le monde par défaut : ``` systemctl stop minetest-server systemctl disabled minetest-server systemctl disabled minetest-server@minetest ``` Optimiser la configuration de Postgresql : - avoir au moins 512MB de mémoire disponible pour Minetest hors Postgresql ; - modifier `/etc/postgresql/13/main/postgresql.conf` : ``` -shared_buffers = 128MB # min 128kB +shared_buffers = 512MB # min 128kB ``` # Mineclone2 ## Install Récupérer le zip : * https://content.minetest.net/packages/Wuzzy/mineclone2/ * cliquer sur le bouton `Download` Décompresser : ``` unzip mineclone2_6745.zip ``` Ranger dans l'arborescence de Minetest : ``` mv mineclone2 /usr/share/games/minetest/games/ ``` ## Création d'un monde Choisir un port et l'ouvrir : ``` iptables -A INPUT -i $WAN -p udp --dport 3000X -j ACCEPT ``` Créer un fichier de configuration élémentaire : ``` cp /etc/minetest/minetest.conf /etc/minetest/fooland.conf ``` Éditer le fichier de configuration `/etc/minetest/fooland.conf` : ``` - server_name = My Minetest server + server_name = LibreServiceEU – Mineclone2 – Fooland - server_description = Minetest server powered by Debian + server_description = Mineclone2 en libre-service sur LibreServiceEU -# server_address = game.minetest.net + server_address = minetest.libre-service.eu -# server_url = http://minetest.net + server_url = https://minetest.libre-service.eu/ -port = 30000 +port = 3000X - default_game = minetest + default_game = mineclone2 - motd = Welcome to Minetest. Enjoy your stay! + motd = Bienvenue sur le Minetest de Libre-service.eu \o/ -# map-dir = +map-dir = /srv/minetest.libre-service.eu/worlds/fooland - max_users = 15 + max_users = 64 - enable_damage = false + enable_damage = true - # disallow_empty_password = false + disallow_empty_password = true ``` Créer le dossier des mondes dans l'espace du service : ``` mkdir -p /srv/minetest.libre-service.eu/worlds chown Debian-minetest /srv/minetest.libre-service.eu/worlds ``` Créer le nouveau monde : ``` systemctl start minetest-server@fooland.service ``` Le démarrer au prochain boot : ``` systemctl enable minetest-server@fooland.service ``` Tester le nouveau monde en se connectant avec un client Minetest. ## Migration dans Posgreql Créer un compte dédié (si pas déjà fait) : ``` su - postgres -c "psql -c \"create user minetestdba with password 'XXXXXXXX'; \" " ``` Créer une base de données : ``` su - postgres -c "psql -c \"CREATE DATABASE minetestdb_fooland OWNER minetestdba; \"" ``` Associer le compte dédié avec la base fraîchement créée : ``` su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE minetestdb_fooland TO minetestdba; \"" ``` Définir la base de données dans `/srv/minetest.libre-service.eu/worlds/fooland/world.mt` : ``` backend = postgresql pgsql_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXX dbname=minetestdb_fooland auth_backend = postgresql pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland player_backend = postgresql pgsql_player_connection = host=127.0.0.1 port=5432 user=minetestdba password=XXXXXX dbname=minetestdb_fooland ``` Migrer le nouveau monde vers le backend Postgres : ``` systemctl stop minetest-server@fooland.service /usr/games/minetestserver --migrate postgresql --world /srv/minetest.libre-service.eu/worlds/fooland /usr/games/minetestserver --migrate-auth postgresql --world /srv/minetest.libre-service.eu/worlds/fooland /usr/games/minetestserver --migrate-players postgresql --world /srv/minetest.libre-service.eu/worlds/fooland systemctl start minetest-server@fooland.service ``` ## Jouer Liens utiles : - Mineclone2 : https://wiki.minetest.net/Games/MineClone_2/Differences_from_Minetest_Game - Database backends : https://wiki.minetest.net/Database_backends - Server commands : https://wiki.minetest.net/Server_commands - Item strings : https://wiki.minetest.net/Itemstrings - Privileges : https://wiki.minetest.net/Privilegesc