admin:services:minetest:mineclone2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
admin:services:minetest:mineclone2 [2023/06/25 15:45] – obitanz | admin:services:minetest:mineclone2 [2023/08/09 14:00] – [Configuration du monde] Add mod_storage_backend = sqlite3 pitchum | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
C'est un jeu sous licence GPLv3, développé à partir du le moteur de jeu [[https:// | C'est un jeu sous licence GPLv3, développé à partir du le moteur de jeu [[https:// | ||
+ | Avant d' | ||
- | ===== Mise à jour ===== | + | ===== Configuration du service |
+ | * port TCP dédié : 30009 (on rejoint le serveur sur minetest.chapril.org: | ||
+ | * configuration systemd dans ''/ | ||
+ | * instance située dans ''/ | ||
+ | * 2 bases de données postgresql : '' | ||
- | <note important> | + | ===== Jeu ===== |
+ | Le jeu est disponible sur [[https:// | ||
+ | On l'installe via git dans le répertoire | ||
<code bash> | <code bash> | ||
- | cd / | + | cd / |
- | git tag chapril-ok-$(date +%F) # pour un éventuel retour en arrière | + | git clone https://git.minetest.land/ |
- | git fetch --all | + | mv MineClone2 mineclone2 && cd mineclone2 |
- | git pull origin master | + | git checkout |
- | systemctl restart minetest-server@30009-mineclone2.service | + | |
</ | </ | ||
- | Il faut maintenant tester un minimum. | + | La création de la branche |
- | Si jamais un bug bloquant survient, on peut revenir à la version précédente grâce au '' | + | |
- | <note tip>La procédure décrite çi-après | + | ===== Mods ===== |
+ | Un travail de recherche et de comparaison a été fait et est consultable sur https:// | ||
+ | ==== Pour la gestion du serveur ==== | ||
+ | === eXtended Ban 2 === | ||
+ | Ce mod étend les possibilités d'exclusions du serveur, facilite les actions de modération et enregistre les actions pour une meilleure communication entre les membres | ||
<code bash> | <code bash> | ||
- | cd / | + | cd / |
- | git tag | grep chapril # pour retrouver votre tag, par exemple " | + | git clone https://github.com/minetest-mods/xban2.git |
- | git checkout chapril-ok-2023-01-15 # on se retrouve alors dans un état temporaire "HEAD detached at chapril-ok-2023-01-15" | + | |
- | git branch -m chapril-ludo chapril-ludo-broken # on met de côté l' | + | |
- | git switch -c chapril-ludo # on recréé la branche | + | |
- | git branch -D chapril-ludo-broken # on jette l' | + | |
- | systemctl restart | + | |
</ | </ | ||
+ | === Filter === | ||
+ | Ce mod permet plusieurs actions automatiques en réponse à une tenue de propos injurieux sur le chat. Plus d' | ||
- | ===== Installation sous Debian Bullseye ===== | + | <code bash> |
+ | cd / | ||
+ | git clone https:// | ||
+ | </ | ||
- | Mineclone2 étant basé sur minetest, on commence par installer ce dernier | + | On définit une liste des mots soumis à action automatique |
- | < | + | Ce mod filtera automatique chaque message contenant ces mots. |
- | apt install minetest-server | + | La politique est : |
- | </ | + | |
+ | - mute temporaire de 5 minutes (le joueur ou la joueuse ne peut plus poster de messages dans le chat) | ||
+ | - 3 avertissements | ||
+ | - mute temporaire de 1h | ||
- | Par défaut, un service minetest est alors lancé sur le port TCP/30000. Son fichier | + | L' |
- | Mais nous ne touchons pas à ce service. Au lieu de ça, nous allons profiter | + | |
- | Pour cela, nous créons le fichier ''/ | + | |
- | <file / | + | === Mod Antigrief === |
- | port = 30009 | + | Le principe d'un mod antigrief est de permettre aux joueuses et joueurs de protéger leurs création contre un potentiel vendalisme. |
- | server_name | + | Le jeu Mineclone2 propose dans son installation |
- | server_description | + | |
- | server_address | + | |
- | motd = Bienvenue sur MC2, un clone de Minecraft basé sur le moteur Minetest. Pour les inconditionnels de Minecraft. | + | |
- | map-dir | + | ==== Pour le gameplay du serveur ==== |
+ | Pour le moment, on se contente du jeu originel, on pourra ajouter des mods en fonction des demandes. | ||
- | # À activer lorsque | + | ===== Configuration du monde ===== |
- | #server_announce | + | Il s'agit du fichier '' |
+ | |||
+ | <file / | ||
+ | gameid = mineclone2 | ||
+ | |||
+ | backend = postgresql | ||
+ | pgsql_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-world-mineclone2 | ||
+ | |||
+ | auth_backend = postgresql | ||
+ | pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-auth | ||
+ | |||
+ | player_backend = postgresql | ||
+ | pgsql_player_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-users-mineclone2 | ||
+ | |||
+ | # Not supported yet, we have to wait for minetest 5.7.0 | ||
+ | # | ||
+ | # | ||
+ | |||
+ | mod_storage_backend = sqlite3 | ||
+ | |||
+ | |||
+ | load_mod_xban2 | ||
+ | load_mod_filter = true | ||
+ | |||
+ | load_mod_whitelist = false | ||
</ | </ | ||
- | Notre service pourra alors être lancé/stoppé/ | + | On crée les bases de données postgres : |
+ | <code bash> | ||
+ | su - postgres | ||
+ | psql | ||
+ | CREATE DATABASE " | ||
+ | CREATE DATABASE " | ||
+ | </code> | ||
+ | ===== Vérification par principe ===== | ||
<code bash> | <code bash> | ||
- | systemctl start minetest-server@30009-mineclone2.service | + | chown -R Debian-minetest: |
- | systemctl stop minetest-server@30009-mineclone2.service | + | chown -R Debian-minetest:games / |
- | systemctl restart | + | |
- | systemctl status minetest-server@30009-mineclone2.service | + | |
</ | </ | ||
- | Mais pas tout de suite, car pour le moment il n'est pas fonctionnel | + | ===== Démarrage |
- | + | ||
- | Il faut préparer le dossier ''/ | + | |
<code bash> | <code bash> | ||
- | mkdir /srv/minetest.chapril.org/ | + | systemctl start minetest-server@30009-mineclone2.service |
- | chown Debian-minetest:/ | + | |
</ | </ | ||
- | Dans ce dossier, il faut au minimum un fichier '' | + | ===== Mise à jour du jeu ===== |
- | Chez chapril, on a choisi d' | + | |
- | <file > | + | On suit les releases du jeu, à chaque release un tag est créé sur le dépôt git, on peut suivre ça sur la [[https:// |
- | gameid = mineclone2 | + | |
- | backend = postgresql | + | <note important> |
- | pgsql_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-world-mineclone2 | + | |
- | auth_backend = postgresql | + | Le projet étant toujours en développement sur la branche //master//, on suit les releases via les tags. Quand une nouvelle release sort, on va sur le dépôt gitea pour récupérer le commit de la release. On s'en servira pour la mise à jour de notre instance. |
- | pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-auth | + | |
- | player_backend = postgresql | + | <code bash> |
- | pgsql_player_connection = host=127.0.0.1 port=5432 user=minetest | + | cd / |
+ | git tag chapril-ok-$(date +%F) # pour un éventuel retour en arrière | ||
+ | git fetch --all | ||
+ | git merge <sha1 commit du dernier tag> | ||
+ | systemctl restart | ||
+ | </ | ||
- | creative_mode = false | + | En cas de conflit pendant le merge, résoudre manuellement les différentes en se basant au maximum sur la release puis : |
- | enable_damage = true | + | |
- | </ | + | |
- | <note important> | + | <code bash> |
- | TODO à documenter : | + | git add <les fichiers édités> |
- | * créer | + | git commit -m "fix merge with commit from 0.83.1 tag" |
- | * récupérer le code du jeu mineclone2 dans / | + | </code> |
- | * avec une branche | + | |
- | </ | + | On peut ensuite redémarrer le service. |
+ | |||
+ | Il faut maintenant tester un minimum. | ||
+ | Si jamais un bug bloquant survient, on peut revenir à la version précédente grâce au '' | ||
+ | <note tip>La procédure décrite çi-après est " | ||
- | Création des bases de données sous postgres : | ||
<code bash> | <code bash> | ||
- | su - postgres | + | cd /srv/minetest.chapril.org/ |
- | psql | + | git tag | grep chapril # pour retrouver votre tag, par exemple " |
- | create database | + | git checkout chapril-ok-2023-01-15 # on se retrouve alors dans un état temporaire "HEAD detached at chapril-ok-2023-01-15" |
- | create database | + | git branch |
- | create database minetest-users-db; | + | git switch |
- | create database minetest-users-mineclone2; | + | git branch |
- | create database minetest-world-ctf; | + | systemctl restart |
- | create database minetest-world-mineclone2; | + | |
- | create database | + | |
</ | </ | ||
+ | |||
+ | ===== Mise à jour des mods ===== | ||
+ |
admin/services/minetest/mineclone2.txt · Dernière modification : 2023/08/18 02:34 de obitanz