Aller au contenu

[VPS Oracle] Créez votre propre serveur Minecraft gratuit à vie

·21 mins· 0 · 0 ·
Tuto VPS Oracle Serveur Minecraft Gratuit à vie
JustinType
Auteur
JustinType
Ingénieur Cybersécurité et Joueur de CTF
Sommaire
VPS Oracle - Cet article fait partie d'une série.
Partie 1: Cet article

Introduction #

Cet article vous guide dans la création d’un serveur de jeu Minecraft gratuit à vie en utilisant l’offre “Always Free” d’Oracle Cloud Infrastructure (OCI).

OCI n’est pas la seule solution possible pour créer votre propre serveur Minecraft, cependant je pense qu’elle est la meilleure solution du marché disponible actuellement, et voici pourquoi :

Autres solutions #

Pour faire son propre serveur Minecraft, il y a généralement 3 solutions :

  • Héberger son serveur sur sa propre machine
  • Utiliser un hébergeur spécialisé gratuit type Aternos
  • Utiliser un hébergeur généraliste payant type OVH

choices

Utiliser sa propre machine est gratuit (si on ne compte pas l’électricité consommée) et permet d’avoir le contrôle total sur son serveur, en revanche cela nécessite d’avoir une machine avec de bonnes performances et une connexion Internet rapide sans quoi le serveur ne sera pas de bonne qualité.

De plus il sera nécessaire d’ouvrir certains ports sur votre routeur Internet (votre box wifi) pour permettre à vos amis de se connecter à votre serveur. Cela peut être difficile à réaliser en fonction de votre fournisseur d’accès Internet (FAI) et cela peut comporter des risques de sécurité pour toutes les personnes utilisant le routeur. Enfin, le serveur ne sera accessible que lorsque votre machine sera allumée (si vous éteignez votre ordianteur, le serveur sera fermé).

C’est une solution que je ne recommande pas mais qui est cependant possible.

Utiliser un hébergeur spécialisé comme Aternos est gratuit, simple et rapide. En effet, une fois votre compte créé, on peut très rapidement générer un serveur Minecraft qui sera tout de suite accessible et jouable.

En revanche ce serveur ne pourra accueillir que 10 personnes maximum et ne peut être qu’en Vanilla (pas de plugins, de mods ou de maps personnalisées). Si vous voulez débloquer ces fonctionnalités vous devrez payer. De plus, vous n’avez aucun contrôle sur le serveur, ce qui veut dire qu’à n’importe quel moment Aternos peut le supprimer. Ceci arrive régulièrement car ils ne possèdent pas des serveurs de façon illimité, pour pouvoir proposer leur service à suffisamment de monde ils doivent donc trier.

Généralement si votre serveur est inactif plus d’une ou deux semaines celui-ci se fera supprimer pour être donné à autre utilisateur. Et oui, utiliser des services cloud c’est en réalité utiliser l’ordinateur de quelqu’un d’autre, si ce service est gratuit n’oubliez pas que le réel propriétaire de la machine peut faire ce que bon lui semble.

matrix_cloud

C’est donc une solution que je recommande uniquement si vous souhaitez un petit serveur Vanilla rapidement et que vous ne comptez pas beaucoup jouer dessus.

Utiliser un hébergeur généraliste payant comme OVH règle le soucis du contrôle, en effet vous payez une certaine somme par mois pour un VPS. Pour rappel VPS signifie “Virtual Private Server”, comme indiqué dans le nom, ce serveur est privé, votre hébergeur vous le fournit et n’y touchera pas tant que vous payez même si ça n’exclus pas des potentiels problèmes physiques comme un incendie des locaux. Comme vous avez le contrôle total sur ce serveur rien ne vous empêche d’en faire un serveur de jeu mais aussi un petit cloud personnel ou un serveur VPN…

C’est selon moi la meilleure solution, malheureusement celle-ci est payante. Plus vous avez besoin d’un VPS puissant plus le coût sera élevé, voici un aperçu des prix chez OVH :

OVH_prices

OCI est également un hébergeur généraliste payant, cependant grâce à son offre “Always Free” nous obtenons une solution gratuite qui règle les principaux soucis des autres solutions, ce qui en fait selon moi la meilleur offre du marché disponible actuellement !

Nous pouvons maintenant créer notre serveur Minecraft

Serveur Minecraft Vanilla #

Il est fortement conseillé de lire l’introduction à cette série, car j’y présente l’offre “Always Free” d’OCI que nous allons utiliser. Des notions comme la création d’une VM, l’allocation de ses ressources, comment y accéder, transférer des fichiers, etc, y ont été abordées.

Thumbnail Introduction OCI
→ Lire l'introduction de la série

Une fois l’introduction suivie vous devriez posséder un compte Oracle et une VM (instance) dédiée à votre serveur Minecraft, vous pouvez désormais suivre les étapes décrites ci-dessous :

Installer java #

Tout serveur Minecraft a besoin de java pour fonctionner cer les fichiers utilisés par celui-ci sont écrits dans ce langage de programmation. Nous allons donc installer le “Java Development Kit” (JDK) sur notre instance afin de faire fonctionner notre serveur. Pour trouver la dernière version disponible voici la commande à exécuter :

yum list jdk*

Install Java

Ne soyez pas surpris, j’utilise le terminal Hyper, l’apparence est légèrement différente mais les commandes ne changent pas

Nous allons installer la dernière version “headless”, cette version peut être différente pour vous, prenez la dernière version disponible, voici la commande à exécuter chez moi :

sudo yum install jdk-22-headless.aarch64

Pour vérifier que java est bien installé :

java --version

Install Java 2

Installer le serveur Minecraft #

Nous arrivons enfin à la partie excitante ! Pour installer le serveur Minecraft vous devez d’abord récupérer le fichier .jar sur le site officiel.

Vanilla 1

La version sur le site officiel correspond à la dernière version stable, si vous souhaitez une autre version vous devrez récupérer le fichier .jar depuis une autre source

Vanilla 2

Une fois le fichier .jar récupéré sur votre machine locale, créez un dossier sur votre VM pour votre serveur Minecraft Vanilla et transférez le .jar dans ce dossier.

Vanilla 3

Depuis votre accès SSH, rendez-vous dans ce dossier et exécuter cette commande :

java -Xms1G -Xmx2G -jar server.jar nogui
  • Xms permet de spécifier la RAM minimale à allouer à votre serveur
  • Xmx permet de spécifier la RAM maximale que peut utiliser votre serveur

Vérifiez toujours que la RAM minimale allouée soit suffisante pour votre serveur et que la RAM maximale ne soit pas égale ou supérieure à la RAM que dispose votre VM.

En effet si votre VM dispose de 2Go de RAM et que vous allouez 2Go à votre serveur Minecraft votre VM risque de crasher, il faut toujours garder au moins 1 ou 2Go que votre VM peut utiliser pour d’autres ressources.

De nombreuses lignes vont apparaître dont celle-ci :

Vanilla 4

Ce message indique que vous devez accepter les EULA (ce sont les conditions générales d’utilisations) pour pouvoir lancer le serveur Minecraft.

Si vous listez le répertoire courant vous verrez que le serveur a créé tous les fichiers et dossiers nécessaires à son bon fonctionnement dont le fichier eula.txt.

Vanilla 5

Editez ce fichier avec la commande :

nano eula.txt

Changez la valeur “false” par “true” :

Vanilla 6

Pour sauvegarder vos changements et quittez l’éditeur nano, appuyez sur CTRL + X puis Y puis la touche Entrée. Si vous ne souhaitez pas enregistrer vos changement appuyez sur la touche N à la place de la touche Y.

Vous pouvez désormais relancer votre serveur avec la même commande :

java -Xms1G -Xmx2G -jar server.jar nogui

Votre serveur est en train de générer les différents mondes, jusqu’à ce que vous obteniez le message “Done

Vanilla 7

Pour stopper le serveur vous devez interrompre l’opération en cours de votre terminal avec la combinaison CTRL + C ou écrire stop

Vanilla 8

On pourrait croire que ça y est notre serveur est opérationnel, malheureusement pas encore 😭 (courage c’est bientôt fini).

Si vous essayez de vous connecter à votre serveur Minecraft depuis le jeu vous n’y arriverez pas, tout simplement parce que nous n’avons pas ouvert le port pour le jeu Minecraft !

Configuration du pare-feu #

En réalité, toutes les VMs que nous créons se trouvent derrière un pare-feu, le principe du pare-feu est d’autoriser ou de bloquer les communications entre nos VMs et l’extérieur.

Pour communiquer avec l’extérieur notre VM peut utiliser de nombreux protocoles et chacun d’entres eux possède un port par défaut, par exemple :

  • Le port 80 et 443 sont utilisés par les protocoles HTTP et HTTPS pour un site web
  • Le port 25 est utilisé par le protocole SMTP pour le transfert de mails

De base sur un serveur Oracle, tous les ports sont bloqués par défaut sauf le port 22 pour le protocole SSH qui nous permet d’administrer la machine.

Firewall 1

Nous devons donc ouvrir le port utilisé par le serveur Minecraft, c’est-à-dire le port 25565 :

Firewall 2

Pour cela rendez-vous sur la page d’instance de votre serveur et cliquez sur le “subnet” :

Firewall 3

Puis dans la “Security List” de ce subnet :

Firewall 4

Comme vous pouvez le remarquer dans la liste des “Egress Rules” tous les ports sont bloqués par défaut :

Firewall 5

Seul le port 22 est autorisé dans les “Ingress Rules” :

Firewall 6

Nous allons rajouter le port 25565, pour cela appuyez sur “Add Ingress Rules” puis ajoutez une règle pour autoriser n’importe qui (0.0.0.0/0) à accéder au port 25565 via TCP et UDP :

Firewall 7

N’oubliez pas de faire une règle pour le protocole TCP et une pour le protocole UDP

Pour que le serveur prenne en compte ces changements, vous devez exécutez ces commandes :

sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp
sudo firewall-cmd --permanent --zone=public --add-port=25565/udp
sudo firewall-cmd --reload

Et obtenir le message “success” :

Firewall 8

Lancement du serveur #

Votre serveur Minecraft Vanilla est enfin prêt !

Let’s go

Vous pouvez tenter de vous connecter sur votre serveur depuis le Launcher :

Vanilla Launch 1

N’oubliez pas d’adapter l’adresse IP du serveur

Et voilà ! Vous n’avez plus qu’à partager les informations de votre serveur à vos amis pour jouer ensemble :

Vanilla Launch 2

Serveur Minecraft avec plugins - PaperMC #

Créer un serveur Minecraft Vanilla c’est cool, mais créer un serveur avec des plugins c’est mieux ! Les plugins Minecraft permettent d’améliorer très largement l’expérience du jeu sans pour autant changer le code source de Minecraft (contrairement aux mods). L’avantage c’est qu’on peut ajouter autant de plugins que l’on veut sur notre serveur (tant que celui-ci est assez puissant), de leur côté les joueurs n’ont besoin de rien faire.

Créons notre serveur Minecraft avec des plugins !

Installation des plugins #

Pour commencer vous allez devoir télécharger le fichier .jar d’un serveur capable de faire tourner des plugins. Il existe plusieurs possibilités, pour ma part je choisirai PaperMC (car c’est le plus utilisé) :

Paper 1

Une fois le fichier .jar récupéré, créez un dossier spécialement pour ce serveur et transférez le .jar dans celui-ci :

Paper 2

Le fonctionnement est exactement le même qu’un serveur Vanilla, rendez-vous dans ce dossier depuis votre accès SSH puis lancez le serveur en allouant la RAM nécessaire :

java -Xms1G -Xmx3G -jar server-paper.jar nogui

Le serveur va créer les dossiers et fichiers nécessaires à son bon fonctionnement puis vous devrez accepter les EULA comme vu précédemment avec le serveur Vanilla :

Paper 3

Si vous relancez votre serveur celui-ci sera opérationnel, mais pour le moment nous n’avons installé aucun plugins.

Pour l’exemple je vais installer 3 plugins populaires :

  • WorldEdit → fonctionnalités de constructions / destructions avancées
  • EssentialX → énormément de fonctionnalités nécessaires à d’autres plugins
  • BlueMap → génération du monde Minecraft dans une interface web

Pour chaque plugin que vous voudrez installer vous devez vous assurer que celui-ci est compatible avec votre serveur.

Paper 4

Paper 5

Paper 6

Chaque plugin correspond à un fichier .jar, une fois les fichiers téléchargés je les transfère sur mon serveur dans le dossier “plugins” (Paper a automatiquement créé ce dossier, il est possible que vous deviez le créer vous-même si vous utilisez un autre serveur comme Spigot) :

Paper 7

Pour installer les plugins vous n’avez plus qu’à relancer votre serveur !

Paper 8

Configuration des plugins #

Certains plugins vous demanderont de les configurer, c’est à vous de lire la documentation de chaque plugin pour comprendre s’il y a des choses à modifier ou non. Dans notre cas il n’y a que BlueMap que nous devons configurer.

Rendez vous dans le fichier plugins > BlueMap > core.conf, puis acceptez d’utiliser BlueMap en changeant “false” par “true” :

BlueMap 1

BlueMap utilise le port 8100 par défaut pour l’application web, comme vous pouvez le voir dans le fichier webserver.conf :

BlueMap 2

Vous pouvez changer ce port si vous le souhaitez, mais dans tous les cas il faudra l’autoriser sur le firewall pour que le plugin soit fonctionnel.

BlueMap 3

Une fois le port ajouté sur le firewall, n’oubliez pas de recharger la configuration du firewall sur votre VM :

sudo firewall-cmd --permanent --zone=public --add-port=8100/tcp
sudo firewall-cmd --permanent --zone=public --add-port=8100/udp
sudo firewall-cmd --reload

Vous devriez avoir le message “Success” qui apparait :

BlueMap 4

Lorsque vous lancez votre serveur celui-ci vous indique que le plugin BlueMap est opérationnel :

BlueMap 5

Vous pouvez vous rendre sur l’url http://[IP_de_votre_VM]:8100 et voir que votre monde a bien été pris en compte par BlueMap :

BlueMap 6

Vous savez désormais créer un serveur Minecraft et installer des plugins !

Nice

Server Minecraft moddé - Forge #

Nous allons maintenant voir comment installer un serveur Minecraft avec des mods.

La différence entre un serveur moddé et un serveur avec des plugins c’est que les mods changent le code source du jeu, deux personnes ne peuvent pas jouer avec un code source différent car ce n’est pas le même jeu !

Cela implique que si vous décidez de créer un serveur Minecraft avec les mods X et Y, toutes les personnes qui voudront jouer sur votre serveur devront également avoir les mods X et Y installés sur leur machine et dans la même version !

[Côté Client] - Prérequis #

Pour installer un mod sur sa machine locale vous aurez besoin de télécharger l’application CurseForge. Celle-ci permet d’installer des mods sur de nombreux jeux. Rendez-vous sur sa page de téléchargement et installez la version “Overwolf” :

Forge 1

Suivez le processus d’installation (il est très simple), une fois l’application installée choisissez le jeu Minecraft :

Forge 2

Vous devrez relier votre compte Mojang à CurseForge, si vous n’avez pas acheté le jeu et que vous n’avez pas de compte Mojang il ne sera pas possible de jouer avec des mods !

[Côté Client] - Installation des mods #

Pour cet exemple nous allons installer le mod “ Pixelmon” permettant de jouer à Pokémon sur Minecraft !

Cliquez sur “Browse” et sur le mod que vous voulez installer :

Forge 3

La dernière version de Minecraft disponible pour ce mod est la 1.20.2, cependant cette version est en “Beta” cela veut dire que le mod comporte de nouvelles fonctionnalités mais n’est pas forcément stable.

Vous pouvez retrouver toutes les versions disponibles dans l’onglet “Versions” :

Forge 4

Si vous cliquez sur le bouton “Install” (1), CurseForge installera la dernière version stable (release) du mod, ici la version en 1.16.5, mais vous pouvez choisir d’installer la version beta en cliquant sur le bouton à droite (2) si vous le souhaitez :

Forge 5

Ce qui est important de retenir c’est qu’ici la version pour “serveur” n’est disponible qu’en version stable (release), donc nous allons télécharger la version en 1.16.5 :

Forge 6

Il est conseillé de télécharger la version stable dans tous les cas pour éviter de faire crasher votre jeu, peu importe le mod

Une fois le mod installé, vous pourrez le retrouver sur votre onglet “My Modpacks” :

Forge 7

Si vous appuyez sur “Play”, CurseForge va automatiquement lancer votre Launcher Minecraft et charger le mod :

Forge 8

Votre mod est bien installé côté client, nous allons maintenant installer ce mod sur notre VM. Retenez bien que toutes les personnes qui voudront jouer sur votre serveur devront au préalable installer le mod sur leur machine.

[Côté Server] - Installation des mods #

Un serveur moddé est un serveur Forge, pour l’installer le processus diffère légèrement d’un serveur avec plugins. Pour commencer, récupérez le mod sur CurseForge, avec le bouton “Download Server Pack” :

Forge 9

Vous venez de récupérez un fichier .zip, en effet par abus de langage je parlais de mod jusqu’à présent mais en réalité il s’agit d’un “modpack”, c’est-à-dire tous les fichiers pour installer votre serveur Forge ainsi que tous les fichiers .jar correspondants aux mods

Créez un dossier pour votre serveur Forge sur votre VM et transférez le .zip du modpack :

Forge 10

Dézippez le contenu de ce fichier avec la commande :

unzip [nom_du_fichier]

Forge 11

Vous pouvez supprimer le fichier .zip.

De nombreux fichiers et dossiers ont été créés, notamment des fichiers .sh, ces fichiers sont des scripts, mais pour le moment ces scripts ne sont pas exécutables. Pour leur rajouter ce droit nous devons écrire la commande :

chmod u+x *.sh

Forge 12

Vous remarquerez que tous ces fichiers sont devenus verts, cela signifie que l’on peut désormais les exécuter

Exécutez le fichier “Install.sh”, celui-ci va installer le serveur Forge et tous les fichiers .jar correspondant aux mods du modpack :

./Install.sh

Forge 13

Vous pouvez désormais lancer votre serveur moddé avec la commande :

./ServerStart.sh

Forge 14

Et là c’est le drame, le serveur ne se lance pas et une grosse erreur est à l’écran !

Error

Mais pas de panique c’est tout à fait normal, et oui ce mod est assez ancien, en réalité nous avons installé une version de java trop récente pour lui. J’ai fait exprès de prendre ce modpack pour vous montrer ce scénario car celui-ci arrive régulièrement.

Si nous consultons la documentation du mod Pixelmon, nous voyons bien que nous avons besoin de Java 8 (pour la version stable) et non pas d’une version supérieure :

Forge 15

Vérifiez toujours la documentation du mod ou du plugin en amont de son installation, cela vous permettra de régler la plupart des problèmes

Nous allons donc installer Java 8 (correspondant au jdk11) avec la commande :

sudo yum install jdk-11-headless.aarch64

Nous avons maintenant 2 versions de Java disponibles sur notre VM, pour utiliser la bonne il suffit d’exécuter la commande suivante puis de choisir le numéro correspondant à la version que nous voulons utiliser :

sudo update-alternatives --config java

Forge 16

Pour vérifier que nous avons bien changer de version exécutons la commande :

java --version

Forge 17

Parfait nous pouvons maintenant relancer le serveur avec ./ServerStart.sh, puis acceptez les EULA :

Forge 18

Et notre serveur moddé est prêt ! Nous pouvons maintenant jouez dessus avec le modpack Pixelmon d’installé :

Forge 19

Vous savez désormais comment créer votre propre serveur Minecraft moddé !

Very Nice

Améliorations #

Nous avons vu en détails comment créer un serveur Minecraft Vanilla, Paper et Forge ainsi que la configuration de certains plugins ou mods. Cependant s’arrêter à ce stade serait dommage car nous n’exploitons pas encore toutes les possibilités de notre VM.

Je vais vous montrer certaines améliorations qui changent tout !

Une VM, plusieurs serveurs #

Vous avez dû remarquer jusqu’à présent que nous ne lancions qu’un seul serveur Minecraft à la fois, mais en réalité il est tout à fait possible d’en lancer plusieurs sur la même VM !

Si vous ouvrez plusieurs terminaux SSH qui accèdent à votre VM et que vous essayez de lancer le serveur Vanilla et Paper en même, vous obtiendrez un message d’erreur qui vous informe que le port 25565 est déjà utilisé.

C’est tout à fait normal car les deux serveurs possèdent la configuration de base avec le même port par défaut, mais il est possible de changer cela !

En ouvrant la configuration d’un des deux serveurs qui se trouve dans le fichier server.properties, vous verrez 2 paramètres avec le nombre 25565 :

  • query.port qui correspond au port UDP du serveur
  • server.port qui correspond au port TCP du serveur

Improvment 1
Documentation ArchLinux

Si vous changez ces paramètres avec le nombre 25564 par exemple, que vous ouvrez ce port sur le firewall Oracle et que vous n’oubliez pas de charger la configuration du firewall dans la VM comme vu dans les points précédents, vous pouvez désormais lancer votre serveur Vanilla et votre serveur Paper en même temps !

Improvment 2

Faites attention à bien gérer la RAM disponible de votre VM, gardez toujours 1 ou 2 Go de RAM strictement allouée à votre VM et rien d’autre.

Ici notre VM dispose de 10Go et la RAM allouée maximum pour les deux serveurs est de : 2+3=5 Go, donc pas de soucis.

Plus il y a de serveurs en même temps, plus de puissance de calcul sera nécessaire, pensez également aux OCPUs.

Ouvrir son serveur aux versions crackés #

Peut-être que certains de vos amis n’ont pas acheté le jeu et aimeraient tout de même s’amuser avec vous, il est tout à fait possible d’ouvrir son serveur aux versions crackés !

Pour cela rendez-vous dans le fichier server.properties et changez le paramètre online-mode à false :

Improvment 3

Improvment 4

Ce fichier contient de nombreux paramètres intéressants, je vous conseille fortement d’aller jeter un œil à la documentation du jeu le concernant.

Gérer son monde - sauvegarde et réinitialisation #

Après avoir joué des heures sur votre serveur, construit de nombreux bâtiments et miné des ressources à n’en plus finir, un crash survient pour une raison X ou Y et votre monde est supprimé, vous devez tout recommencer !

Pour éviter cette situation, il est conseillé de faire des sauvegardes régulières de votre monde, comment faire ? C’est simple !

Depuis votre client FTP, téléchargez simplement les dossiers correspondants aux mondes de votre serveur, de base il y en a 3 :

  • overworld qui correspond au monde normal
  • world_nether qui correspond au nether
  • world_the_end qui correspond à l’end

Improvment 5

Une fois ces dossiers récupérés, stockez les dans un endroit sûr, vous n’aurez qu’à les remettre sur votre serveur pour récupérer votre progression actuelle.

Cela peut être très pratique si vous désirez “retourner dans le passé” ou si vous changez de serveur.

A l’opposé, vous pouvez également stopper votre serveur et supprimer ces dossiers. Lorsque vous relancerez votre serveur celui-ci va automatiquement régénérer un nouveau monde vierge.

Importer un monde #

Avec ce que nous venons de voir au point précédent, vous vous doutez donc qu’il est possible d’importer un monde créé par n’importe qui !

Le monde doit être compatible avec la version de votre serveur.

Vous pouvez trouver des maps sur ce site, nous allons prendre le royaume Far Far Away de l’univers Shrek comme exemple :

Improvment 6

Téléchargez la map (qui est un simple fichier compressé), puis transférez le sur votre serveur :

Improvment 7

Dans le fichier server.properties, changez le paramètre level-name par le nom du dossier de la map :

Improvment 8

Relancez votre serveur, vous pouvez désormais jouer sur la map que vous avez importé !

Improvment 9

Serveur ouvert 24/7 - Création d’un service #

De toutes les améliorations possibles, c’est certainement la meilleure.

En effet, si vous êtes observateur vous avez remarqué que depuis le début mon serveur est lié au terminal de ma connexion SSH. Si je ferme ma connexion SSH ou ce terminal, j’arrête tous les processus liés à celui-ci donc j’arrête mon serveur Minecraft. Si je veux que mon serveur soit ouvert 24/7 il faudrait donc que mon accès SSH soit également ouvert 24/7 et par conséquent ma propre machine, ce qui est très dérangeant !

Je vais vous montrer comment ouvrir son serveur 24/7 sans que vous n’ayez besoin de garder votre propre ordinateur allumé.

Jesus

Pour cela nous allons avoir besoin d’un service.

Un service est un programme qui s’exécute en arrière-plan sur un système d’exploitation. Contrairement aux applications ordinaires, ils n’ont pas d’interface graphique.

Les services sont utilisés pour diverses tâches essentielles qui doivent fonctionner en permanence ou à intervalles réguliers, par exemple :

  • Gestion du réseau : Services qui gèrent les connexions réseau.
  • Serveurs web : Services qui fournissent du contenu web (comme Apache ou Nginx).
  • Bases de données : Services qui gèrent les bases de données (comme MySQL ou PostgreSQL).
  • Sécurité : Services de surveillance et de protection (comme les pare-feu ou les antivirus).
  • Planification des tâches : Services qui exécutent des tâches planifiées à des moments spécifiques ou en continu.

C’est ce dernier type de service qui va nous intéresser.

Sur Windows on peut voir tous les services exécutés sur notre machine locale depuis la console services.msc :

Service 1

Sur Linux, le système de gestion des services le plus courant est systemd, l’outil qui permet d’interagir avec lui est systemctl.

Pour lister tous les services (actifs, inactifs, …) vous pouvez utiliser la commande :

systemctl list-units --type=service --all

Pour cet exemple, je vais créer un service qui lancera en continu le serveur Forge.

Tout d’abord il faut créer le service avec la commande :

sudo nano /etc/systemd/system/[nom_du_service].service

Ici je nommerai mon service : server-forge.service

Puis il faut écrire la configuration du service, voici à quoi ressemble la notre :

[Unit]
Description=Forge Server Service
After=network.target

[Service]
WorkingDirectory=/home/opc/server-forge
ExecStart=/bin/bash ServerStart.sh
Restart=on-failure
RestartSec=60

[Install]
WantedBy=multi-user.target

La section [Unit] contient les informations générales sur le service.

  • Description=Forge Server Service : Fournit une description du service.
  • After=network.target : Indique que notre service doit démarrer après le service network.target, c’est-à-dire après que le réseau soit disponible.

La section [Service] définit comment le service doit fonctionner.

  • WorkingDirectory=/home/opc/test-forge : Spécifie le répertoire de travail pour le service. Les commandes seront exécutées depuis ce répertoire.
  • ExecStart=/bin/bash ServerStart.sh : Définit la commande que notre service va exécuter. Ici, notre service exécute le script bash ServerStart.sh permettant de démarrer le serveur Forge.
  • Restart=on-failure : Indique que le service doit être redémarré automatiquement si une erreur se produit.
  • RestartSec=60 : Définit le délai en secondes avant de tenter de redémarrer le service après un échec. Ici, on attend 60 secondes avant de redémarrer.

La section [Install] définit quand et comment le service doit être installé ou activé.

  • WantedBy=multi-user.target : Indique que ce service doit être démarré lorsque le système atteint le niveau de fonctionnement multi-user.target, ce qui est un état de fonctionnement typique pour les systèmes non graphiques (multi-utilisateur).

Une fois la configuration écrite, sauvegardez la et fermez l’éditeur de fichier.

Nous devons faire en sorte que notre système prenne en compte notre nouvelle configuration de service avec la commande :

sudo systemctl daemon-reload 
Si vous changez la configuration du service il faudra toujours exécutez cette commande pour que le système prenne en compte les modifications

Pour informer le système que ce service doit être démarré à chaque redémarrage de votre VM, exécutez la commande :

sudo systemctl enable server-forge

Enfin pour démarrer votre service, exécutez la commande :

sudo systemctl start server-forge

Vous pouvez voir le statut de votre service avec la commande

sudo systemctl status server-forge

Comme vous le voyez notre service est bien fonctionnel :

Service 2

Il est tout à fait possible de créer et lancer plusieurs services pour avoir plusieurs serveurs Minecraft, ces serveurs doivent juste être configurés sur des ports différents.

Vous pouvez arrêter votre service (et donc votre serveur Minecraft) avec la commande :

sudo systemctl stop server-forge

Votre serveur Minecraft est désormais lancé par un service paramétré pour ne jamais s’arrêter et se relancer automatiquement en cas de problèmes.

Celui-ci est donc accessible 24/7 sans que vous n’ayez besoin de garder votre accès SSH ouvert !

Perfect

Conclusion #

Dans cet article je vous ai présenté comment créer votre propre serveur de jeu Minecraft gratuit à vie !

Etant moi-même tombé dans le monde de l’informatique grâce aux jeux-vidéos et notamment grâce à Minecraft, il me semblait logique de commencer cette série par un tutoriel complet sur ce jeu iconique.

J’espère que vous aurez apprécié la lecture de l’article, si c’est le cas n’hésitez pas à le liker et à le partager à vos amis.

Soyez attentifs à ce blog car je devrais publier d’ici peu de nombreux autres articles dans ce style !

See you

VPS Oracle - Cet article fait partie d'une série.
Partie 1: Cet article