Outils pour utilisateurs

Outils du site


admin:services:minetest

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:services:minetest [2020/05/09 10:35] – [Introduction] cpmadmin:services:minetest [2023/08/18 02:45] (Version actuelle) – ajout sauvegarde obitanz
Ligne 1: Ligne 1:
 ====== Service minetest.chapril.org ====== ====== Service minetest.chapril.org ======
  
-===== Introduction =====+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.
  
-Création de la VM avec la procédure [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]].+Les instances existantes au sein du Chapril sont : 
 +  * [[admin:services:minetest:test|Test]] - l'instance pour tester les mods, configurations, etc. 
 +  * [[admin:services:minetest:mineclone2|Mineclone2]] - un jeu basé sur Minetest moddé pour être très proche du jeu Minecraft. 
 +===== Installation façon Chapril =====
  
-Liens : +==== VM ====
-  * https://framinetest.org/fr/#classroom +
-  * https://wiki.minetest.net/Main_Page/fr +
-  * https://framinetest.org/fr/#classroom+
  
-Notes : +Création de la VM [[admin:machines_virtuelles:ludo]] avec la procédure [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]].
-  * installation sur Debian Buster choisir la version backports.+
  
  
-===== Préparation =====+==== Service de base minetest ====
  
-==== Choix de la base de données ====+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.
  
-D'après https://wiki.minetest.net/Database_backends/fr, plusieurs possibilités : SQLite3, LevelDB, Redis, PostgreSQL, Dummy.+<code bash> 
 +apt install minetest-server 
 +</code>
  
-PostgreSQL semble être un bon choix.+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''.
  
 +<code bash>
 +systemctl stop minetest-server.service
 +usermod -m -d /srv/minetest.chapril.org/home
 +systemctl start minetest-server.service
 +</code>
  
-===== Personnalisations ===== 
  
-==== Textures ====+==== Organisation des sous-services ====
  
-https://wiki.minetest.net/Texture_Packs/fr#Installation+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 [[https://content.minetest.net/packages/?type=game|Minetest ContentDB]].
  
-Les textures par défaut sont en faible résolution (16x16). Possibilité d'avoir des textures hautes résolutions (256x256) pour une meilleure qualité visuelle.+En prévision des futurs jeux que nous aurions envie déployer sur ce serveur, nous avons décidé de l'organisation suivantePour chaque jeu :
  
 +  * un port TCP dédié (on n'a pas le choix, chaque jeu doit écouter sur un port séparé)
 +  * un fichier de configuration systemd dont le nom commence par le numéro de port
 +  * un sous-dossier dédié pour le code du jeu, dans ''/srv/minetest.chapril.org/instances/'' (paramètre ''map-dir'' dans la configuration systemd)
 +  * 2 bases de données Postgresql nommées ''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)
 +  * un fichier de configuration du monde ''world.mt'' situé dans le répertoire de l'instance
  
 +<note tip>On a créé le fichier ''/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</note>
  
 +===== Supervision =====
 +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.
  
 +  * le script ''check_minetestchaprilorg_updateGames'' vérifie que les jeux installés soient à jour
 +  * le script ''check_minetestchaprilorg_updateMods'' vérifie que les mods installés soient à jour
 +  * le script ''check_minetestchaprilorg_services'' vérifie que les services des instances soient UP et que les ports UDP correspondant soient en écoute
 +  * on vérifie que le service ''postgresql@13-main.service'' soit actif
 +
 +===== Sauvegarde =====
 +La sauvegarde globale des VMs permet de sauvegarder les données clés à savoir :
 +  * le contenu du répertoire ''/etc/''
 +  * le contenu du répertoire ''/srv/minetest.chapril.org/''
 +  * les bases de données postgresql
 +
 +===== Procédures diverses =====
 +==== Effacer un monde ====
 +L'idée est de supprimer toutes les données pour recommencer une partie de zéro. Ou nettoyer un serveur de test :)
 +
 +  * supprimer la base de données ''minetest-world-xxx'' (données du monde)
 +  * supprimer la base de données ''minetest-users-xxx'''(données des joueurs)
 +  * (quand minetest-server 5.7 sera dans les dépôts) supprimer la base de données ''minetest-mods-xxx''' (données des mods)
 +  * supprimer le fichier instance_xxx/env_meta.txt (reset temps, localisation des joueureuses...)
 +  * supprimer le fichier instance_xxx/map_meta.txt (pour génération d'une nouvelle seed et création d'une nouvelle map et en cas de changement de mode de génération de map)
 +  * supprimer le fichier instance_xxx/awards.txt (les hauts-faits des joueuses et joueurs)
 +  * supprimer le fichier instance_xxx/doc.mt (??)
 +  * supprimer le fichier instance_xxx/settlements.txt (??)
 +
 +Plus d'informations : https://wiki.minetest.net/Worlds
 +
 +==== Installer un mod ====
 +
 +  - Récupérer le lien de téléchargement de l'archive du mod
 +  - Télécharger l'archive avec wget et l'extraire dans ''/srv/minetest.chapril.org/home/.minetest/mods''
 +  - Renommer le répertoire avec le nom technique du mod (voir la page contentdb pour trouver le nom technique)
 +  - Activer le mod dans le fichier ''world.mt'' avec la directive ''load_mod_<nom technique> = true''
 +  - Changer la propriété des fichiers ajoutés pour Debian-minetest:minetest
 +
 +Plus d'informations : https://wiki.minetest.net/Installing_Mods/fr
 +
 +===== Procédures de modération =====
 +==== Gestion des privilèges ====
 +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
 +<code bash>
 +/grant <player> <privilege>
 +</code>
 +
 +Révoquer un privilège
 +<code bash>
 +/revoke <player> <privilege>
 +</code>
 +
 +Exclure un compte (ie le déconnecter du serveur, la personne peut revenir)
 +<code bash>
 +/kick <player> [reason]
 +</code>
 +
 +==== Bannissement ====
 +La documentation est disponible ici : https://content.minetest.net/packages/kaeza/xban2/
 +
 +Bannir un compte définitivement
 +<code bash>
 +/xban <player_or_ip> <reason>
 +</code>
 +
 +Bannir un compte temporairement :
 +<code bash>
 +/xtempban <player_or_ip> <time> <reason>
 +</code>
 +
 +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
 +<code bash>
 +/xban_record <player_or_ip>
 +</code>
 +
 +Dé-bannir un compte
 +<code bash>
 +/xunban <player_or_ip>
 +</code>
 +
 +
 +==== Filtre automatique du chat ====
 +La documentation est disponible ici : https://github.com/minetest-mods/filter
 +
 +Active le filtre automatique
 +<code bash>
 +/filtre enable
 +</code>
 +
 +Ajouter un mot interdit
 +<code bash>
 +/filtre add <insult>
 +</code>
 +
 +Lister les mots interdits
 +<code bash>
 +/filtre list
 +</code>
 +
 +Les mots interdits sont stockés dans le "//mod_storage//", actuellement un simple fichier.
 +
 +<WRAP center round info 60%>
 +Le mod est implémenté avec sa propre politique à savoir :
 +  * 1ère occurrence : avertissement
 +  * 2e et 3e occurrences : mis en muet pendant 1 minute
 +  * au-delà, expulsion du compte du serveur
 +</WRAP>
 +
 +<WRAP center round todo 60%>
 +Modifier le code pour correspondre à la politique envisagée et pour changer les messages en français.
 +</WRAP>
 +
 +==== Antigrief ====
 +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.
 +
 +<WRAP center round todo 60%>
 +Tester le mod et :
 +  * voir s'il faut ajuster la configuration
 +  * voir s'il faut activer ou désactiver des options spécifiques à ce mod
 +  * décrire la configuration en vigueur.
 +</WRAP>
admin/services/minetest.1589020542.txt.gz · Dernière modification : 2020/05/09 10:35 de cpm