Mettre un serveur Minecraft en ligne depuis chez soi

Votre serveur Minecraft est enfin créé et personnalisé avec tous les plugins ainsi que les mods que vous souhatez, il s'agirait maintenant de mettre ce serveur en ligne pour que des gens puissent y accéder. Pour arriver à ce résultat, il faudra que vous appreniez certaines connaissances nécessaires. Loin d'être un guide pas à pas pour mettre votre serveur ligne, je rassemble dans cet article un bon nombre d'informations nécessaires pour y arriver. Je résume chaque titre au maximum pour que vous puissiez être lâchés dans la nature et vous débrouiller avec votre matériel et votre serveur.

Avant de commencer, je tiens à dire que c'est mon pire article en terme de temps de visionnage. Les lecteurs se cassent plus vite qu'il ne le faut pour lancer Vim. Mais étant donné que j'adore les cas désespérés, j'ai décidé de le réécrire presque entièrement. J'impute cela au fait que beaucoup s'attendent à avoir une solution clé en main pour arriver à leur objectif, mais je doute que quelque tutoriel vidéo de 5 minutes puisse réaliser cela. Si vous voulez avoir quelques connaissances en matière de réseaux et de serveurs, qui vous seront utiles pour déployer n'importe quel serveur, lisez cet article, il ne vous en coûtera que quelques minutes, sinon il y a d'autres solutions qui existent.

Les principes à connaître pour mettre un serveur en ligne sont les mêmes pour tout le monde, que vous soyez sur Windows, Mac OS X ou Linux.

Minecraft

La situation initiale

Pour qu'une personne puisse se connecter a un serveur Minecraft, il faut qu'elle ait l'adresse IP publique de l’ordinateur qui héberge le serveur Minecraft et le port distant.

Pour qu'une personne puisse se connecter à un serveur Minecraft, il faut qu'elle franchisse 2 barrières:
  1. Le routeur ainsi que sont pare-feu si il est activé.
  2. Le pare-feu de l’ordinateur qui héberge le serveur.

Comment permettre à un tiers de se connecter à mon serveur Minecraft depuis internet?

Vous avez sans doute entendu parler de réseaux dans votre vie, un réseau est une série d'ordinateurs connectés entre eux par câble ou par Wifi.

Internet est un immense réseau qui connecte des milliards d'ordinateurs entre eux, dont le votre. Internet ne connecte pas seulement les ordinateurs entre eux mais aussi des sous-réseaux.

Si vous voulez que des gens puissent se connecter à votre serveur, il faudra qu'ils se connectent à l'ordinateur qui héberge le serveur directement, hors ce dernier se trouve déjà dans un sous-réseau qu'aura créé le routeur. Ce qui se passe habituellement est que vous allez sur un site internet qui vous donne votre adresse IP publique, mais lorsque vos visiteurs tentent de se connecter à l’adresse, ils ne trouvent aucun serveur.

Question: Mais pourquoi mes utilisateurs ne parvient pas à se connecter à mon serveur Minecraft en utilisant l'adresse IP que je leurs ai donné?

Réponse: Parce que l'adresse que vous avez donné est l'adresse de la première machine à se connecter à internet dans votre réseau local et cette machine c'est le routeur.

Chaque fois que je dis routeur dans cet article, je veux dire par ça n'importe quel appareil dans lequel rentre le câble ADSL ou celui de la fibre optique et auquel vous connectez vos différents appareils pour avoir internet. Le routeur peut être une box un modem, parfois même un appareil auquel vous vous connecter pour recevoir internet si lui même la reçoit ( rappelez vous du point d’accès wifi de votre smartphone, voter smartphone sert dans ce cas précis de routeur). Dans cet article Routeur = Box = Modem

Le routeur :

Root en anglais signifie rediriger.

Le routeur redirige les paquets (trafic) qu'il reçoit vers les appareils connectés à lui via câble ou Wifi. Le routeur ainsi que les appareils connectés vont se trouver dans un réseau qu'on appellera réseau local.

Lorsque vous donnez votre adresse IP publique, les utilisateurs se connectent généralement à votre routeur. A partir de là il faudra configurer le routeurs pour qu'il redirige l’utilisateur vers l'ordinateur qui se trouve dans son réseau et qui héberge le serveur.

Le routeur tout comme internet dispose de son propre réseau et permet entre autres de rediriger les paquets venant d'internet vers les ordinateurs de son réseau en veillant à ce que tout le monde ait ce dont il a besoin.

Le mouvement de ces paquets généré un flux, appelé flux de paquets ou flux du trafic.


Trafic entrant et sortant

Lorsque vous avez besoin d’exécuter une action sur un ordinateur du réseau, vous lui envoyez un petit message qu'on appelle requête et vous recevez en retour une réponse.

La requête est quelque chose que vous envoyez, autrement dit c'est du trafic sortant.
Ce que vous recevez est du trafic entrant.
Ce trafic est spécifique à un programme et passe par un tunnel ou port.

Port

Un port est un tunnel qui permet l’échange de données entre deux programmes. Les ports sont numérotés de 0 à 65535.

Par exemple lorsque vous utilisez un site web, vous utilisez un protocole nommé http, http utilise la plupart du temps le port : 80

Dans le cas d'un serveur Minecraft, il utilise par défaut (car vous pouvez le changer le port) le port : 25655

Les ports sont interchangeables mais les conventions font que certains port sont réservés à un usage particulier.

Il est important aussi de se rappeler que lorsqu'un programme écoute un port, aucun autre programme ne pourra effectuer une écoute sur ce même port. Si vous avez essayé de lancer deux serveurs avec la même configuration et le même port, je parie que le second a échoué.

Quelque soit le type d'adresse IP, pour un port donnée l'adresse plus le port s’écriront à la manière suivante : Adresse:Port

Port TCP ou UDP

Les ports peuvent utiliser TCP et UDP.
Minecraft utilise TCP et UDP.

Les adresses IP

Je ne vous ferai pas le déshonneur d'essayer de vous expliquer ce qu'est une adresse IP pour trois raisons. La première étant que d'autres l'ont très bien fait, mieux que je ne pourrais jamais le faire. La seconde étant que peu ou prou, n'importe qui en a déjà entendu parler. Et la troisième étant que la page Wikipedia est très bien écrite. Par contre, je tiens à faire des rappels sur des notions dont vous aurez besoin.

IPv4 et IPv6

IPv4

Elle a cette forme : X.X.X.X
x est un nombre qui peut aller de 0 à 255.
Le nombre total de combinaisons possibles est 2³² ce qui est insuffisant, tellement insuffisant qu'on a inventé l'IPv6.

IPv6

Elle a cette forme : 5800:10C3:E3C3:F1AA:48E3:D923:D494:AAFF
Cette IP est plus longue et offre donc plus de possibilités. En plus des chiffres, elle contient également les lettres de A à F.
Le nombre possible d'adresses est de 16³² ou 2¹²⁸
Soit facteur 4.

Si vous voulez en savoir plus sur ces chiffres et lettres, je vous recommande de lire la page Wikipedia sur le système hexadécimal, même si ce n'est pas nécessaire pour comprendre le reste de cet article.

Adresse IP statique et dynamique

Au sein de votre réseau local, il est possible de configurer le routeur ou le PC afin qui'il attribue toujours la même adresse IP à un appareil, cela se fait par le biais de l'adresse MAC.

Au sein d'internet, selon que vous ayez une adresse ipv4 ou ipv6, vous aurez plutôt tendance à avoir une IP dynamique pour la V4 et une IP statique pour la V6.

Il est possible de payer son fournisseur afin qu'il vous attribue une adresse IP statique si tel n'ai pas déjà le cas. Il est également possible d'associer votre IP dynamique à un nom de domaine que l'utilisateur utilise l’association nom de domaine:port, au lieu de ip:port. Cela se fait par le biais de services comme dydns.

Adresse IP locale et publique

L'adresse locale permet au appareils d'un même réseau, comme celui du routeur de communiquer entre eux.
Les adresses IP publiques sont des adresses attribuées par le FAI à des ordinateurs afin qu'ils puissent communiquer entre eux sur internet. A peu de choses près, c'est comme des adresses IP locales sur le réseau de l'internet.

Adresse MAC

Vu que j'en ai parlé dans cet article, je tiens quand même à en préciser le fonctionnement. C'est une adresse que possède votre carte réseau et elle est unique.
Tout ce qui vous devez savoir dans le cadre de cet article, c'est que l'adresse IP locale si elle est configurée comme statique utilisera cet identifiant unique pour lui attribuer toujours la même adresse IP locale.
Imaginez que vous configuriez l'adresse IP locale en statique alors que vous êtes en WIFI, et puis qu'un jour vous décidiez de faire passez votre serveur en Ethernet (câblé). Comme votre carte réseau Wifi, aura une adresse mac différente de celle de la carte réseau Ethernet, l'adresse IP que vous attribuera le routeur sera différente, voire causera un conflit d'IP si vous forcez la configuration de votre système d'exploitation à utiliser la même IP pour une carte réseau différente.

Retour au problème :

Nous avions dis précédemment que les utilisateurs qui avaient votre IP publique restaient bloqués au niveau du routeur sans pouvoir accéder au serveur. Il fallait configurer le routeur pour qu'il redirige le trafic entrant spécifique à Minecraft, envoyé par votre utilisateur, vers l’ordinateur qui héberge le serveur et qui se trouve au sein de votre réseau local. Cela se fait par le biais de la redirection de port ou port forwarding

Redirection de port - Port forwarding

Le port forwarding permet de rediriger du trafic entrant à notre routeur en trafic entrant vers l'ordinateur qui héberge le serveur.  Comme expliqué précédemment, le trafic empreinte un port. Donc il faudra rediriger le trafic qui veut passer par le port spécifié par l'utilisateur et qui se retrouve coincé au niveau du routeur vers le port 25655 de l'ordinateur qui héberge le serveur.

Exemple théorique de redirection de port

Sara : 7 ans et demi, veut se connecter au serveur.
Luffy: 13 ans trois quarts héberge le serveur.
Luffy donne à Sara la combinaison gagnante (ip_publique:port_distant): 82.68.78.254:7117
L'adresse IP Locale du serveur: 192.168.1.5
Il n'a pas spécifié de port particulier pour le serveur Minecraft, donc en local son port est : 25565

Dans cette, situation le redirection de port aura pour but de rediriger le trafic du port distant 7117 vers le port local 25565.

Le pare-feu

L'ordinateur qui sert de serveur est dans beaucoup de cas protégé par un pare-feu (ang. firewall) dont le rôle principal est de contrôler le trafic que reçoit l’ordinateur.
A moins d'être très soucieux de la sécurité, la plupart des gens mettent leur pare-feu en moyen ou faible sur leur ordinateur pour être ennuyés le moins possible par des notifications. Ce paramètre couvre le trafic sortant de l'ordinateur, mais pour ce qui est du trafic entrant vers l’ordinateur, à moins que le pare-feu ne soit complètement désactivé, il bloque l'accès aux applications qui ne sont pas configurées. Cela empêche les ordinateurs distants, qu'il soient sur votre réseau local ou internet de se connecter à l’application en utilisant un port. Cela est fait principalement par mesure de sécurité.

Même le routeur à son propre pare-feu, qu'il faudra configurer si vous avez un problème lors de la redirection du trafic. Néanmoins, celui-ci est rarement configuré suffisamment sérieusement, pour qu'il pose un quelconque problème.

Il faudra donc penser à créer une règle sur le pare-feu qui autorisera les connexions entrantes qui utilisent le port local du serveur Minecraft (25565).
De même, si le routeur dispose d'un pare-feu qui vous bloque, il faudra également penser à créer une règle sur ce dernier.

L'isolation AP

L'isolement AP est utilisé pour protéger les appreils contre les attaques d'autres appareils du même réseau. Lorsque cette fonction est activée, l'appareil isole tous les clients connectés au sein d'un même réseau sans fil, ce qui améliore la sécurité du réseau des utilisateurs.
Il faudra donc penser à désactiver cette option sur votre routeur si vous prévoyez de connecter votre serveur au routeur par le biais du Wifi.

Conclusion

Si vous êtes arrivé jusque là, je vous félicite. J’espère que vous avez maintenant compris ce que vous avez à faire pour enfin proposer votre serveur au reste du monde. Si cet article vous a aidé à faire cela, je vous invite à le partager aux personnes qui sont intéressés par ce genre de choses et me laisser un commentaire pour me dire que vous y êtes arrivé, en précisant votre os votre version de Minecraft et les problèmes que vous avez rencontré.

Aucun commentaire:

Fourni par Blogger.