Bonjour, Habr ! Plus précisément, aux personnes cherchant à créer un serveur Minecraft pour jouer avec des amis.
Cet article est destiné aux non-programmeurs, non-administrateurs système, en gros, pas à l'audience principale de Habr. L'article fournit un guide étape par étape sur la création d'un serveur Minecraft avec une adresse IP dédiée, adapté aux personnes éloignées de l'informatique. Si ce n'est pas vous, il serait préférable de passer cet article.
Qu'est-ce qu'un serveur ?
Alors, qu'est-ce qu'un serveur ? Si l'on se base sur le terme "serveur" comme un composant logiciel, un serveur est un programme capable de recevoir, traiter et transmettre des données provenant d'utilisateurs (clients) qui se connectent à ce serveur. Prenons l'exemple d'un site web : le site se trouve sur un certain serveur web, auquel vous accédez via un navigateur. Dans notre cas, le serveur Minecraft génère un monde auquel se connectent des joueurs (clients) qui peuvent se déplacer, casser des blocs, etc. Le serveur Minecraft est responsable de la connexion des joueurs et de toutes leurs actions.
Évidemment, le serveur doit être exécuté sur un ordinateur (machine). Vous pouvez créer un serveur sur votre ordinateur personnel, mais dans ce cas :
- Vous compromettez la sécurité de votre propre ordinateur en ouvrant des ports dessus.
- Le serveur va solliciter votre ordinateur, ce qui peut gêner son utilisation.
- Vous ne pouvez pas maintenir votre ordinateur personnel en état de marche 24/7 : il arrive que vous l'éteigniez, parfois votre ordinateur perd la connexion à Internet, etc.
- Pour accéder à votre serveur depuis le monde extérieur, il faudra se connecter à l'ordinateur via une adresse IP, qui est chez les fournisseurs d'accès internet "domestiques" dynamique, c'est-à-dire qu'il peut changer tous les 2-3 jours pour des raisons qui échappent à votre contrôle.
Et comment allons-nous résoudre ces problèmes ?
La solution à tous ces problèmes est d'utiliser une machine virtuelle avec une adresse IPstatique
, c'est-à-dire immuable.
Terminologie complexe ? Déchiffrons cela.
Référons-nous à Wikipédia.Une machine virtuelle (VM, pour virtual machine en anglais) est un système logiciel et/ou matériel qui émule le matériel d'une certaine plateforme...
Pour l'expliquer de façon très simpliste — c'est un ordinateur dans un ordinateur. On peut également y installer un système d'exploitation et l'utiliser comme un ordinateur ordinaire.
Où allons-nous la trouver ? C'est une plateforme qui propose de nombreux services cloud utiles pour tous ceux qui travaillent avec le web et au-delà. Pour créer un serveur Minecraft, l'un des produits AWS conviendra parfaitement — Amazon EC2 — une machine virtuelle cloud disponible 24/7. AWS propose une machine virtuelle minimale (10 Go SSD, 1 Go RAM) gratuite pendant un an, en plus, elle permet de lier une adresse IP statique (fixe) gratuite pour un accès permanent à votre machine virtuelle (VM) à la même adresse.
Créons et configurons la VM
Rendez-vous sur le site et inscrivez-vous. Ensuite, accédez à la console de gestion.

Dans la console, trouvez les services et sélectionnez EC2 et y accédez.
Il est important de choisir un centre de données, autrement dit, l'endroit où se trouvent les serveurs d'Amazon. Le choix doit dépendre de votre emplacement, car la vitesse de connexion sur Internet varie, et il est conseillé de choisir un centre de données avec lequel votre ville aura la communication la plus rapide.

Pour choisir un centre de données, je recommande d'utiliser le service , qui mesure la vitesse de transmission des paquets vers d'autres villes.
Dans mon cas (Ville de Moscou), le centre de données irlandais m'a convenu.
Il est temps de créer la machine virtuelle. Pour cela, allez à l'onglet Lancer l'instance

Commençons la configuration de la VM.
1) Choisissons l'image du système d'exploitation. Pour démarrer des serveurs, Linux est très pratique, nous allons utiliser la distribution CentOS7
Il convient de noter qu'il n'y aura pas d'interface graphique sur votre machine virtuelle, l'accès se fera via la console. Cela implique de gérer la VM par des commandes plutôt que par une souris. Ne vous inquiétez pas : cela ne devrait pas vous arrêter maintenant ni vous faire renoncer à l'idée de créer votre serveur Minecraft, car c'est "trop compliqué". Travailler avec la machine par la console n'est pas difficile — vous vous en convaincrez bientôt.

2) Maintenant, définissons la configuration technique de la VM. Pour un usage gratuit, Amazon propose la configuration t2.micro, ce qui est un peu juste pour un grand serveur Minecraft complet, mais suffisant pour jouer avec des amis.

3) Nous laissons les autres paramètres par défaut, mais nous nous arrêtons à l'onglet Configurer les groupes de sécurité.

Ici, nous devons configurer l'accès aux ports pour le serveur Minecraft.
Pour expliquer simplement, un port est un nombre non négatif indiquant à qui sont destinées les données entrantes du monde extérieur. Plusieurs services et serveurs peuvent être présents sur une machine virtuelle, c'est pourquoi tous les paquets de données entrants contiennent dans leur en-tête le port (numéro) du destinataire (service, serveur) à l'intérieur de la machine virtuelle.
Pour les serveurs Minecraft, l'utilisation du port est de facto la norme. 25565. Ajoutons une règle indiquant que l'accès à votre machine virtuelle via ce port est autorisé.


Passons à la fenêtre de finalisation de la création de la machine virtuelle en cliquant sur le bouton Review and Launch
Configuration d'une paire de clés SSH pour la machine virtuelle
Ainsi, la connexion à la machine se fera par le protocole SSH.
Le protocole SSH fonctionne comme suit : une paire de clés (publique et privée) est générée, la clé publique est stockée sur la machine virtuelle, tandis que la clé privée est conservée sur l'ordinateur de la personne qui se connecte à la machine virtuelle (client). Lors de la connexion, la machine virtuelle vérifie la présence de la clé privée appropriée chez le client.
Cliquez sur le bouton Launch. Une nouvelle fenêtre s'affichera :

Entrez le nom de la paire de clés (pour votre confort) et cliquez sur Download key pair. Un fichier .pem sera téléchargé contenant votre clé privée. Cliquez sur le bouton Launch instances. Vous venez de créer une machine virtuelle, sur laquelle un serveur sera déployé.
Obtenons une IP statique
Maintenant, nous devons obtenir et lier une IP statique à notre machine virtuelle. Dans le menu, nous trouvons l'onglet Elastic IPs et y accédons. Dans l'onglet, cliquez sur le bouton Allocate Elastic IP address et obtenez une IP statique.

Nous devons maintenant lier l'adresse IP obtenue à notre machine virtuelle. Pour cela, sélectionnons-la dans la liste et dans le menu Actions choisissons Associate IP address

Ensuite, lierons la machine virtuelle à notre adresse IP.

C'est fait !
Connectons-nous à la machine virtuelle.
Maintenant que la machine virtuelle est configurée et que l'adresse IP est liée, connectons-nous et installons notre serveur Minecraft.
Pour se connecter à la machine virtuelle via SSH, utilisons le programme . Installez également PuTTYgen depuis cette même page.
Après avoir installé PuTTY, ouvrez-le. Maintenant, il est nécessaire de configurer la connexion.

- Dans l'onglet Session sélectionnez le type de connexion SSH, port 22. Indiquez un nom pour la connexion. Le nom d'hôte pour la connexion SSH ressemble à une chaîne de type :
nom_utilisateur@dns_public.
Le nom d'utilisateur par défaut dans AWS pour CentOS est centos. Vous pouvez voir votre DNS public ici :

J'ai obtenu la chaîne centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- Dans l'onglet SSH -> Auth indiquez votre clé SSH privée. Elle est stockée dans un fichier.
.pem, que nous avons téléchargé précédemment. Mais PuTTY ne peut pas travailler avec des fichiers.pem, il a besoin d'un format.ppk. Pour la conversion, nous utiliserons PuTTYgen. . Le fichier obtenu.ppkNous l'enregistrerons et indiquerons ici :

- Nous nous connectons à la VM en ouvrant la connexion avec le bouton Ouvrir.
Félicitations ! Nous venons de nous connecter à la console de votre VM. Il ne reste plus qu'à déployer notre serveur dessus.
Installation et configuration du serveur Minecraft
Commençons par configurer notre serveur. Pour commencer, nous devons installer quelques paquets sur notre VM.
sudo yum install -y wget mc iptables iptables-services java screenVoyons à quoi sert chaque paquet.
- wget — un utilitaire pour télécharger des fichiers sous Linux. Grâce à lui, nous téléchargerons les fichiers du serveur.
- mc — un éditeur de texte en console. Il se distingue par sa simplicité et sa facilité d'utilisation pour un utilisateur non expérimenté.
- iptables — un utilitaire pour gérer et configurer le pare-feu, grâce à lui nous ouvrirons le port pour le serveur sur notre VM.
- java — Minecraft fonctionne sur Java, il est donc nécessaire au fonctionnement du serveur.
- screen — un gestionnaire de fenêtres pour Linux. Il nous permettra de dupliquer notre console pour lancer le serveur. En fait, le serveur doit être lancé via la console, si vous vous déconnectez de votre VM, le processus du serveur sera arrêté. Nous allons donc le lancer dans une fenêtre de console séparée.
Maintenant, configurons le pare-feu.
Un pare-feu (firewall) — élément logiciel ou logiciel/hardware d'un réseau informatique, qui contrôle et filtre le trafic réseau qui le traverse selon des règles définies. (Wikipedia)
Pour expliquer simplement : imaginez une ville fortifiée. Elle est constamment attaquée de l'extérieur, tout en vivant une vie normale à l'intérieur. Pour accéder à la ville, il y a des portes dans le mur de la forteresse où des gardes vérifient les listes pour savoir si une personne peut y entrer. Le rôle du mur et des portes dans les réseaux informatiques est joué par le pare-feu.
sudo mcedit /etc/sysconfig/iptablesNous venons de créer un fichier de configuration pour le pare-feu. Remplissons-le avec les données de configuration standard, en y incluant la règle pour le port 25565, qui est le port standard pour le serveur Minecraft.
*filtrer
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMITFermons le fichier par une pression F10, en sauvegardant les modifications.

Nous allons maintenant démarrer le pare-feu et l'activer au démarrage :
sudo systemctl enable iptables
sudo systemctl restart iptablesNous allons stocker les fichiers du serveur dans un dossier séparé, créons-le, accédons-y et téléchargons les fichiers du serveur. Pour cela, utilisez wget
mkdir minecraft
cd minecraft
wgetIl est nécessaire de trouver le lien direct pour le téléchargement .jar du fichier du serveur. Par exemple, le lien pour le fichier du serveur version 1.15.2 :
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarVérifiez le contenu du dossier avec la commande ls, assurez-vous que les fichiers ont bien été téléchargés.

Démarrons le fichier du serveur. Actuellement, le serveur ne fonctionnera pas : il va créer tous les fichiers nécessaires à son fonctionnement et signaler que vous n'avez pas accepté les conditions de la licence EULA. Acceptez les conditions en ouvrant le fichier eula.txt
sudo mcedit eula.txtConfirmez votre accord en modifiant l'enregistrement en :
eula=trueOuvrez le fichier server.properties: c'est le fichier de configuration de votre serveur.
Vous devez obligatoirement apporter la modification suivante :
online-mode=falseLes autres paramètres sont à votre convenance.
Démarrage du serveur
Il est temps de lancer le serveur. Comme je l'ai déjà dit, le serveur se lance directement depuis la console, mais si nous fermons la console principale — le processus du serveur sera arrêté. Donc, créons une autre console :
screenDans cette console, lançons le serveur :
sudo java -Xms512M -Xmx1024M -jar .jar --noguiLe serveur met environ 45 secondes à démarrer, ne coupez pas le processus. Lorsque le serveur sera initialisé et lancé, vous verrez quelque chose comme :

Félicitations ! Vous venez de créer et de démarrer votre serveur Minecraft. Il est maintenant important de sortir correctement de la deuxième console, afin qu'elle continue à fonctionner avec le serveur lancé. Pour cela, appuyez sur Ctrl+A, puis D. Vous devriez vous retrouver dans la console principale et voir un message du type [détaché de 1551.pts-0.ip-172-31-37-146]. Si vous avez besoin de revenir à la console où le serveur est en cours d'exécution, utilisez screen -r
Vous pouvez maintenant vous déconnecter de votre VM. Votre serveur sera accessible via une adresse IP statique, que nous avons obtenue précédemment, sur le port 25565.

Ainsi, l'adresse pour accéder au serveur sera :25565.
Conclusion
Avec ce guide, vous pourrez créer facilement un serveur Minecraft gratuit avec une IP dédiée. Cet article est rédigé dans un langage simple et est destiné aux non-spécialistes. C'est pourquoi il serait intéressant d'entendre les commentaires des experts, car en simplifiant le matériel, il est possible de commettre des erreurs terminologiques.
Source : habr.com
