Install serveur Minecraft


Voici un tutoriel complet sur les bases pour héberger un serveur Minecraft sur le serveur de LanPartIIE.

Les prérequis

Authentification SSH 🔑

Pour pouvoir héberger un serveur Minecraft sur le serveur de LanPartIIE (actuellement Wheatley), il est impératif de pouvoir établir une connexion avec le serveur pour : transférer des fichiers, les gérer, pouvoir gérer le serveur Minecraft (il parait que pouvoir lancer le serveur peut être utile /).


La connexion au serveur se fait grâce au protocole SSH. Si tu ne sais pas ce que c’est SSH, en gros c’est un protocole qui permet d’établir une connexion sécurisée entre deux machines distantes. Pour en savoir plus sur SSH tu peux aller faire un tour sur cette présentation.


Pour pouvoir établir une connexion SSH simplement, tu dois fournir une clé SSH publique à un membre compétent de l’association qui l’ajoutera au serveur (n’hésite pas à demander sur le serveur discord de LanPartIIE). Si tu n’as pas de clé SSH et que tu ne sais pas comment faire, je te conseille de suivre ce tutoriel pour générer une nouvelle clé SSH. Tu peux aussi suivre le tutoriel de la présentation indiquée juste avant.

Attention ! Pour des raisons de sécurité, la connexion au serveur ne doit surtout pas se faire via mot de passe. Uniquement via clé SSH !


Arborescence du serveur 🌲

Quand vous vous connectez au serveur, vous atterrissez dans le home de root (le répertoire root à la racine), la raison est juste en dessous.


Le répertoire utilisé pour héberger les serveurs Minecraft se trouve au chemin suivant : /mnt/data/minecraft/

Les répertoires de chaque serveur Minecraft actif se trouvent dans le dossier actives (/mnt/data/minecraft/actives/<répertoire du serveur>).


Connexions au serveur LanPartIIE 🔌

Pour te connecter au serveur de LanPartIIE, tu vas pouvoir utiliser plusieurs protocoles (selon les actions que tu veux y faire).


De manière générale :

  • le nom d’utilisateur : root

  • l’adresse du serveur : wheatley.iiens.net

  • port : pas de port spécifique

  • mot de passe : pas de mot de passe (merci SSH)

Vous devriez donc avoir ça dans vos commandes : root@wheatley.iiens.net

Attention : Vous vous connectez en root au serveur, c’est-à-dire “l’utilisateur suprême”. Attention donc à ne pas faire de bêtises !

Attention : Lorsque vous vous connectez, vous atterrissez dans le home de root. Pensez donc bien à vous placer sans attendre dans le répertoire /mnt/data (éventuellement directement dans le répertoire du serveur Minecraft) pour ne pas faire de bêtises !


Connexion en SFTP

SFTP est un protocole, utilisant SSH pour la connexion, qui permet le transfert de fichiers entre deux machines distantes, dans un sens comme dans l’autre, de manière sécurisée (d’où son nom de Protocole Sécurisé de Transfert de Fichiers).


Connexion avec sshfs

La commande sshfs est une commande permettant de “monter” le système de fichier d’un serveur distant sur sa machine, comme si c’était votre ordi ! Cela vous permet ensuite de copier coller facilement des fichiers.


La première étape est d’installer le paquet (facile sur debian apt install sshfs). Puis en faisant la commande sshfs user@serveur_addresse:chemin_vers_le_fichier_a_monter cible_de_montage. Si vous avez un dossier vide miaou, pour monter le dossier vers les serveurs minecraft, il suffit de faire :

sshfs root@wheatley.iiens.net:/mnt/data miaou


En faisant ensuite ls miaou vous voyez tous les dossiers du serveur apparaître.

sshfs utilise en arrière plan le protocole sftp et c’est super pratique !! (plus besoin d’apprendre toute les commandes relou de STFP et on peut utiliser son vsCode et ça fonctionne niquel).


Connexion à la mano

Exécuter la commande sftp root@wheatley.iiens.net transformera votre terminal en un “presque terminal” du serveur distant dans lequel vous pourrez exécuter quelques commandes de base.

Attention : pensez bien à vous placer dans le répertoire dédié aux serveurs Minecraft.
Soyez d’autant plus vigilants à votre répertoire courant car le terminal SFTP ne l’affiche pas.
Abusez des commandes pwd et ls !


Puisque ce protocole sert au transfert de fichiers, le terminal reste lié au répertoire local courant du terminal au moment de l’exécution de la commande. Autrement dit : avant d’exécuter sftp, pensez à vous placer dans le répertoire local avec lequel vous voulez travailler pour vous simplifier la vie.

Commandes de base du terminal SFTP

Commande

Description

exit

Permet de mettre fin à la connexion (quitter SFTP) et revenir dans le terminal local.

cd <chemin>

Permet de naviguer dans l’arborescence de la machine distante.

lcd <chemin>

Permet de naviguer dans l’arborescence de la machine locale.

pwd

Permet d’obtenir le chemin du répertoire courant, depuis la racine, sur la machine distante.

lpwd

Permet d’obtenir le chemin du répertoire courant, depuis la racine, sur la machine locale.

ls [options] [chemin]

Permet d’afficher le contenu du répertoire courant sur la machine distante.

lls [options] [chemin]

Permet d’afficher le contenu du répertoire courant sur la machine locale.

put [options] <local> [distant]

Permet d’uploader le fichier (ou répertoire) de chemin local sur la machine distante au chemin distant (et éventuellement de le nommer différemment)

get [options] <distant> [local]

Permet de télécharger le fichier (ou répertoire) de chemin distant sur la machine locale au chemin local (et éventuellement de le nommer différemment)

help

Affiche toutes les commandes du terminal SFTP


Connexion SSH

Pour tout ce qui sort du transfert de fichiers, c’est le protocole SSH qui est utilisé (et vivement recommandé, même pour les commandes disponibles en SFTP).


Exécuter la commande ssh root@wheatley.iiens.net établira la connexion avec la machine distante, ce qui transformera votre terminal en un vrai terminal de la machine distante.

Pour terminer la connexion (et ainsi sortir du terminal de la machine distante), il suffit d’exécuter la commande exit ou ctrl+d.

Attention (encore) : pensez bien à vous placer dans le répertoire dédié aux serveurs Minecraft !


Le serveur Minecraft ⛏️

On fera ici l’impasse sur “Comment mettre en place un serveur Minecraft ?” mais si vous ne savez pas comment faire, vous trouverez un tutoriel suffisant ici. On se concentrera plutôt sur la mise en place et la gestion du serveur Minecraft sur le serveur de LanPartIIE.


Pour la suite, nous partons donc du principe que vous avez un serveur Minecraft, fonctionnel, en local.


Les prérequis (côté serveur Minecraft)

Il y a peu de choses requises pour que le serveur fonctionne correctement sur le serveur de LanPartIIE.

Voici ce à quoi vous devez faire attention :

  • Port du serveur : assurez-vous que le port du serveur Minecraft (configuré dans le fichier server.properties, à l’option server-port) soit un port disponible du serveur LanPartIIE. Il y a une plage de port disponible qui est fournit par ARISE mais tapez a côté des ports déjà utilisé par les serveurs précédent

    • (trouvez-les avec grep -i "server-port" /mnt/data/minecraft/actives/*/server.properties)

  • Script de démarrage :

    • l’option --nogui : elle doit être présente dans le script de lancement,

    • il doit être en shell, puisque le serveur LanPartIIE tourne sous Linux.

      • Il est intéressant de garder l’extension “.sh” du fichier de script pour ne pas le confondre avec un script d’un autre langage.

Upload du serveur Minecraft

Pour uploader le serveur Minecraft, la meilleur solution est la suivante :

  1. Créer une archive du dossier local qui contient le serveur Minecraft.

  2. Se connecter au serveur LanPartIIE avec sftp (ou monter le serveur distant avec sshfs) et se placer dans le dossier /mnt/data/minecraft/actives/.

  3. Créer le répertoire qui va accueillir le serveur Minecraft (en général <version minecraft>_<ce à quoi il sert>) puis se placer dedans.

  4. Uploader l’archive du serveur Minecraft grâce à la commande put <nom de larchive> (cette étape peut prendre un peu de temps). (faire un cp <source> <destination> si vous êtes en sshfs)

  5. Extraire les fichiers de l’archive.

  6. Vous pouvez maintenant mettre fin à la connexion sftp grâce à la commande exit. (ou démonter le système de fichier avec umount)


A présent, vous devriez avoir tous les fichiers du serveur Minecraft sur le serveur LanPartIIE, dans le répertoire du serveur Minecraft.

Il reste encore quelques étapes pour que tout se passe bien au moment de lancer le serveur :

  1. Reconnectez-vous au serveur mais en ssh (ssh root@wheatley.iiens.net) cette fois pour avoir une meilleur amplitude d’action.

  2. Pour des raisons de sécurité : il est impératif que les fichiers du serveur Minecraft aient pour propriétaire l’utilisateur “minecraft”. Pour ça :

    1. placez-vous dans le répertoire des serveurs Minecraft actifs (/mnt/data/minecraft/actives/)

    2. exécutez la commande chown -R minecraft:minecraft ./<répertoire du serveur>

  3. Il faut également ajouter les permissions d’exécution du script de lancement au propriétaire :

    1. placez-vous dans le répertoire du serveur Minecraft

    2. exécuter la commande chmod u+x <fichier du script> (ce qui donnera sûrement chmod u+x start.sh)

Il est impératif de mettre l’utilisateur “minecraft” comme propriétaire des fichiers !


Tout devrait être prêt pour lancer le serveur !


Lancement du serveur

Avant de se précipiter, il y a quelques étapes TRÈS IMPORTANTES à effectuer avant de lancer le serveur.

Il ne faut ABSOLUMENT JAMAIS lancer un serveur Minecraft en tant qu’utilisateur root !

Ne lance pas les serveurs Minecraft depuis ton terminal, le fermer/éteindre ton pc arrêterait le serveur (pas pratique).


Pour lancer correctement un serveur Minecraft :

  1. Se connecter en ssh au serveur LanPartIIE et se placer dans le répertoire du serveur Minecraft.

  2. “Devenir” l’utilisateur minecraft en exécutant la commande su minecraft (substitute user).

  3. Ouvrir un terminal persistent en exécutant tmux. Ton terminal se transformera en un nouveau terminal tmux que tu pourras quitter puis retrouver :

    1. pour quitter le terminal tmux sans fermer le processus : CTR + B puis D

    2. pour ouvrir un ancien terminal tmux :

      1. afficher la liste des terminaux disponibles avec tmux ls

      2. ouvrir le terminal avec tmux attach -t <indice> (tmux a pour ouvrir le plus récent)

  4. Tu peux maintenant exécuter le script de lancement simplement en appelant le fichier start.sh
    Le terminal tmux sera remplacé par la console du serveur Minecraft, jusqu’à ce qu’il soit arrêté.

Connexion au serveur Minecraft

Pour vous connecter au serveur Minecraft, rien de plus simple !

Ajoute un nouveau serveur Minecraft dans l’onglet dédié du jeu.


L’IP du serveur sera : wheatley.iiens.net:<port configuré>



Bon jeu ! 😀​ ⛏️