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 [2022/04/23 12:06] – [Installation sous Debian Bullseye] pitchum | 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' | ||
- | ===== Installation | + | ====== Installation ====== |
+ | ===== 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 : '' | ||
- | Mineclone2 étant basé sur minetest, on commence par installer ce dernier | + | ===== Jeu ===== |
+ | Le jeu est disponible | ||
+ | On l' | ||
- | < | + | < |
- | apt install | + | cd /srv/minetest.chapril.org/ |
+ | git clone https:// | ||
+ | mv MineClone2 mineclone2 && cd mineclone2 | ||
+ | git checkout -b chapril-ludo | ||
</ | </ | ||
- | Par défaut, un service minetest est alors lancé sur le port TCP/30000. Son fichier | + | < |
- | Mais nous ne touchons pas à ce service. Au lieu de ça, nous allons profiter du mécanisme de templates systemd (plus d' | + | <code bash> |
- | Pour cela, nous créons le fichier '' | + | cd /srv/minetest.chapril.org/home/.minetest/games/mineclone2 |
+ | git remote set-url " | ||
+ | </ | ||
- | <file / | + | La création |
- | port = 30009 | + | |
- | server_name = Chapril - Mineclone 2 [FR] | + | |
- | server_description = Un univers inspiré | + | |
- | server_address = minetest.chapril.org | + | |
- | motd = Bienvenue sur MC2, un clone de Minecraft basé sur le moteur Minetest. Pour les inconditionnels de Minecraft. | + | |
- | map-dir | + | ===== Mods ===== |
+ | Un travail de recherche et de comparaison a été fait et est consultable sur https://wiki.april.org/w/Chapril: | ||
+ | ==== Pour la gestion du serveur ==== | ||
+ | === eXtended Ban 2 === | ||
+ | Ce mod étend les possibilités d' | ||
- | # À activer lorsque | + | <code bash> |
- | #server_announce | + | cd / |
+ | git clone https:// | ||
+ | </ | ||
+ | |||
+ | === Filter === | ||
+ | Ce mod permet plusieurs actions automatiques en réponse à une tenue de propos injurieux sur le chat. Plus d' | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | git clone https:// | ||
+ | </ | ||
+ | |||
+ | On définit une liste des mots soumis | ||
+ | |||
+ | Ce mod filtera automatique chaque message contenant ces mots. | ||
+ | La politique est : | ||
+ | - 3 avertissements | ||
+ | - 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 | ||
+ | |||
+ | L' | ||
+ | |||
+ | === Mod Antigrief === | ||
+ | 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 le mod " | ||
+ | |||
+ | ==== 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é/ | + | 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: | ||
+ | </ | ||
+ | |||
+ | ===== 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 |
+ | |||
+ | Le script '' | ||
+ | |||
+ | ====== Maintenance ====== | ||
+ | ===== Mise à jour du jeu ===== | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | 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. | ||
<code bash> | <code bash> | ||
- | mkdir / | + | cd / |
- | chown Debian-minetest:/ | + | 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 | ||
</ | </ | ||
- | Dans ce dossier, il faut au minimum un fichier '' | + | En cas de conflit pendant |
- | Chez chapril, on a choisi d' | + | |
- | <file > | + | <code bash> |
- | gameid = mineclone2 | + | git add <les fichiers édités> |
+ | git commit -m "fix merge with commit from 0.83.1 tag" | ||
+ | </ | ||
- | backend = postgresql | + | On peut ensuite redémarrer le service. |
- | pgsql_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-world-mineclone2 | + | |
- | auth_backend = postgresql | + | Il faut maintenant tester un minimum. |
- | pgsql_auth_connection = host=127.0.0.1 port=5432 user=minetest password=common-outrank-cruelly dbname=minetest-auth | + | 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 " | ||
- | player_backend = postgresql | + | <code bash> |
- | pgsql_player_connection = host=127.0.0.1 port=5432 user=minetest | + | cd / |
+ | git tag | grep chapril # pour retrouver votre tag, par exemple " | ||
+ | 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 | ||
+ | </ | ||
- | creative_mode | + | ===== Mise à jour des mods ===== |
- | enable_damage | + | |
- | </ | + | |
- | TODO: | ||
- | * créer les bases de données pgsql | ||
- | * récupérer le code du jeu mineclone2 dans / | ||
- | * expliquer pourquoi / |
admin/services/minetest/mineclone2.1650715617.txt.gz · Dernière modification : 2022/04/23 12:06 de pitchum