Création et configuration du serveur Minecraft

Création et configuration du serveur Minecraft

Minecraft fait aujourd'hui partie des jeux en ligne les plus populaires. En moins de trois ans (le premier lancement officiel ayant eu lieu Ă  l'automne 2011), il a conquis des millions de fans Ă  travers le monde.

Les développeurs du jeu s'inspirent délibérément des meilleurs exemples de deux décennies passées, lorsque de nombreux jeux étaient d'une simplicité presque primitive aujourd'hui en termes de graphisme et d'ergonomie, mais étaient pourtant véritablement captivants.

Comme tous les jeux de type bac à sable, Minecraft offre aux utilisateurs d'énormes possibilités créatives - c'est là, en réalité, le principal secret de sa popularité.

L'organisation des serveurs pour le jeu en mode multijoueur est gérée par les joueurs et leurs communautés. Aujourd'hui, des dizaines de milliers de serveurs de jeu sont actifs sur Internet (voir, par exemple, la liste ici).

Il y a beaucoup de fans de ce jeu parmi nos clients, et ils louent dans nos centres de données du matériel pour leurs projets de jeu. Dans cet article, nous allons parler des aspects techniques à prendre en compte lors du choix d'un serveur pour
Minecraft.

Choisir une plateforme

Minecraft se compose des éléments architecturaux suivants :

  1. serveur – un programme qui permet aux joueurs d'interagir entre eux via le rĂ©seau;
  2. client – un programme pour se connecter au serveur, installĂ© sur l'ordinateur du joueur;
  3. plugins – des ajouts au serveur qui ajoutent de nouvelles fonctionnalitĂ©s ou Ă©tendent les anciennes;
  4. mods – des ajouts au monde de jeu (nouveaux blocs, objets, fonctionnalitĂ©s).

Il existe de nombreuses plateformes serveur pour Minecraft. Les plus courantes et populaires sont Vanilla et Bukkit.

Vanille c'est la plateforme officielle des dĂ©veloppeurs du jeu. Elle est disponible Ă  la fois en version graphique et en version console. Une nouvelle version de Vanilla sort toujours en mĂȘme temps qu'une nouvelle version de Minecraft.

L'inconvénient de Vanilla est sa consommation excessive de mémoire (environ 50 Mo par joueur). Un autre inconvénient notoire est l'absence de plugins.

Bukkit a été créé par un groupe d'enthousiastes qui ont tenté d'améliorer le serveur officiel de Minecraft. Cette tentative a été assez réussie : en termes de fonctionnalités, Bukkit est bien plus vaste que Vanilla, surtout grùce à son support pour divers mods et plugins. De plus, il consomme moins de mémoire par joueur, soit environ 5 à 10 Mo.

Les inconvĂ©nients de Bukkit rĂ©sident dans le fait qu'il consomme trop de mĂ©moire vive lors du lancement. De plus, plus le serveur reste en activitĂ© longtemps, plus il nĂ©cessite de mĂ©moire (mĂȘme si peu de joueurs sont connectĂ©s). En choisissant Bukkit comme serveur, il faut tenir compte que ses nouvelles versions contiennent gĂ©nĂ©ralement des bugs ; la version stable apparaĂźt habituellement environ deux Ă  trois semaines aprĂšs la sortie de la version officielle de Minecraft.

De plus, d'autres plateformes gagnent en popularitĂ© rĂ©cemment (par exemple, Spout, MCPC et MCPC+), mais elles diffĂšrent par leur compatibilitĂ© limitĂ©e avec Vanilla et Bukkit et un soutien extrĂȘmement restreint pour les mods (par exemple, pour Spout, seul le dĂ©veloppement de mods depuis zĂ©ro est possible). Si l'on souhaite les utiliser, ce ne doit ĂȘtre que pour des expĂ©riences.

Pour organiser un serveur de jeu, nous recommandons d'utiliser la plateforme Bukkit, car elle offre la plus grande flexibilité ; de plus, il existe de nombreux mods et plugins variés disponibles. Le bon fonctionnement du serveur Minecraft dépend en grande partie d'un choix judicieux de la plateforme matérielle. Examinons cette question plus en détail.

Exigences matérielles

Le serveur comme le client Minecraft sont trĂšs exigeants en matiĂšre de ressources systĂšme.
Lors du choix de la plateforme matĂ©rielle, il convient de noter qu'un processeur multicƓur n'apportera pas beaucoup d'avantages : le cƓur du serveur Minecraft ne peut utiliser qu'un seul thread de calcul. Cependant, un deuxiĂšme cƓur sera utile : certains plugins s'exĂ©cutent dans des threads sĂ©parĂ©s, et Java elle-mĂȘme consomme aussi beaucoup de ressources


Ainsi, pour Minecraft-de serveurs il est prĂ©fĂ©rable de choisir un processeur avec une meilleure performance par cƓur. Un processeur double cƓur plus puissant sera plus adaptĂ© qu'un processeur multicƓur moins performant. Sur des forums spĂ©cialisĂ©s, il est recommandĂ© d'utiliser des processeurs avec une frĂ©quence d'horloge d'au moins 3 GHz.

Pour le bon fonctionnement d'un serveur Minecraft, il faut une quantité importante de mémoire vive. Bukkit nécessite environ 1 Go de RAM ; de plus, pour chaque joueur, comme mentionné précédemment, il faut entre 5 et 10 Mo. Les plugins et les mods consomment également pas mal de mémoire. Pour un serveur de 30 à 50 joueurs, il faudra donc au moins 4 Go de RAM.

Dans Minecraft, beaucoup de choses (comme le chargement des mĂȘmes plugins) dĂ©pendent de la vitesse du systĂšme de fichiers. Il est donc prĂ©fĂ©rable de choisir un serveur avec un disque SSD. Les disques Ă  plateau conviendront difficilement en raison de leur faible vitesse de lecture alĂ©atoire.

La vitesse de connexion Internet est également d'une grande importance. Pour un jeu de 40-50 personnes, une bande passante de 10 Mo/s est largement suffisante. Cependant, pour ceux qui prévoient un projet Minecraft plus ambitieux, comprenant un site, un forum et une carte dynamique, il est fortement souhaitable d'avoir une bande passante plus élevée.

Quelle configuration choisir ? Parmi les configurations que nous proposons, nous recommandons de se concentrer sur les suivantes :

  • Intel Core 2 Duo E8400 3 GHz, 6 Go de RAM, 2×500 Go SATA, 3000 ₜ/mois ;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 Go de RAM, 2×500 Go SATA, 3500 ₜ/mois - cette configuration est celle que nous utilisons pour notre serveur de test MineCraft, sur lequel vous pouvez jouer en ce moment (les instructions pour cela sont donnĂ©es ci-dessous) ;
  • Intel Core i3-2120 3.3 GHz, 8 Go de RAM, 2×500 Go SATA, 3500 ₜ/mois.

Ces configurations conviennent parfaitement pour un serveur Minecraft de 30 à 40 joueurs. Un inconvénient est l'absence de disques SSD, mais nous offrons un autre avantage non négligeable : un canal garanti de 100 Mo/s sans aucune restriction ni ratio. Lors de la commande de toutes les configurations mentionnées ci-dessus, aucun frais d'installation n'est facturé.

Nous avons aussi des serveurs plus puissants, mais naturellement plus chers (lors de la commande de ces configurations, aucun frais d'installation n'est également appliqué) :

  • 2× Intel Xeon 5130, 2 GHz, 8 Go de RAM, 4×160 Go SATA, 5000 ₜ/mois ;
  • 2× Intel Xeon 5504, 2 GHz, 12 Go de RAM, 3×1 To SATA, 9000 ₜ/mois.

Nous recommandons Ă©galement de prĂȘter attention Ă  un nouveau modĂšle Ă©conomique avec disque SSD basĂ© sur le processeur Intel Atom C2758 : Intel Atom C2758 2.4 GHz, 16 Go de RAM, 2×240 Go SSD, 4000 ₜ/mois, frais d'installation - 3000 ₜ.

Installation et lancement du serveur Bukkit sous Ubuntu OS.

Avant d'installer le serveur, créons un nouvel utilisateur et ajoutons-le au groupe sudo :

$ sudo useradd -m -s /bin/bash 
$ sudo adduser  sudo

Ensuite, définissons le mot de passe avec lequel l'utilisateur créé se connectera au serveur :

$ sudo passwd

Reconnectons-nous au serveur avec le nouveau compte et commençons l'installation.
Minecraft est écrit en Java, il est donc impératif d'installer Java Runtime Environment sur le serveur.

Mettons Ă  jour la liste des paquets disponibles :

$ sudo apt-get update

Exécutons ensuite la commande suivante :

$ sudo apt-get install default-jdk

Pour installer et exĂ©cuter Bukkit, il est Ă©galement recommandĂ© d'installer un multiplexeur de terminal, tel que screen (d'autres multiplexeurs de terminal peuvent Ă©galement ĂȘtre utilisĂ©s - voir notre la revue):

$ sudo apt-get install screen

Screen sera nĂ©cessaire si nous nous connectons au serveur de jeu via ssh. GrĂące Ă  cela, nous pourrons exĂ©cuter le serveur Minecraft dans une fenĂȘtre de terminal distincte, et mĂȘme aprĂšs la fermeture du client ssh, le serveur continuera de fonctionner.

CrĂ©ons un rĂ©pertoire oĂč les fichiers du serveur seront stockĂ©s :

$ mkdir bukkit
$ cd bukkit

AprÚs cela, allons sur la page de téléchargement du site officiel de Bukkit. Dans le coin supérieur droit de la page, vous pouvez voir un lien vers la derniÚre version recommandée à utiliser (recommended build). Nous vous conseillons de la télécharger :

$ wget

Lançons maintenant screen :

$ sudo screen

et exécutons la commande suivante :

$ java -Xmx1024M -jar craftbukkit.jar -o false

Explications sur les paramÚtres utilisés :

  • Xmx1024M - quantitĂ© maximale de mĂ©moire vive sur le serveur ;
  • jar craftbukkit.jar - clĂ© vers le serveur ;
  • o false - permet l'accĂšs au serveur depuis des clients pirates.

Le serveur sera lancé.
Pour arrĂȘter le serveur, tapez la commande stop dans la console.

Configuration et paramétrage du serveur

Les paramÚtres du serveur sont stockés dans le fichier de configuration server.properties. Il contient les paramÚtres suivants :

  • generator-settings - dĂ©finit le modĂšle de gĂ©nĂ©ration de monde super plat ;
  • allow-nether - dĂ©finit la possibilitĂ© d'accĂ©der au Nether. Par dĂ©faut, cette option est dĂ©finie sur true. Si elle est dĂ©finie sur false, tous les joueurs du Nether seront transfĂ©rĂ©s dans le monde normal ;
  • level-name — le nom du dossier contenant les fichiers de la carte qui sera utilisĂ©e pendant le jeu. Le dossier est placĂ© dans le mĂȘme rĂ©pertoire que les fichiers du serveur. Si ce rĂ©pertoire n'existe pas, le serveur crĂ©e automatiquement un nouveau monde et le place dans un rĂ©pertoire du mĂȘme nom;
  • enable-query — si dĂ©finie sur true, active le protocole GameSpy4 pour l'Ă©coute du serveur;
  • allow-flight — permet le vol dans le monde de Minecraft. Par dĂ©faut, cette option est dĂ©finie sur false (les vols sont interdits);
  • server-port — indique le port qui sera utilisĂ© par le serveur de jeu. Le port standard pour Minecraft est 25565. Il est conseillĂ© de ne pas modifier la valeur de ce paramĂštre;
  • level-type — dĂ©termine le type de monde (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — ouvre l'accĂšs Ă  distance Ă  la console du serveur. Par dĂ©faut, il est dĂ©sactivĂ© (false);
  • level-seed — entrĂ©e pour le gĂ©nĂ©rateur de niveaux. Pour pouvoir crĂ©er des mondes alĂ©atoires, ce champ doit rester vide;
  • force-gamemode — dĂ©finit le mode de jeu standard pour les joueurs se connectant au serveur;
  • server-ip — indique l'adresse IP qui sera utilisĂ©e par les joueurs pour se connecter au serveur;
  • max-build-height — indique la hauteur maximale de construction sur le serveur. Sa valeur doit ĂȘtre un nombre multiple de 16 (64, 96, 256, etc.);
  • spawn-npcs — permet (si dĂ©fini sur true) ou interdit (si dĂ©fini sur false) l'apparition de PNJ dans les villages;
  • white-list — active ou dĂ©sactive l'utilisation d'une liste blanche de joueurs sur le serveur. Si dĂ©fini sur true, l'administrateur peut former la liste blanche en ajoutant manuellement des pseudos de joueurs. Si dĂ©fini sur false, tout utilisateur connaissant l'adresse IP et le port peut se connecter au serveur;
  • spawn-animals — permet l'apparition automatique de mobs amicaux si dĂ©fini sur true;
  • snooper-enabled — permet au serveur d'envoyer des statistiques et des donnĂ©es aux dĂ©veloppeurs;
  • hardcore — active le mode Hardcore sur le serveur;
  • texture-pac — fichier de textures qui sera utilisĂ© lors de la connexion d'un joueur au serveur. Comme valeur de ce paramĂštre, on indique le nom de l'archive zip contenant les textures, qui est stockĂ©e dans le mĂȘme rĂ©pertoire que le serveur;
  • online-mode — active la vĂ©rification des comptes premium des utilisateurs se connectant au serveur. Si cette option est dĂ©finie sur true, seuls les propriĂ©taires de comptes premium pourront accĂ©der au serveur. Si la vĂ©rification des comptes est dĂ©sactivĂ©e (valeur false), n'importe quel utilisateur (y compris, par exemple, des joueurs ayant falsifiĂ© leur pseudo) pourra accĂ©der au serveur, ce qui crĂ©e des risques de sĂ©curitĂ© supplĂ©mentaires. Lorsque la vĂ©rification est dĂ©sactivĂ©e, il est possible de jouer Ă  Minecraft en rĂ©seau local, sans accĂšs Ă  Internet;
  • pvp — autorise ou interdit aux joueurs de s'affronter. Si ce paramĂštre vaut true, les joueurs peuvent se dĂ©truire mutuellement. Si la valeur est false, les joueurs ne peuvent pas infliger de dĂ©gĂąts directs les uns aux autres;
  • difficulty — dĂ©finit le niveau de difficultĂ© du jeu. Peut prendre des valeurs de 0 (le plus facile) Ă  3 (le plus difficile);
  • gamemode — indique quel mode de jeu sera dĂ©fini pour les joueurs se connectant au serveur. Peut prendre les valeurs suivantes : 0 — Survival, 1 — Creative, 2 — Adventure;
  • player-idle-timeout — temps d'inactivitĂ© (en minutes) aprĂšs lequel les joueurs sont automatiquement dĂ©connectĂ©s du serveur;
  • max-players — nombre maximal autorisĂ© de joueurs sur le serveur (de 0 Ă  999);
  • spawn-monsters — autorise (si la valeur est true) la gĂ©nĂ©ration de monstres hostiles;
  • generate-structures — active (true) / dĂ©sactive (false) la gĂ©nĂ©ration de structures (caches au trĂ©sor, forteresses, villages);
  • view-distance — rĂ©gule le rayon des chunks actualisĂ©s envoyĂ©s au joueur; peut prendre des valeurs de 3 Ă  15.

Les journaux du serveur minecraft sont enregistrĂ©s dans le fichier server.log. Il est conservĂ© dans le mĂȘme dossier que les fichiers du serveur. Le journal augmente constamment en taille, occupant de plus en plus d'espace disque. L'opĂ©ration du mĂ©canisme de journalisation peut ĂȘtre organisĂ©e Ă  l'aide de ce qu'on appelle la rotation des logs. Un utilitaire spĂ©cial nommĂ© logrotate est utilisĂ© pour cela. Il limite le nombre d'entrĂ©es dans le journal Ă  un certain seuil.

Il est possible de configurer la rotation des logs de maniÚre à ce que toutes les entrées soient supprimées dÚs que le fichier journal atteint une certaine taille. Il est également possible de définir une durée aprÚs laquelle toutes les anciennes entrées sont considérées comme obsolÚtes et supprimées.

Les paramĂštres principaux de rotation se trouvent dans le fichier /etc/logrotate.conf; de plus, des rĂ©glages individuels peuvent ĂȘtre créés pour chaque application. Les fichiers de configuration individuels sont stockĂ©s dans le rĂ©pertoire /etc/logrotate.d.

Créons un fichier texte /etc/logrotate.d/craftbukkit et y inscrivons les paramÚtres suivants :

/home/craftbukkit/server.log {
  rotate 2
  weekly
  compress
  missingok
  notifempty
}

Examinons leurs valeurs plus en détail :

  • le paramĂštre rotate indique le nombre de rotations avant la suppression du fichier;
  • weekly indique que la rotation sera effectuĂ©e chaque semaine (d'autres options peuvent ĂȘtre dĂ©finies : monthly - mensuellement et daily - quotidiennement);
  • compress indique que les journaux archivĂ©s doivent ĂȘtre compressĂ©s (l'option inverse est nocompress);
  • missingok indique que si le fichier journal est absent, il faut continuer Ă  fonctionner sans afficher de message d'erreur;
  • notifempty indique qu'il ne faut pas dĂ©placer le fichier journal s'il est vide.

Pour plus de détails sur les paramÚtres de rotation des journaux, vous pouvez lire ici.

Conseils pour l'optimisation

Nous préciserons d'emblée que cette section fournira des conseils uniquement sur l'optimisation du serveur de jeu. Les questions de réglage fin et d'optimisation du serveur sur lequel Minecraft est installé constituent un sujet à part, au-delà de cet article; les lecteurs intéressés pourront facilement trouver les informations nécessaires sur Internet.

L'un des problĂšmes les plus courants rencontrĂ©s lors de la partie Ă  Minecraft est ce que l'on appelle les lags - des situations oĂč le programme ne rĂ©agit pas Ă  temps aux entrĂ©es de l'utilisateur. Cela peut ĂȘtre dĂ» Ă  des problĂšmes du cĂŽtĂ© du client ou du serveur. Voici quelques recommandations pour rĂ©duire la probabilitĂ© de problĂšmes du cĂŽtĂ© serveur.

Surveillez réguliÚrement la consommation de mémoire par le serveur et les plugins

La consommation de mĂ©moire peut ĂȘtre suivie Ă  l'aide de plugins administratifs spĂ©cialisĂ©s - par exemple, LagMeter.

Suivez les mises Ă  jour des plugins

En rÚgle générale, les développeurs de nouveaux plugins s'efforcent de réduire la charge à chaque nouvelle version.

Essayez de ne pas utiliser de nombreux plugins avec des fonctionnalités similaires

Les grands plugins (comme Essentials, AdminCMD, CommandBook) incluent souvent des fonctionnalitĂ©s de nombreux petits plugins. Par exemple, Essentials contient des fonctions des plugins iConomy, uHome, OpenInv, VanishNoPacket, Kit. Les petits plugins dont les fonctionnalitĂ©s sont entiĂšrement couvertes par un grand plugin peuvent gĂ©nĂ©ralement ĂȘtre supprimĂ©s pour ne pas surcharger le serveur.

Limitez la carte et chargez-la vous-mĂȘme.

Si la carte n'est pas limitée, la charge sur le serveur augmentera considérablement. Vous pouvez limiter la carte à l'aide d'un plugin. WorldBorder. Pour cela, il faut activer ce plugin et exécuter la commande /wb 200, puis générer la carte à l'aide de la commande /wb fill.

La génération prendra bien sûr un certain temps, mais il est préférable de le faire une fois, en fermant le serveur pour maintenance. Si chaque joueur génÚre la carte, le serveur fonctionnera lentement.

Remplacez les plugins lourds par des alternatives plus rapides et moins gourmandes en ressources.

Tous les plugins pour Minecraft ne peuvent pas ĂȘtre qualifiĂ©s de rĂ©ussis : ils contiennent souvent de nombreuses fonctions superflues et parfois consomment beaucoup de mĂ©moire. Il est prĂ©fĂ©rable de remplacer les plugins peu performants par des alternatives (il en existe de nombreuses). Par exemple, le plugin LWC peut ĂȘtre remplacĂ© par Wgfix+MachineGuard, et le plugin DynMap par Minecraft Overviewer.

Veillez toujours Ă  nettoyer les drops ou Ă  installer un plugin pour la suppression automatique des drops.

Dans les jeux, les drops désignent les objets qui tombent lors de la mort d'un mob ou de la destruction de certains blocs. Le stockage et le traitement des drops consomment beaucoup de ressources systÚme.

Pour que le serveur fonctionne plus rapidement, il est préférable de supprimer les drops. Ceci est mieux réalisé à l'aide de plugins spéciaux, comme NoLagg ou McClean.

N'utilisez pas d'anti-cheats.

Sur les serveurs de jeu, on installe souvent ce qu'on appelle des anti-cheats : des programmes qui bloquent les tentatives d'influencer le jeu de maniÚre déloyale.

Il existe des anti-cheats pour Minecraft. Tout anti-cheat représente toujours une charge supplémentaire pour le serveur. Il est préférable d'installer des protections pour le launcher (qui, cependant, n'offrent aucune garantie de sécurité absolue et sont faciles à contourner - mais c'est un sujet pour une autre discussion) et pour le client.

En conclusion

Toute instruction et recommandation sont beaucoup plus efficaces lorsqu'elles sont soutenues par des exemples concrets. En nous basant sur les instructions d'installation ci-dessus, nous avons créé notre serveur MineCraft et ajouté quelque chose d'intéressant sur la carte.

Voici ce que nous avons obtenu :

  • Serveur Bukkit - la version recommandĂ©e et stable 1.6.4 ;
  • Plugin Statistics - pour collecter des statistiques sur les joueurs ;
  • Plugin WorldBorder - pour dessiner et limiter la carte ;
  • Plugin WorldGuard (+WorldEdit comme dĂ©pendance) - pour protĂ©ger certaines zones.

Nous invitons tous ceux qui le souhaitent Ă  jouer dessus : pour se connecter, ajoutez un nouveau serveur et indiquez l'adresse mncrft.slc.tl.

Nous serons ravis si vous partagez votre expérience d'installation, de configuration et d'optimisation des serveurs MineCraft dans les commentaires, et si vous nous dites quels mods et plugins vous intéressent et pourquoi.

Excellente nouvelle : À partir du 1er aoĂ»t, les frais d'installation pour les serveurs dĂ©diĂ©s de configuration fixe sont rĂ©duits de 50 %. Le frais d'installation unique s'Ă©lĂšve dĂ©sormais Ă  seulement 3000 roubles.

Nous invitons les lecteurs qui ne peuvent pas laisser de commentaires ici Ă  nous rejoindre dans blog.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster