Ceci est une ancienne révision du document !
Table des matières
Mineclone2
Mineclone2 est clone de Minecraft.
C'est un jeu sous licence GPLv3, développé à partir du le moteur de jeu Minetest, sous licence LGPL 2.1.
Avant d'installer cette instance, il est nécessaire d'installer minetest.
Configuration du service
- port TCP dédié : 30009 (on rejoint le serveur sur minetest.chapril.org:30009)
- configuration systemd dans
/etc/minetest/30009-mineclone2.conf
(on utilise le serviceminetest-server@30009-mineclone.service
) - instance située dans
/srv/minetest.chapril.org/instances/30009-mineclone2
- 2 bases de données postgresql :
minetest-users-mineclone2
etminetest-world-mineclone2
Jeu
Le jeu est disponible sur contentDB.
On l'installe via git dans le répertoire /srv/minetest.chapril.org/home/.minetest/games/
.
cd /srv/minetest.chapril.org/home/.minetest/games/ git clone https://git.minetest.land/MineClone2/MineClone2.git mv MineClone2 mineclone2 && cd mineclone2 git checkout -b chapril-ludo
La création de la branche chapril-ludo
servira pour la mise à jour du jeu, voir la section dédiée plus bas.
Mods
Un travail de recherche et de comparaison a été fait et est consultable sur https://wiki.april.org/w/Chapril:services:minetest:revue_mods
Pour la gestion du serveur
eXtended Ban 2
cd /srv/minetest.chapril.org/home/.minetest/mods git clone https://github.com/minetest-mods/xban2.git
Filter
cd /srv/minetest.chapril.org/home/.minetest/mods git clone https://github.com/minetest-mods/filter.git
Antigrief ??
On a repéré trois mods à tester :
- Areas
- Protector
- Antigrief
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 world.mt
placé dans le répertoire de l'instance :
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 load_mod_xxx = true load_mod_xxx = true load_mod_xxx = true load_mod_whitelist = false
On crée les bases de données postgres :
su - postgres psql CREATE DATABASE "minetest-users-mineclone2" WITH OWNER minetest; CREATE DATABASE "minetest-world-mineclone2" WITH OWNER minetest;
Vérification par principe
chown -R Debian-minetest:minetest /srv/minetest.chapril.org/home/.minetest chown -R Debian-minetest:games /srv/minetest.chapril.org/instance/30009-mineclone2
Démarrage du service
systemctl start minetest-server@30009-mineclone2.service
Mise à jour du jeu
chapril-ludo
et on créé localement un tag sur la révision git actuelle avant chaque tentative de mise à jour.
cd /srv/minetest.chapril.org/home/.minetest/games/mineclone2/ git tag chapril-ok-$(date +%F) # pour un éventuel retour en arrière git fetch --all git pull origin master 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 tag
qu'on avait créé.
cd /srv/minetest.chapril.org/home/.minetest/games/mineclone2/ # si jamais vous étiez parti ailleurs :) git tag | grep chapril # pour retrouver votre tag, par exemple "chapril-ok-2023-01-15" ici 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'ancienne branche git switch -c chapril-ludo # on recréé la branche git branch -D chapril-ludo-broken # on jette l'ancienne systemctl restart minetest-server@30009-mineclone2.service