Vous avez sans aucun doute entendu parler de serveurs Minecraft, ceux qui vous permettent de jouer en ligne, avec d’autres joueurs du monde entier. Vous saviez peut être aussi comment créer le vôtre autrefois. Toutefois, il est bon de revenir sur le sujet étant donné que quelques opérations ont changé, ou bien ont maintenant une certaine importance.
Bourrés de plugins, ces serveurs ont l’avantage de proposer divers modes de jeu, du PvP Swap, au Fallen Kingdom, en passant par le simple Jump ou Sheep Wars.
Sans doute avez-vous aussi eu envie, au lieu de vous mêler dans une foule de joueurs plus avertis les uns que les autres, de rester dans un cadre plus restreint, entre potes ou en famille (je suis moi-même daron d’une palanquée de marmots !) sur un serveur 10 ou 20 joueurs (votre machine en dépendra).
Le serveur fourni par Mojang est là pour ça. Ici, point de commerce, point de swap, point de protection de coffres, c’est du brut de décoffrage, ce pour quoi Minecraft a été développé : de l’aventure.
Pour les plus ambitieux, nous verrons en fin de cet article, qu’il est déjà possible d’aller loin avec ces « maigres » bases. Mais dans l’immédiat, lançons-nous dans l’aventure de la création d’un petit serveur que nous allons faire progresser jusqu’à en faire quelque chose de bien divertissant pour passer une bonne soirée entre amis fans du jeu.
L’installation :
Pour ce faire, vous devrez télécharger le fichier de lancement de notre serveur sur le site http://minecraft.net. Vous voyez le petit encart, en haut à droite :
Non-non ! Je ne vous demande pas de télécharger le jeu, suivez juste ce lien. Vous comprendrez quand vous arriverez sur cette page :
Voila ! Regardez en bas (je ne vous demande pas d’être anglophiles, donc, certainement pas de comprendre l’intégralité du texte). Il y a un lien intitulé « minecraft_server.1.9.jar ». Il suffit de cliquer dessus. Le téléchargement devrait se lancer et vous demander où vous souhaitez enregistrer le fichier du serveur.
Premier conseil, créez un dossier sur le bureau de votre ordinateur dans lequel vous allez enregistrer le fichier que vous allez télécharger. Pourquoi ? Parce que lorsque vous le lancerez, un certain nombre de fichiers seront créés et il sera bien pratique de les retrouver lorsqu’il s’agira de changer certains paramètres de notre serveur comme le nombre maximum de joueurs, les joueurs qui seront administrateurs, etc. En outre, il serait bien chiant de se retrouver avec un paquet de nouveaux fichiers et dossiers sur un bureau aussi bien organisé que le mien ! (Moi je m’y retrouve, vous, vous n’avez rien à faire sur mon bureau, naméoh !).
Second conseil : vous voyez toujours notre capture d’écran ? (au pire, un coup de molette de souris vers le haut et vous la retrouvez, hein !). Notez la ligne de code java bien utile. Si si ! Je vous assure que vous en aurez certainement besoin par la suite. C’est celle qui nous indique « java –Xmx1024M –Xms1024M –jar minecraft_server.jar nogui ». Ceci n’est qu’une indication du mode de lancement de notre serveur, nous y reviendrons plus tard, mais notez ça dans un coin de notepad, ça sera utile en fonction de votre configuration matérielle.
Avez-vous vu ce magnifique bureau bien rangé ? Bon ok, ça va hein ! C’est épuré, certes, mais propre, non ? Bon, un petit commentaire sympa sur mon tout premier article (le dernier ?) et je vous fais part de l’intégralité du bordel. Tout ça pour insister sur le fait que j’ai créé un dossier spécial pour mon petit serveur qui me servira d’excuse pour de longues soirées entre Minecraftiens invétérés.
C’est dans ce dossier que j’ai téléchargé le fichier minecraft_server.1.9.jar.
Pour l’instant, il n’y a que ce fichier. Mais un double clic dessus, et miraaaaaaacle !
Bon, c’est bien beau tout ça, mais vous l’aurez remarqué, à part me créer un dossier et 2 fichiers, il me fait quoi mon serveur, là ?
Bah rien ! En effet, après avoir vu une fenêtre apparaitre de manière plus que fugace, rien ne vous dit que votre serveur est actif. Et pour cause, il ne l’est pas. Pourquoi ? Hmmmm ! Jetons un œil au dossier « logs ». Vous y trouverez un fichier (oui, un seul pour le moment, mais ça va vite décupler !) qui se nomme « latest.log ». Généralement, un dossier « logs » est toujours intéressant en cas de pépin. Un log répertorie les évènements liés à l’exécution d’un programme. Ouvrons-le avec notre éditeur de texte favori (un double clic dessus devrait suffire).
On y lit quoi ? Chronologiquement, ce qui nous intéresse, c’est savoir pourquoi notre serveur plante : son ultime souffle. On regarde à la fin du fichier et on remonte petit à petit pour y découvrir une information primordiale.
[Server thread/INFO] : You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Bon sang, mais je trépigne d’impatience ! Quand mon serveur sera-t-il fonctionnel ? Bah maintenant ! Il suffit d’ouvrir le fichier dont te parle le log ! A savoir EULA.TXT, dans le même dossier que ton fichier minecraft_server.1.9.jar ! Allez, on reprend la molette de la souris pour retrouver la capture d’écran de notre dossier de serveur. Ou au pire, à ce stade, vous n’avez pas encore fermé le dit dossier ! Alors allez-y !
Concrètement, on nous explique ici que pour indiquer qu’on est d’accord avec l’EULA (End User Licence Agreement, en français CLUF, Contrat de Licence Utilisateur Final), il faut le spécifier manuellement par « true » en lieu et place de « false » sur la ligne « eula=false ».
Bon, nous parlons d’un petit serveur entre potes, là ! On n’est certainement pas au niveau d’un Hypixel ou Epicube ou PleaseCraft (bon, j’en ai cité trois, c’est bon, le CSA va pas me tomber dessus ?). Mais si la lecture vous manque, allez vous faire plaisir surhttps://account.mojang.com/documents/minecraft_eula pour maîtriser toutes les règles qui régissent l’utilisation et la mise en ligne d’un serveur Minecraft. Après tout, si j’ai réussi à en inspirer quelques-uns pour créer un serveur 10.000 slots, ça pourrait vous être utile.
Bref, mettez « true » à la place de « false ». Ensuite, enregistrez le fichier eula.txt et relancez votre serveur en double cliquant de nouveau sur minecraft_server.1.9.jar.
Une jolie fenêtre bien terne devrait apparaître avec tout plein d’infos concernant le lancement du saint serveur.
« Hop hop hop ! C’est quoi ce charabia ? Mais il ne comprend pas tout, le monsieur ! »
« Pffff ! Qu’est-ce ta na à foute ! »
Bah, en fait, c’est mieux de piger un peu ce qu’elle dit la fenêtre. Ça peut aider par la suite. Le truc, là, c’est la console de notre serveur et elle peut nous donner plein d’infos bien utiles comme les joueurs présents sur notre serveur (bon, moi, je n’ai pas d’ami, je m’appelle pas Rémi, mais ce n’est pas mieux, en atteste la console !), la mémoire utilisée pour l’exploitation du serveur et, sur la droite, tout ce qui se passe en temps réel. Le temps nécessaire à la génération du monde, le tchat entre les joueurs, les messages qui apparaissent en cours de jeu et un conseil important : « To start the server with more ram, launch it as « java -Xmx1024M -Xms1024M -jar minecraft_server.jar » ».
Et là, une petite explication s’impose. Pour lancer un fichier .jar, vous devrez utiliser la commande « java » suivie du fichier que vous souhaitez exécuter. Entre les deux, vous avez la possibilité de spécifier des paramètres spécifiques tels que la quantité de RAM allouée à l’exécution du programme java. Ici, ces paramètres sont appelés Xms et Xmx.
Xms = la quantité de mémoire par défaut pour l’utilisation du programme.
Xmx = la quantité maximale de mémoire allouée au programme.
Autrement dit, quand la console nous conseille d’utiliser le paramètre «java -Xmx1024M -Xms1024M -jar minecraft_server.jar », elle nous dit simplement de forcer java à exécuter minecraft_server.jar avec 1024Mo de mémoire par défaut et 1024Mo de mémoire maximum (autrement dit, 1024Mo, point barre !).
Vous avez un PC doté d’une grande capacité de RAM ? Bah, vous pouvez imaginer mettre ça en paramètres :
java –Xmx4096M –Xms2048 -jar minecraft_server.jar
Ici, je dis à mon petit java de lancer minecraft_server.jar avec 2048Mo de RAM par défaut, mais bon, eh, Coco, si y a besoin, n’hésite pas à pomper jusqu’à 4096Mo de RAM, fait toi plaiz !
Quoi qu’il en soit, n’oubliez pas que derrière ce petit serveur, il vous faudra bien faire tourner d’autres applications. Je ne sais pas moi, genre Minecraft, hein ! Ce serait mieux pour profiter de notre serveur ! C’est bien beau l’ami, mais c’est à toi, ce serveur, t’as le droit d’en profiter ! Donc, évitez les allocations de RAM trop élevées. Perso, un serveur Vanilla sur mon ASUS Windows 10 64bits et 8 Go de RAM, je tourne avec des paramètres Xms1024Mo et Xmx2048Mo sans lag avec 5 à 10 joueurs. Ah bah ouais bonhomme, t’as pas un serveur dédié ! Tu peux pas accueillir 1000 bonshommes ! J’ai parlé de convivialité !
Ah ouais mais il cause, il cause, l’autre mais comment je fais ça, moi ?
Comme ça :
- Tu fais un clic droit dans le dossier de ton fichier minecraft_server.1.9.jar
- Tu cliques sur « Nouveau » puis « Document texte »
- Tu l’appelles (par exemple, sinon on s’en pète) « server.bat » (si-si ! change l’extension aussi, ça c’est important !)
- Là, on te demande si tu veux ch…. TU REPONDS OUI !
- Clic droit dessus puis « modifier »
- Et là tu écris la phrase magique que je n’arrête pas de te susurrer depuis tout à l’heure avec les arguments qui vont en conséquence de ta configuration matérielle (RAM). Pour débuter, indique ce qui est conseillé par Mojang. Rien ne t’empêche de modifier ces paramètres par la suite (toujours en faisant un clic droit puis modifier sur ton fichier server.bat). Mais dans l’immédiat, « java -Xmx1024M -Xms1024M -jar minecraft_server.1.9.jar ». Enregistre ton fichier et quitte-le.
Ici, minecraft_server.1.9.jar correspond au fichier que j’ai téléchargé tout à l’heure. Son nom variera en fonction des versions. A toi de faire gaffe à modifier son nom dans ton fichier « server.bat » à chaque fois que tu téléchargeras une mise à jour. C’est primordial.
A ce stade du tutoriel, la console est toujours lancée (puisque je ne t’ai pas indiqué de la fermer). Dans cette console, en bas à droite, tu as un champ de saisie dans laquelle je te demande d’écrire « stop », comme ici :
Appuie sur « Entrée », le serveur va s’arrêter. C’est normal vu que tu lui en as intimé l’ordre. Oui, c’est toi le maître du jeu !
Mais comme tu es versatile, tu vas lui imposer de se relancer mais, cette fois, à l’aide de ton fichier « server.bat » qui va l’obliger à se lancer avec les paramètres d’attribution de RAM spécifiés au lieu de se la jouer « j’en fais qu’à ma tête ». Baaammmm ! Tu confirmes que c’est toi le chef ! Et là, même le serveur a compris qui était le patron, ici, et il te réclame même plus les paramètres adéquats en termes de RAM. « You fed the beast ! ».
« Maman ? Le monsieur, tout à l’heure, il me vouvoyait et maintenant, il me dit « tu ». Il est trop chelou ! ».
Ouais et c’est normal. Il faut tisser un lien avec son interlocuteur. Et si tu en es arrivé là, c’est que tu mérites que j’aille plus loin dans les explications. Et notamment, le paramétrage de ton serveur. Toi, tu es un bon élève. Les autres ne sont que des cancres. Et regarde ce qui t’attends !
« aaaaargh ! mais qu’est-ce que c’est quoi ???? ». Rien d’autre que ton dossier d’origine qui s’est un peu étoffé, mon jeune Padawan ! Son nom est toujours « serveur ». Le fichier de ton serveur s’appelle toujours « minecraft_server.1.9.jar ». Mais deux choses importantes connaitre tu devras ! « server.properties » et le dossier « world ».
Pour faire simple, le dossier « world » équivaut aux différentes sauvegardes de ton dossier « saves ». Tu sais, celui de ton fameux répertoire %APPDATA%/.minecraft/. Soit patient, on verra tout à l’heure.
Pour l’heure, un « gros » morceau t’attend : le fichier de configuration de ton serveur Vanilla.
Le fichier de configuration de ton serveur :
Ça, c’est ton fichier « server.properties » que tu vas ouvrir en faisant un clic droit dessus (dans ton dossier « Serveur » créé au début, tu suis ou bien ?) puis tu cliques sur « Ouvrir avec ». Moi, j’utilise Notepad++ mais toi, tu peux prendre Bloc-Note, t’en est quand même pas à scripter une horloge parlante pour les médocs à papa ! Grosso modo, il y a une trentaine de lignes dont tu n’utiliseras à coup sûr que quelques-unes pour le moment. Décryptage :
Generator-settings = une option qui est utilisée pour personnaliser les mondes plats.
Op-permission-level = C’est le niveau que peut atteindre un « administrateur » dans sa démarche de gestion du serveur. Si tu désignes quelqu’un comme « op », si tu affectes le chiffre :
- 1 : il ne sera pas affecté par la protection de spawn.
- 2 : il peut utiliser les commandes /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /tp et modifier les blocs de commande en plus de la protection de spawn.
- 3 : il peut utiliser les commandes /ban, /deop, /kick, et /op en plus des commandes précédentes.
- 4 : il peut utiliser la commande /stop en plus de toutes les commandes précédentes.
allow-nether = autoriser la génération de la map du Nether (true ou false)*
level-name = nom de la map que le serveur doit charger. Ceci est le nom par défaut. Nous verrons qu’il est possible d’apporter nos propres maps et de les lancer sur le serveur en lui indiquant le nom de celle qui doit être jouée.
enable-query = true ou false. Il s’agit, ici, d’autoriser l’utilisation d’un protocole spécifique qui dit « mon serveur est là, hou hou ! les amis ! je suis là ! je m’appelle machin, j’ai tant de joueurs, je suis ouvert à toute proposition », mais dans un cadre spécifique qu’est Gamespy4, donc, non, false. Je reste entre amis.
allow-flight = autorisation de vol, ici, Boeijang 447 Magnum : simplement, en créatif, toujours autorisé, donc c’est en survie que ça se joue. True = j’ai le droit de voler (fly). False = j’ai pas le droit de voler.
announce-player-achievements = est ce que le serveur doit signifier à tout le monde les actes de bravoure de chacun ? « Untel a ouvert l’inventaire ! Yihaaaaa ! ». A toi de voir !
server-port = bon, il y a un port par défaut indiqué. Le 25565. Si tu restes dans le cadre du LAN, c’est pas trop gênant. Si par contre, comme chez moi, tu invites des gens de l’extérieur du palace, bah, tu peux aimer changer ce truc, à condition de savoir ouvrir les ports subséquents sur ta box. Je donnerai des astuces en fin de tuto et ça, ça en fera partie, parce que mine de rien, je suis assez à cheval sur la sécurité chez moi, et j’aimerais bien te faire part de mon expérience.
max-world-size = encore une option qui ne sert à rien, si ce n’est embrouiller les esprits. Bon, ça doit jouer sur la taille maximale du monde, mais il est conseillé de ne pas toucher à l’option par défaut.
level-type=DEFAULT = type de map qui est générée :
- DEFAULT : monde standard, généré comme à l’accoutumée sous Minecraft sans modification.
- FLAT : monde plat, sans structure, sans rien du tout, du vide.
- LARGEBIOMES : la même qu’en DEFAULT mais en vaaaaaaachement plus vaste.
- AMPLIFIED : la même qu’en DEFAULT mais en vaaaaaaachement plus haut.
- CUSTOMIZED : la même qu’en DEFAULT mais en vaaaaaaachement plus … rien parce que dans ce cas on tient compte de ce qu’il y a dans Generator-settings.
enable-rcon = autoriser l’accès à une console distante (false)
force-gamemode = si c’est false, les joueurs arriveront dans le jeu tels qu’ils l’ont quitté, si c’est true, le gamemode du fichier de configuration fera foi et forcera le mode de jeu des joueurs.
level-seed = spécifier une « graine » pour la génération du monde. Comme en solo, quoi.
server-ip = à ne spécifier que si vous souhaitez lancer un serveur sur une IP distante. LAISSE CA VIDE, QUOI !
network-compression-threshold = bon, là, on parle de paquets envoyés par le réseau. Spécifiquement de la compression qu’ils doivent subir pour bien passer. L’informatique, c’est des 0 et des 1 (binaire, quoi). Veille bien à ce que tes câbles ne soient pas emmêlés. Ça fait des virages et le 1 ne passent pas dans les courbes contrairement aux 0 qui sont ronds, fluides et qui épousent les courbes de tes câbles emmêlés. Bon, ok, théorie fiévreuse qui ne sert qu’à me défaire d’une situation où je n’ai rien trouvé de profondément documenté sur cette option. Passons à la suivante.
max-build-height = la hauteur maximale que vous pourrez atteindre dans vos constructions. Ce qui n’empêchera pas au serveur de générer des terrains au-delà de la limite fixée (256 blocs par défaut).
spawn-npcs = tu veux trader avec des villageois ? Envoie true, sinon, envoie false.
white-list = tu veux choisir la liste de tes invités sur ton serveur ? Envoie true et remplis ton carton d’invitation dans le fichier « whitelist.json » (ok, on voit ça tout à l’heure) sinon, laisse false.
spawn-animals = les animaux doivent-ils spawner. Je pense que oui.
snooper-enabled = envoi de donnée à minecraft.net ou pas ? À vous de voir. Moi je le modifie systématiquement à false par paranoïa. Ce qui ne fait pas de mal des fois pour notre sécurité !
hardcore = IMPORTANT ! false par défaut mais si tu mets sur true, le joueur est banni du serveur dès qu’il meurt. La tâche incombe à l’administrateur de le réintégrer dans ce cas.
resource-pack-sha1 = paramètre de contrôle des resource-packs. Pas touche pour le moment.
online-mode = contrôle de la validité de l’UUID sur les serveurs Mojang. Permet de vérifier si le joueur est bien enregistré (a acheté une licence de jeu). Bref, cela revient à n’accepter que les joueurs ayant un compte premium du jeu lorsque online-mode = true.
resource-pack = si tu veux imposer un resource-pack aux joueurs de ton serveur, indique son adresse de téléchargement ici.
Pvp = true (par défaut), le pvp est activé sur ton serveur, les joueurs peuvent se mettre des coups et subir des dégâts. Si c’est sur false, tu pourras toujours essayer de frapper un joueur, il ne perdra pas de vie.
Difficulty = niveau de difficulté du jeu. Tu dois préciser un chiffre allant de 0 à 3.
- 0 = paisible
- 1 = facile
- 2 = normal
- 3 = difficile
enable-command-block = par défaut, ce paramètre est sur false. Dans ce cas, l’exécution des commandes ne pourra pas se faire par les blocs de commande. Si tu souhaites activer cette fonction pour rendre ton serveur plus interactif comme par exemple un bouton qui téléporte le joueur qui appuie dessus dans la lave (hi hi hi !), il faudra mettre cette option sur true.
player-idle-timeout = C’est le temps, en minutes, après lequel le joueur est éjecté du serveur s’il ne montre aucun signe d’activité. Par défaut, c’est 0 qui spécifié, ce qui a pour effet de désactiver cette option. Si je mets 6, par exemple, au bout de 6 minutes sans rien faire (bouger, cliquer, appuyer sur une touche, …), le joueur est viré.
Gamemode = ce paramètre affectez le type de gameplay de votre serveur, en indiquant un entier de 0 à 3 :
- 0 = survie (par défaut)
- 1 = créatif
- 2 = aventure
- 3 = spectateur
max-players = ici, tu vas pouvoir indiquer le nombre maximum de joueurs que ton serveur pourra accueillir. Par défaut, ton serveur indique 20 mais attention. En fonction du PC qui va héberger le serveur, ce nombre de joueurs va affecter les performances en jeu. De toute façon, tu peux laisser ce paramètre sur 20, ce qui sera déterminant, ce sera le nombre de connexions simultanées. Imagine que tu laisses sur 20, et là, ton serveur est tellement génial que tes potes en ont parlé entre eux, ce sont refilés l’adresse de ton serveur et bim ! 30 pelés essaient de s’y connecter en même temps. Bon, déjà, bon courage pour que ton serveur ne crash pas si le PC qui l’héberge n’a que 2 Go de RAM et un disque dur saturé. Mais, ce paramètre tentera d’éviter une telle situation en interdisant au 21ième joueur (et ceux qui suivent) l’accès au serveur. Ceux-là devront patienter que des joueurs se déconnectent. Tu perds des potes, mais tu gagnes un serveur qui tient la route !
max-tick-time = bon, je n’avais pas vraiment prévu d’aller jusqu’à expliquer cela, mais compte tenu de ce que j’ai expliqué pour « max-players », ça peut aider à comprendre pas mal de choses. En plus, tu me sembles plein de persévérance, petit Scarabée !
Pour contrôler que tout se passe bien dans le jeu, l’ensemble des tâches sont synchronisées avec une boucle de programme. Parfois, ça lag. Les tâches ont plus de difficultés à s’accomplir et ne sont plus synchronisées avec cette boucle. On va contrôler le retard que prennent ces tâches. Grosso modo, 20 ticks par secondes. Il faut savoir que dans une journée Minecraftienne, il y a 24 000 ticks durant lesquels la position des « objets mobiles » sera calculée, les plantes pousseront, la météo changera, votre barre de faim diminuera, etc. Autant de calculs qui vont manger vos petits méga octets de RAM. Minecraft décide que pour tel tick, il va mettre à jour un bloc de blé (aléatoirement d’ailleurs, ce qui explique que ce n’est pas forcément la première graine de blé qui donnera du blé en premier !). Sauf que vous avez 20 joueurs sur votre serveur. Cela représente déjà 20 joueurs pour lesquels il faudra mettre à jour la position, la faim, la vie, etc. Et là, c’est le drame, votre petit serveur remarque qu’il lui faut plus de temps pour effectuer faire pousser ce blé. Au lieu de 1/20ième de seconde, il en met 1/10ième, puis 1/5ième. Les tâches en attente se cumulent et paf ! 60 000 millisecondes sont atteintes, le serveur se met en sécurité et renvoie la demande system.exit qui ferme le serveur.
spawn-monsters = j’ai le droit de faire spawner des monstres ? Oui = true. Non = false.
view-distance = fastoche ! C’est la distance d’affichage du paysage. Vous voyez le fameux brouillard ? Tu peux augmenter cette distance de visibilité mais ce sera au détriment des performances pour les joueurs (et le serveur, d’ailleurs, attention aux ticks !).
generate-structures = Est-ce que tu veux découvrir des villages, des temples ? Si oui, tape le true si non, tape le false.
Motd = Ceci est le petit message qui apparaît sous le nom du serveur quand les joueurs le cherchent.
Bon, voilà ! Tu es toujours là ? Tu n’as pas encore abandonné ? Normalement, si tu as bien suivi, le fichier de configuration n’a plus de secret pour toi, ton serveur est lancé avec des paramètres qui te conviennent et tu peux enfin jouer avec tes potes.
Désormais, tu vas peut-être personnaliser ton serveur, y mettre une map de ton choix ! Eh ! tu as passé des heures à créer un monde en solo que toi seul visite. Il est temps de faire venir tes potos. Pour faire ça, rien de plus simple.
Utiliser une carte personnalisée pour ton serveur :
La première chose à faire est d’importer ta map dans le répertoire du serveur. Si tu te souviens bien, nous avons créé un dossier spécial pour lui sur notre « Bureau » (toujours aussi bien rangé). C’est ici que nous allons copier notre monde. Tiens ? « world » en anglais, comme dans notre dossier « serveur ».
Appuie simultanément sur les touches Windows et R. Oh ! Une fenêtre qui s’appelle « Exécuter ». Point de peine capitale ici, mais une simple méthode pour retrouver la map que nous souhaitons exploiter pour notre serveur et plus uniquement en solo. Dans cette fenêtre, tape %appdata%/.minecraft .
Le miracle opère et voici la nouvelle fenêtre qui s’affiche. Toutes les données du jeu sont enregistrées dans ce répertoire, y compris les maps que tu as créées en solo. Nous allons nous rendre dans le répertoire « saves » et y trouver la sauvegarde que nous souhaitons utiliser dans notre serveur.
Bon, n’allez pas chercher les lunettes à mémé, ce n’est pas la peine, c’est moi qui a décidé de cacher ce que vous n’aviez pas à voir. Vous l’aurez compris, je vais mettre ma sauvegarde de test de la 1.9 sur mon serveur et faire profiter mes amis de toutes les nouvelles réjouissances de la « Combat Update » dans un PvP déjanté. Hmmm ! Vous n’avez pas oublié de mettre l’option « pvp » sur true dans votre fichier de configuration du serveur, hein ? Sinon, point de combat !
Allez, un clic droit sur mon dossier puis je clique sur « copier ».
Je ferme tout et je me rends dans mon dossier « serveur » sur mon bureau Windows parfaitement en ordre. Un clic droit dessus et « coller ».
Youpiii ! Je peux utiliser ma map solo sur mon serveur ! euuuhhh, non, pas encore. Parce que, par défaut, notre serveur va rechercher le dossier « world ». C’est son monde par défaut. A partir de là, 2 options s’offrent à toi avant de lancer ton serveur.
- Tu peux renommer ton dossier « world » en « world_old » (ou tout ce que tu veux pourvu que ce ne soit plus le nom par défaut), puis tu renommes ton dossier importé (ici Test 1_9 Survie) en « world ». Ton serveur sera content de trouver un monde au nom évocateur pour lui et s’en fichera du contenu. Il ne s’amusera pas à comparer ce qu’il y avait avant dedans avec ce qu’il y a maintenant. Ça marche, mais bon, ça fait pas mal de manipulations alors qu’on peut faire beaucoup plus simple et surtout plus propre.
- Tu as peut-être tout intérêt à regarder du côté du fichier de configuration de ton serveur, server.properties . En effet, dans ce fichier, il y a une ligne « level-name= world». Cette ligne indique quel dossier de monde utiliser pour notre serveur. Plutôt que de renommer les dossiers, tu peux tout bonnement indiquer le nom du dossier que tu as copié tout à l’heure, ici, « Test 1_9 Survie » (même les espaces sont compris par ton serveur ! Magique !).
Et voilà ! Tu peux maintenant lancer ton serveur en double-cliquant sur « server.bat » que nous avons créé au début. Tu pourras constater que la console indique que c’est bien le dossier « Test 1_9 Survie » qui est pris en compte.
Juste pour info, si tu supprimes le dossier « world », ton serveur le recréera au prochain lancement. Je te conseille d’en faire une sauvegarde régulière.
Bon, c’est trop top ! Mon serveur est démarré et en ligne. Mais comment ils font mes potes pour s’y connecter ? C’est maintenant que ça vient.
Autoriser l’accès à mes amis, leur donner l’adresse de mon serveur.
Première possibilité, vos amis sont connectés sur votre réseau local (LAN), il te suffit de leur donner ton adresse IP locale qu’ils indiqueront dans l’adresse du serveur.
Tu peux trouver ton adresse IP local en ouvrant une « invite de commandes ». Pour ça, appuie simultanément sur les touches Windows et R. Saisis « cmd » puis appuie sur la touche « Entrée ».
La commande « ipconfig » te donnera toutes les infos utiles concernant tes cartes réseau. Note l’adresse commençant par « 192.168 ». C’est ton adresse IP locale que tes comparses Minecraftiens devront saisir dans l’adresse du serveur.
Simple, efficace, ou pas, si tes amis habitent à 150 kilomètres de chez toi. Ils ne sont plus sur ton réseau local et devront utiliser ton adresse IP publique avec toutes les mesures de sécurité qui s’imposent.
D’où la seconde possibilité, si tu autorises tes amis à se connecter par internet. A l’ère du très très haut débit, nous passons aujourd’hui par des Box que nos fournisseurs d’accès à internet nous prêtent ou louent ou donnent. Ces Box font office de pare-feu, aussi, et empêchent certains paquets de passer jusqu’à nos ordinateurs. C’est ainsi que nous devrons indiquer à notre Box que nous autorisons les paquets « Minecraft » à passer et être redirigés vers un ordinateur de notre réseau local.
Retour dans notre fichier de configuration, à la ligne « server-port ». Il y est indiqué « 25565 ». C’est le port qu’utilise notre serveur pour envoyer et recevoir des données liées au jeu. Par défaut, ces données sont bloquées par notre Box. Nous allons donc nous lancer dans de la « redirection de port ».
Je prends, ici, ma Box pour exemple à savoir ma Freebox. L’opération est sensiblement la même pour les autres Box, je vous laisse rechercher de la documentation si vous ne vous en sortez pas avec mes explications.
Je me connecte à son interface de gestion et je me rends sur le menu « Gestion des ports ».
J’ai créé deux règles spécifiques pour mon serveur qui utilise le port 25565. Je vais donc autoriser le passage des paquets sur ce port par le protocole TCP et UDP (ne me demande pas trop de détails sur cette terminologie quand même), et les rediriger vers mon ordinateur sur lequel tourne mon serveur, à l’adresse (pas visible ici) 192.168.0.45.
Dans mon exemple, j’autorise tous les ordinateurs à accéder à mon serveur. Je pourrais aller plus loin (je vous le conseille même) et spécifier les adresses IP de mes amis qui sont autorisés à entrer sur mon serveur. A toi de voir avec tes amis pour qu’ils te fournissent cette information. Sachant qu’il te faudra modifier les règles de ta Box au fur et à mesure que de nouvelles personnes souhaiteront se connecter chez toi. Un bon moyen de faire du tri dans tes amis, hein ?
Yesssss ! Bon, on a tout paramétré ? Il ne nous reste plus qu’à nous rendre à l’adresse suivante :
http://monadresseip.org/ et noter l’adresse IP publique qui s’affiche. Oui, c’est la tienne ! Et c’est celle que tu communiqueras à tes amis qui se précipiteront sur Minecraft, à l’option « Multijoueur » pour ajouter ton serveur dont ils donneront le nom qu’ils veulent mais l’adresse que tu leur a communiqué sous la forme : mon.adr.esse.ip:25565 . Ah bah oui, on n’est plus sur du réseau local et la Box ne sait pas que ton copain il veut accéder à ton serveur dont le port est 25565. Si tu ne veux pas que ton pote soit bloqué par la Box, il devra dire pourquoi il veut entrer sur ton réseau. C’est le port qui servira de carte d’identité.
Pfiouuuuu ! J’suis encore tout essoufflé de toute cette diatribe ! Mais, c’est bon, notre serveur est paramétré, lancé et accessible. Tu es l’heureux créateur d’un serveur Vanilla, tout simple, mais tout à fait fonctionnel et pas si ridicule que ça si tu mets un peu les mains dans le cambouis.
Certains rédacteurs sont très compétents en matière de blocs de commandes et les autoriser sur ton serveur (server.properties ?) ainsi qu’avec de l’imagination, tu es prêt à rendre ton serveur attractif.
Pour aller plus loin :
Bien que l’administration de ton serveur ne soit pas aussi poussée qu’avec un serveur Spigot ou Bukkit, le minimum vital existe aussi sur Vanilla. Et c’est dans notre dossier « serveur » que se trouvent les fichiers utiles à la gestion des utilisateurs.
Tu as beau avoir créé le serveur, tu n’en es pas pour autant administrateur à ses yeux. Il n’y en a aucun d’ailleurs. Même toi, tu es un simple joueur. Mais, c’est aussi toi qui as la console sous tes yeux et qui peux y inscrire ce que tu veux. Comme spécifier que c’est toi le patron. Pour ça, un certain nombre de commandes sont possibles dans la console.
Essaie de taper help en bas à droite et appuie sur entrée. Tu verras une liste non exhaustive des commandes disponibles par la console. Il y a en tout 9 pages d’aide. Pour les voir, tape « help 2 » ou « help 3 » jusqu’à la page 9 pour faire défiler toutes les commandes.
La plus intéressante pour toi, Maître du Jeu, c’est certainement la commande « op ». C’est grâce à elle que tu pourras utiliser toutes les commandes en cours de jeu. Dans la console, tape « op ton_pseudo_ig ». Tu devrais avoir la réponse « opped ton_pseudo_ig ». Hourraaaa ! Désormais tu peux bannir, dé bannir, téléporter les joueurs à ta guise et les kicker (j’aime bien ça, c’est rigolo !), directement depuis le jeu et pas seulement par la console.
Parmi les fichiers qui pourraient t’être utiles, voici ceux pour lesquels une petite explication s’impose :
- banned-ips.json : un type se connecte à ton serveur et fout le dawa ? autant tu peux utiliser la commande « /ban » sous Minecraft, autant tu peux aussi lui interdire l’accès par son adresse IP publique. On ne sait jamais ! Tu le « ban » mais il possède un second compte Minecraft (ou pique celui de son petit frère, le saligot !). En spécifiant son adresse IP, point de salut pour le lascar ! Il te suffit d’éditer le fichier et renseigner l’adresse IP à bannir.
- banned-players.json : Même principe que le fichier précédent. Tu peux indiquer les pseudos des joueurs à bannir. Ce fichier s’auto complète quand tu utilises la commande « ban » à partir de Minecraft, en tant qu’opérateur. Tu verras que les informations sont encore plus complètes (UUID, pseudo, etc.). Je ne détaillerai pas.
- ops.json : C’est la liste des joueurs qui bénéficient du titre d’opérateur (op, administrateur, quoi). Comme le fichier précédent, tu peux le compléter à l’aide de ton éditeur de texte favori et il se remplira tout seul si tu utilises la commande « op » depuis Minecraft.
- whitelist.json : Attention ! Si tu remplis ce fichier, seuls les joueurs dont les pseudos figurent dans cette liste pourront se connecter à ton serveur.
Pour info, il est assez complexe de remplir ces fichiers manuellement. Les infos sont structurées de la sorte :
[
{
« uuid »: « fxxd5cxx-xx59-4xxe-9×51-56xxxxx4b83f0 »,
« name »: « __TheShining__ »
}
]
A chaque joueur son paragraphe. Moi, j’ai tronqué une partie de l’UUID pour ce tutoriel. Alors plutôt que de se taper tout à la main, au risque de faire une erreur qui générerait un souci de chargement de la whitelist, il y a une commande qui existe dans Minecraft en tant qu’administrateur. Réunis tous tes amis et par la commande « whitelist add pseudo_de_ton_pote », tu les ajoutes un à un à ta liste blanche. Après avoir relancé ton serveur, seuls ces joueurs pourront ce connecter.
Idem pour tous les autres fichiers json dont j’ai parlé. Ils ont une commande qui leur est spécifique qui permettra de compléter vos fichiers. Pour banned-ips.json, tu as la commande « /ban-ip » suivie de l’adresse IP à bannir.
Conclusion :
Voili-voilou, mon ami Minecraftien. J’espère que tu auras lu ce tutoriel avec autant de plaisir que j’ai eu à le rédiger. Il y a certainement des choses dont j’ai oublié de te parler, mais je pense que tu es maintenant armé pour te lancer dans la création de ton propre serveur Vanilla. Plus tard, tu auras peut-être envie de franchir le cap d’un serveur Spigot, mais dans l’immédiat, amusez-vous bien, toi et tes amis !