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édente | ||
admin:services:minetest:mineclone2 [2023/06/25 15:45] – obitanz | admin:services:minetest:mineclone2 [2024/12/27 16:03] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 35.160.27.221 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
{{ : | {{ : | ||
[[https:// | [[https:// | ||
+ | |||
+ | <note important> | ||
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. | + | < |
- | Si jamais un bug bloquant survient, on peut revenir à la version précédente grâce au '' | + | |
- | < | + | |
<code bash> | <code bash> | ||
- | cd / | + | cd / |
- | git tag | grep chapril # pour retrouver votre tag, par exemple " | + | git remote set-url "origin" |
- | git checkout chapril-ok-2023-01-15 # on se retrouve alors dans un état temporaire | + | |
- | 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 | + | |
</ | </ | ||
+ | La création de la branche '' | ||
- | ===== Installation sous Debian Bullseye | + | ===== 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' | ||
- | Mineclone2 étant basé sur minetest, on commence par installer ce dernier | + | <code bash> |
+ | cd /srv/minetest.chapril.org/ | ||
+ | git clone https:// | ||
+ | </ | ||
- | < | + | === Filter === |
- | apt install | + | Ce mod permet plusieurs actions automatiques en réponse à une tenue de propos injurieux sur le chat. Plus d' |
+ | |||
+ | < | ||
+ | cd / | ||
+ | git clone https:// | ||
</ | </ | ||
- | Par défaut, un service minetest est alors lancé sur le port TCP/30000. Son fichier de configuration est ''/ | + | On définit une liste des mots soumis |
- | Mais nous ne touchons pas à ce service. Au lieu de ça, nous allons profiter du mécanisme de templates systemd (plus d' | + | |
- | Pour cela, nous créons le fichier ''/ | + | |
- | <file / | + | Ce mod filtera automatique chaque message contenant ces mots. |
- | port = 30009 | + | La politique est : |
- | server_name = Chapril | + | - 3 avertissements |
- | server_description = Un univers inspiré | + | - mute temporaire |
- | server_address = minetest.chapril.org | + | - 3 avertissements |
- | motd = Bienvenue sur MC2, un clone de Minecraft basé sur le moteur Minetest. Pour les inconditionnels de Minecraft. | + | - mute temporaire |
- | map-dir = / | + | L' |
- | # À activer lorsque | + | === Mod Antigrief === |
- | #server_announce | + | Le principe d'un mod antigrief est de permettre aux joueuses et joueurs de protéger leurs création contre un potentiel vendalisme. |
+ | Le jeu Mineclone2 propose dans son installation | ||
+ | |||
+ | ==== Pour le gameplay du serveur ==== | ||
+ | Pour le moment, on se contente du jeu originel, on pourra ajouter des mods en fonction des demandes. | ||
+ | |||
+ | ===== Configuration du monde ===== | ||
+ | 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é/redémarré/surveillé comme ceci : | + | 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> | ||
+ | chown -R Debian-minetest: | ||
+ | chown -R Debian-minetest:games / | ||
+ | </ | ||
+ | ===== Démarrage du service ===== | ||
<code bash> | <code bash> | ||
systemctl start minetest-server@30009-mineclone2.service | systemctl start minetest-server@30009-mineclone2.service | ||
- | systemctl stop minetest-server@30009-mineclone2.service | ||
- | systemctl restart minetest-server@30009-mineclone2.service | ||
- | systemctl status minetest-server@30009-mineclone2.service | ||
</ | </ | ||
- | Mais pas tout de suite, car pour le moment il n' | + | ===== Création du rapport d' |
+ | Le script | ||
- | Il faut préparer | + | Les logs sont situés dans le répertoire |
- | <code bash> | + | Le script '' |
- | mkdir / | + | |
- | chown Debian-minetest:/ | + | |
- | </ | + | |
- | Dans ce dossier, il faut au minimum un fichier '' | + | ====== Maintenance ====== |
- | Chez chapril, on a choisi d' | + | ===== Mise à jour du jeu ===== |
- | <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.1687707907.txt.gz · Dernière modification : 2023/06/25 15:45 de obitanz