Minetest n'est pas vraiment un jeu en soi, même s'il y a déjà de quoi s'amuser de base, mais plutôt un moteur de jeux.
Les instances existantes au sein du Chapril sont :
Création de la VM ludo avec la procédure Création d'une machine virtuelle « bling ».
Nous installons minetest à partir des dépôts Debian stable, et parfois si on a besoin d'une version plus récente de Minetest on passe sur les dépôts Debian backports ou carrément sur les dépôts Debian testing.
apt install minetest-server
Pour des raisons qui sont propres au Chapril, nous préférons modifier le dossier home du compte Debian-minetest. Par défaut ce dossier est /var/games/minetest-server
, mais nous l'avons modifié pour qu'il soit dans /srv/minetest.chapril.org/home
.
systemctl stop minetest-server.service usermod -m -d /srv/minetest.chapril.org/home systemctl start minetest-server.service
Dès lors, minetest est déjà joignable sur le port 30000. Mais il ne s'agit là que d'un simple bac à sable, sans mobs ni aucune règle quelconque, permettant essentiellement de tester le moteur de jeu. Mais ce serveur peut maintenant faire tourner un ou plusieurs autres jeux disponibles par exemple sur Minetest ContentDB.
En prévision des futurs jeux que nous aurions envie déployer sur ce serveur, nous avons décidé de l'organisation suivante. Pour chaque jeu :
/srv/minetest.chapril.org/instances/
(paramètre map-dir
dans la configuration systemd)minetest-users-xxx
et minetest-world-xxx
(une troisième base nommée minetest-auth
est créée une seule fois et est utilisée pour tous les jeux)world.mt
situé dans le répertoire de l'instance/etc/minetest/minetest.conf.template
pour servir de base à l'installation d'une nouvelle instance.
Le fichier /etc/minetest/minetest.conf.example
reprend les configurations possibles en les expliquant
Plusieurs sondes ont été mises en place pour surveiller le service Minetest. Les scripts personnalisés sont situés dans le répertoire /srv/minetest.chapril.org/tools/monitoring/
, un lien dans /usr/local/lib/nagios/plugins/
permet de les rendre accessibles à nagios.
check_minetestchaprilorg_updateGames
vérifie que les jeux installés soient à jourcheck_minetestchaprilorg_updateMods
vérifie que les mods installés soient à jourcheck_minetestchaprilorg_services
vérifie que les services des instances soient UP et que les ports UDP correspondant soient en écoutepostgresql@13-main.service
soit actifLa sauvegarde globale des VMs permet de sauvegarder les données clés à savoir :
/etc/
/srv/minetest.chapril.org/
L'idée est de supprimer toutes les données pour recommencer une partie de zéro. Ou nettoyer un serveur de test :)
minetest-world-xxx
(données du monde)minetest-users-xxx
'(données des joueurs)minetest-mods-xxx
' (données des mods)Plus d'informations : https://wiki.minetest.net/Worlds
/srv/minetest.chapril.org/home/.minetest/mods
world.mt
avec la directive load_mod_<nom technique> = true
Plus d'informations : https://wiki.minetest.net/Installing_Mods/fr
Pour comprendre les privilèges : https://wiki.minetest.net/Privileges/fr
Pour comprendre les commandes serveur : https://wiki.minetest.net/Server_commands/fr
Donner un privilège
/grant <player> <privilege>
Révoquer un privilège
/revoke <player> <privilege>
Exclure un compte (ie le déconnecter du serveur, la personne peut revenir)
/kick <player> [reason]
La documentation est disponible ici : https://content.minetest.net/packages/kaeza/xban2/
Bannir un compte définitivement
/xban <player_or_ip> <reason>
Bannir un compte temporairement :
/xtempban <player_or_ip> <time> <reason>
Le temps peut être exprimé en secondes, minutes, heures, jours, semaines, mois, années et les valeurs sont combinables, par exemple “1Y3M3D7h” pour bannir 1 an, 3 mois, 3 jours et 7 heures.
Lister l'historique de bannissement pour un compte
/xban_record <player_or_ip>
Dé-bannir un compte
/xunban <player_or_ip>
La documentation est disponible ici : https://github.com/minetest-mods/filter
Active le filtre automatique
/filtre enable
Ajouter un mot interdit
/filtre add <insult>
Lister les mots interdits
/filtre list
Les mots interdits sont stockés dans le “mod_storage”, actuellement un simple fichier.
Le mod est implémenté avec sa propre politique à savoir :
Modifier le code pour correspondre à la politique envisagée et pour changer les messages en français.
La documentation est disponible ici : https://notabug.org/tenplus1/protector
Le mod permet aux joueuses et joueurs de créer des blocs servant à protéger des zones. Les comptes ayant les droits admins sur le serveur peuvent passer outre ces protections.
Le mod est configurable.
Tester le mod et :