Serveur Minetest avec Raspberry Pi


#1

Dans la suite de ce que j’énonçais dans ce post : Pratiques Éducatives avec Mintest

Nous organisons une soirée autours du jeu vidéo, nous avons décidé de mettre en place un serveur minetest. L’idée de réaliser soit même le serveur est qu’il peut être déployé en local sans connection à internet.

En regardant de plus prêt, je me pose la question de est ce judicieu d’hébergé un serveur minetest sur un Raspberry PI 3B+ et si oui y a t il un systeme plus adapté qu’un autre pour cela ?

Des personnes ont ils/elles déjà propulsé un serveur avec des raspberry pi pour une vingtaine de personnes et si oui comment ?

Dans l’attente de tous vos avis si enrichissant, A+


#2

Petit point avec de nombreuses questions, pour reprendre la démarche j’ai installé raspbian sur un raspberry Pi 3B+.
A partir de là j’ai utilisé ce tutoriel pour mettre le clavier en azerty : La framboise314 speak french, un clavier AZERTY pour le Raspberry Pi puis, après misie à jour du systeme. Je me suis appuyé sur la page de documentation de framasoft pour faire mon installation du serveur minetest

  • Mais l’ajout du depot backport de debian (qui est maintenant en version stretch ne fonctionne pas (il manque la PUBKEY) se pose la question de est possible (et que ça ne détruit pas le syteme d’installer un dépot backport de Debian sur un raspberry Pi, peut être y a il un dépot équivalent spécifique pour Raspbian ?

  • L’installation de minetest-server à l’air de fonctionner mais la commande minetestserver me renvoit toujours à une erreur, quelqu’un a t il des pistes ?

Affaire à suivre


#3

Partager le message d’erreur devrait sensiblement aider les gens à pouvoir t’aider :wink:


#4

Oui en effet tu as raisons c’est plus facile. je viens de re-tenter une installation. Sans ajouter le dépot backport, mais un problème reside, lorsque je lance :

minetestserver --config /home/minetest/minetest.conf

Il me renvoi
bash: minetestserver: commande introuvable

Apres avoir redemarrer le raspberry, il me dit maintenant que la permission est refusé.
et ne peut pas ouvrir

/var/log/minetest/minetest.log

J’ai tous fait en sudo ‘commande’ en esperant que ça n’est pas posé de probleme.

J’espère que ca aidera tant bien que mal les bonnes volontés.


#5

Qu’as-tu fait en “sudo” ? L’installation ? Le lancement de l’application ?

Quels sont les droits sur le chemin et le fichier de log :
ls -l /var/log/minetest


#6

Bonjour Plumf

( Bonjour Mindiell :wink: )

Pour info, la variante de dépôt “backports” est proposée ici (si je ne dis pas de bêtise) pour pouvoir installer une version plus récente du serveur que celle proposée dans les dépôts de base. (https://wiki.debian.org/fr/Backports)

Quoi qu’il en soit, je pense que tu as eu raison d’installer la version propre à Raspbian en omettant la commande echo "deb http://.... Cela t’évite le problème de PUBKEY. D’ailleurs, d’après ce que je peux lire dans les packages du dépôt, c’est la version 0.4.15. La dernière version est la 5.0, mais il ne faut pas se fier à ce nombre car cette version est basée sur la 0.4.16. Donc la 0.4.15 est très récente. Et puis, j’imagine que tu peux te passer des toutes dernières fonctionnalités. (https://dev.minetest.net/Changelog#0.4.16_.E2.86.92_5.0.0)

Sinon, en cherchant un peu, j’ai trouvé quelqu’un qui a tenté la même aventure que toi. (https://www.instructables.com/id/RPI-Minetest-Server-415/) Et au point 12, il dit qu’il faut exécuter la commande suivante pour pouvoir démarrer le serveur et utiliser le fichier de trace (log):

chmod -R a+w /var/log/minetest/minetest.log

Je te conseille de lire le reste des explications sur le site, ça pourrait t’être utile :wink:


#7

Bonjour à vous et merci de vos réponses. j’ai recommencé l’installation à partir de framacloud lorsque je veux lancer le server à partir de l’utilisateur pi il tente de charger le fichier /home/pi/.minetest/… qui n’existe pas car j’ai créer un utilisateur minetest et tous est installé dedans. Mais je n’ai pas donné de mot de passe à l’utilisateur minetest et donc quand je veux me connecter avec cette utilisateur il refuse que je me connecte sans mot de passe.

Dois je créer un mot de passe pour l’utilisateur minetest ?


#8

Je crois que tu devrais modifier les paramètres User et Group dans le fichier /home/minetest/minetest.conf pour qu’ils aient tout deux la valeur minetest


#9

Bonjour Plumf,

Désolé du retard de ma réponse. Prépa d’exam avec le gamin, ma compagne en convalescence, plus le boulot :wink: Mais je ne t’oublie pas.

Maintenant, il se peut que tu aies déjà trouvé comment résoudre ton problème.

Pour répondre à ta question: il ne devrait pas être nécessaire d’initialiser un mot de passe pour minetest. Car c’est lors de la création du service qu’il faudra dire avec quel utilisateur il faudra le démarrer. Et c’est root qui fait cela; donc le mot de passe n’est pas nécessaire.

Avant tout, j’ai encore des erreurs lors du démarrage du serveur. Il me semble que les scripts que l’on trouve sur framinetest ne soient pas compatibles avec la version 0.4.17. Mais je n’en suis pas du tout sûr. Donc wait and see !

Ensuite, voici comment j’ai procédé pour l’instant (en omettant les configurations d’usage du Pi via sudo raspi-config)

Avec le user Pi:

# Créer l'utilisateur minetest ainsi que son répertoire de base
sudo useradd -mU minetest

# Créer les dossiers .minetest/textures et .minetest/worlds dans le répertoire de base
sudo mkdir -p /home/minetest/.minetest/textures /home/minetest/.minetest/worlds

# Changer le "propriétaire" de ses sous-dossiers car pour l'instant ils appartiennent à l'utilisateur root
sudo chown -R minetest: /home/minetest/.minetest/

# Mettre à jour les informations de dépôts (c'est parfois utile pour mettre à jour la liste des serveurs miroirs)
sudo apt-get update

# Installer la version Raspbian de minetest-server
sudo apt-get install minetest-server

# A partir de ce point le serveur minetest est déjà actif
# Il est possible de s'y connecter avec un client minetest 
#
# ( Attention: À ce jour la version du serveur sur Raspbian est la 0.4.14. )
# (            Il faut donc veiller à utiliser un client compatible.       )
# (            La version 0.4.17 est compatible, la 5.0 non                )

# Se positionner sur le répertoire de base de l'utilisateur minetest
cd /home/minetest
# Et y télécharger les mondes et les textures, ainsi qu'un fichier de configuration de base
sudo wget https://framinetest.org/dl/worldmods.tar.gz https://framinetest.org/dl/textures.tar.gz https://framinetest.org/dl/minetest.conf

# Se positionner sur le dossier des textures
cd .minetest/textures
# Et y extraire les textures précédemment téléchargées
sudo tar xvf /home/minetest/textures.tar.gz

# Se positionner sur le dossier des mondes
cd ../worlds
# Y créer un sous dossier de la map avec un nom à soi
sudo mkdir FraminetestEdu
# S'y positionner
cd FraminetestEdu
# Et y extraire les mondes précédemments téléchargés
sudo tar xvf /home/minetest/worldmods.tar.gz

# Faire une sauvegarde du fichier de configuration précédemment téléchargé
sudo cp /home/minetest/minetest.conf /home/minetest/minetest.conf.sav

# Paramétrer le fichier de config à sa mode
# ( Ma méthode nécessite que le résultat se trouve dans le répertoire de base de l'utilisateur pi )
cat /home/minetest/minetest.conf | awk '/^server_name = .*/ { print "server_name = PaliPaloMine"; next } /^server_description = .*/ { print "server_description = Le server Minetest de PaliPalo"; next } /^server_address = .*/ { print "server_address = palipalo.org"; next } /^server_url = .*/ { print "server_url = http://palipalo.org"; next } {print $0}' > ~/PaliPaloTest.conf
# Et le copier à son emplacement définitif
sudo cp PaliPaloTest.conf /home/minetest/minetest.conf

# Rendre l'utilisateur minetest propriétaire de tout ce qui se trouve en dessous 
# du sous dossier .minetest
sudo chown -R minetest: /home/minetest/.minetest

# Permettre à l'utilisateur minetest d'écrire dans le fichier de log 
# en le rajoutant au groupe games 
sudo adduser minetest games
# en octroyant à ce groupe les droits d'écriture sur le dossier /var/log/minetest 
sudo chmod 775 /var/log/minetest
# ainsi que sur le fichier /var/log/minetest/minetest.log
sudo chmod 765 /var/log/minetest/minetest.log

# Arrêter le serveur minetest initialisé par défaut lors de son installation
sudo systemctl stop minetest-server

# Démarrer le serveur minetest configuré par nos soins
sudo /usr/games/minetestserver --config /home/minetest/minetest.conf

Une fois de plus, je rappelle que j’ai des messages d’erreur (à propos du variable S si je me souviens bien)

Ici, je n’ai pas de quoi continuer le truc. Si je sais, je tenterai de faire des avancées durant ma pause midi demain. Ou alors du week-end.


#10

Coucou, je te conseillerai bien de créer un p’tit projet sur https://framagit.org/ et d’y laisser ton script.
Ainsi chacun pourra y ajouter des choses si besoin, ou le faire évoluer. De même ça te servira de point de sauvegarde et tu sauras toujours le trouver :wink:


#11

Salut Mindiell,

Pas bête! Je vais y penser. J’avais déjà un compte Framagit pour y déposer des trucs persos en cours de dev.