Création et configuration d'un serveur Minecraft

Création et configuration d'un serveur Minecraft

Minecraft est aujourd’hui l’un des jeux en ligne les plus populaires. En moins de trois ans (la première sortie officielle a eu lieu à l'automne 2011), il a conquis des millions de fans à travers le monde.

Les développeurs de jeux se concentrent délibérément sur les meilleurs exemples d'il y a vingt ans, lorsque de nombreux jeux, selon les normes actuelles, étaient primitifs en termes de graphismes et imparfaits en termes de convivialité, mais en même temps ils étaient vraiment passionnants.

Comme tous les jeux sandbox, Minecraft offre à l'utilisateur de grandes opportunités de créativité - c'est en fait le principal secret de sa popularité.

L'organisation des serveurs pour jouer en mode multijoueur est réalisée par les joueurs eux-mêmes et leurs communautés. Aujourd'hui, des dizaines de milliers de serveurs de jeux fonctionnent sur Internet (voir par exemple la liste ici).

Il y a de nombreux fans de ce jeu parmi nos clients et ils louent du matériel pour des projets de jeux dans nos centres de données. Dans cet article, nous parlerons des points techniques auxquels vous devez prêter attention lors du choix d'un serveur pour
Minecraft.

Choisir une plateforme

Le jeu Minecraft comprend les éléments architecturaux suivants :

  1. serveur - un programme avec lequel les joueurs interagissent les uns avec les autres sur un réseau ;
  2. client - un programme de connexion au serveur, installé sur l'ordinateur du joueur ;
  3. plugins - ajouts au serveur qui ajoutent de nouvelles fonctions ou étendent les anciennes ;
  4. mods - ajouts au monde du jeu (nouveaux blocs, objets, fonctionnalités).

Il existe de nombreuses plates-formes de serveur pour Minecraft. Les plus courants et les plus populaires sont Vanilla et Bukkit.

Vanille Il s'agit de la plateforme officielle des développeurs du jeu. Distribué en versions graphique et 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 lecteur). Un autre inconvénient majeur est le manque de plugins.

bukkit a été créé par un groupe de passionnés qui ont tenté d'améliorer le serveur officiel de Minecraft. La tentative s'est avérée assez réussie : en termes de fonctionnalités, Bukkit est beaucoup plus large que Vanilla - principalement en raison de la prise en charge de divers mods et plugins. Dans le même temps, il consomme moins de mémoire par lecteur - environ 5 à 10 Mo.

Les inconvénients de Bukkit sont qu’il consomme trop de RAM lors de son exécution. De plus, plus le serveur tourne longtemps, plus il nécessite de mémoire (même s'il y a peu de joueurs). Lorsque vous choisissez Bukkit comme serveur, vous devez garder à l’esprit que ses nouvelles versions contiennent généralement des erreurs ; La version stable apparaît généralement environ 2 à 3 semaines après la sortie de la version officielle de Minecraft.

De plus, d'autres plates-formes ont récemment gagné en popularité (par exemple, Spout, MCPC et MCPC +), mais elles diffèrent par une compatibilité limitée avec Vanilla et Bukkit et une prise en charge très limitée des mods (par exemple, vous ne pouvez écrire des mods pour Spout qu'à partir de zéro. ). S'ils sont utilisés, alors uniquement à des fins d'expérimentation.

Pour organiser un serveur de jeu, nous vous recommandons d'utiliser la plateforme Bukkit, car c'est la plus flexible ; De plus, il existe de nombreux mods et plugins différents. Le fonctionnement stable du serveur Minecraft dépend en grande partie du bon choix de la plate-forme matérielle. Examinons cette question plus en détail.

Exigences matérielles

Le serveur et le client Minecraft sont très exigeants en ressources système.
Lors du choix d'une plate-forme matérielle, il convient de garder à l'esprit qu'un processeur multicœur n'apportera pas de grands avantages : le cœur du serveur Minecraft ne peut utiliser qu'un seul thread de calcul. Le deuxième noyau sera cependant utile : certains plugins sont exécutés dans des threads séparés, et Java consomme également beaucoup de ressources...

Par conséquent, pour un serveur Minecraft, il est préférable de choisir un processeur offrant des performances monocœur plus élevées. Un processeur dual-core plus puissant sera préféré à un processeur multi-core moins puissant. Sur les forums spécialisés, il est recommandé d'utiliser des processeurs avec une fréquence d'horloge d'au moins 3 GHz.

Une grande quantité de RAM est nécessaire au fonctionnement normal du serveur Minecraft. Bukkit occupe environ 1 Go de RAM ; de plus, pour chaque joueur, comme mentionné ci-dessus, de 5 à 10 Mo sont alloués. Les plugins et mods consomment également beaucoup de mémoire. Pour un serveur de 30 à 50 joueurs, vous aurez donc besoin d'au moins 4 Go de RAM.

Dans Minecraft, beaucoup (par exemple, le chargement des mêmes plugins) dépend de la vitesse du système de fichiers. Il est donc préférable de choisir un serveur doté d’un disque SSD. Il est peu probable que les entraînements de broche conviennent en raison de la faible vitesse de lecture aléatoire.

La vitesse de la connexion Internet est également d'une grande importance. Pour une partie de 40-50 personnes, un canal à 10 Mb/s suffit. Cependant, pour ceux qui envisagent un projet Minecraft plus vaste, comprenant un site Web, un forum et une carte dynamique, il est hautement souhaitable de disposer d'un canal avec une bande passante plus élevée.

Quelle configuration spécifique est-il préférable de choisir ? Depuis configurations que nous proposons Nous vous recommandons de prêter attention aux points suivants :

  • Intel Core 2 Duo E8400 3 GHz, 6 Go de RAM, 2 x 500 Go SATA, 3000 XNUMX RUR/mois ;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 Go de RAM, 2 × 500 Go SATA, 3500 XNUMX roubles/mois - nous utilisons cette configuration pour notre serveur de test MineCraft, sur lequel vous pouvez jouer dès maintenant (comment procéder est décrit ci-dessous) ;
  • Intel Core i3-2120 3.3 GHz, 8 Go de RAM, 2x500 Go SATA, 3500 XNUMX roubles/mois

Ces configurations sont tout à fait adaptées pour créer un serveur Minecraft pour 30 à 40 joueurs. Un inconvénient est le manque de disques SSD, mais nous donnons un autre avantage important : un canal garanti à 100 Mb/s sans aucune restriction ni ratio. Lors de la commande de toutes les configurations listées ci-dessus, les frais d'installation ne sont pas facturés.

Nous avons également des serveurs plus productifs, mais en même temps, bien sûr, plus chers (lors de la commande de ces configurations, le paiement d'installation n'est pas non plus facturé) :

  • 2x Intel Xeon 5130, 2 GHz, 8 Go de RAM, 4x160 Go SATA, 5000 XNUMX roubles/mois ;
  • 2x IntelXeon 5504, 2 GHz, 12 Go de RAM, 3 × 1 To SATA, 9000 XNUMX roubles/mois.

Nous vous recommandons également de prêter attention au nouveau modèle économique avec un lecteur SSD basé sur le processeur Intel Atom C2758 : Intel Atom C2758 2.4 GHz, 16 Go de RAM, 2x240 Go SSD, 4000 3000 roubles/mois, paiement d'installation - XNUMX XNUMX roubles.

Installation et exécution du serveur Bukkit dans Ubuntu OC

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

$ sudo useradd -m -s /bin/bash <nom d'utilisateur> $ sudo adduser <nom d'utilisateur> sudo

Ensuite, nous définirons le mot de passe sous lequel l'utilisateur créé se connectera au serveur :

$ sudo passwd <nom d'utilisateur>

Reconnectez-vous au serveur sous un nouveau compte et procédez à l'installation.
Minecraft est écrit en Java, donc Java Runtime Environment doit être installé sur le serveur.

Mettez à jour la liste des packages disponibles :

$ sudo apt-get mise à jour

Exécutez ensuite la commande suivante :

$ sudo apt-get install default-jdk

Pour installer et exécuter Bukkit, il est également souhaitable d'installer un multiplexeur de terminal - par exemple, screen (d'autres multiplexeurs de terminaux peuvent être utilisés - voir notre vue d'ensemble):

$ sudo apt-get écran d'installation

L'écran sera nécessaire si nous nous connectons au serveur de jeu via ssh. Avec lui, vous pouvez démarrer le serveur Minecraft dans une fenêtre de terminal séparée, et même après avoir fermé le client ssh, le serveur fonctionnera.

Créons un répertoire où seront stockés les fichiers du serveur :

$ mkdir bukkit $ cd bukkit

Après cela, allons à Page de téléchargement du site officiel de Bukkit. Dans la partie supérieure droite de la page, vous pouvez voir un lien vers la dernière version du serveur dont l'utilisation est recommandée (version recommandée). Nous vous recommandons de le télécharger :

$ wget <lien vers la version recommandée>

Maintenant, exécutons screen :

$ écran sudo

et exécutez la commande suivante :

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

Expliquons ce que signifient les paramètres utilisés :

  • Xmx1024M - quantité maximale de RAM par serveur ;
  • jar craftbukkit.jar - clé du serveur ;
  • o false - autorise l'accès au serveur à partir de clients piratés.

Le serveur va démarrer.
Vous pouvez arrêter le serveur en tapant la commande stop dans la console.

Installation et configuration du serveur

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

  • generate-settings - définit le modèle pour générer un monde super plat ;
  • Allow-Nether - détermine la possibilité de transition vers le Nether. Par défaut, ce paramètre est défini sur true. S'il est défini sur false, alors tous les joueurs du Nether seront déplacés vers la normale ;
  • level-name est le nom du dossier du fichier de carte qui sera utilisé pendant le jeu. Le dossier se trouve dans le même répertoire que les fichiers du serveur. S'il n'existe pas de répertoire de ce type, le serveur crée automatiquement un nouveau monde et le place dans un répertoire du même nom ;
  • activate-query - lorsqu'il est défini sur true, active le protocole GameSpy4 pour écouter le serveur ;
  • Allow-Flight - Autorise les vols dans le monde Minecraft. La valeur par défaut est false (pas de vols) ;
  • server-port - spécifie le port qui sera utilisé par le serveur de jeu. Le port par défaut pour Minecraft est 25565. Nous vous déconseillons de modifier ce paramètre ;
  • level-type - définit le type du monde (DEFAUT/FLAT/LARGEBIOMES) ;
  • activer-rcon - ouvre l'accès à distance à la console du serveur. Il est désactivé (faux) par défaut ;
  • level-seed - entrée pour le générateur de niveau. Pour pouvoir créer des mondes aléatoires, ce champ doit rester vide ;
  • force-gamemode - définit les joueurs se connectant au serveur sur le mode de jeu standard ;
  • server-ip - spécifie l'adresse IP qui sera utilisée par les joueurs pour se connecter au serveur ;
  • max-build-height - spécifie la hauteur maximale d'un bâtiment sur le serveur. Sa valeur doit être un multiple de 16 (64, 96, 256, etc.) ;
  • spawn-npcs - autorise (si défini sur true) ou interdit (si défini sur false) l'apparition de PNJ dans les villages ;
  • liste blanche - active et désactive l'utilisation d'une liste blanche de joueurs sur le serveur. S'il est défini sur true, l'administrateur pourra créer une liste blanche en y ajoutant manuellement les surnoms des joueurs. S'il est défini sur false, alors tout utilisateur connaissant son adresse IP et son port peut accéder au serveur ;
  • spawn-animals - permet aux monstres amis d'apparaître automatiquement s'ils sont définis 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 est le fichier de texture qui sera utilisé lorsque le lecteur se connectera au serveur. La valeur de ce paramètre est le nom de l'archive zip avec les textures, qui est stockée dans le même répertoire que le serveur ;
  • mode en ligne - permet de vérifier les comptes premium des utilisateurs se connectant au serveur. Si ce paramètre est défini sur true, seuls les titulaires d'un compte premium pourront accéder au serveur. Si la vérification du compte est désactivée (définie sur false), alors tous les utilisateurs peuvent accéder au serveur (y compris, par exemple, les joueurs qui ont falsifié leur surnom), ce qui crée des risques de sécurité supplémentaires. Lorsque la vérification est désactivée, vous pouvez jouer à Minecraft sur un réseau local, sans accès à Internet ;
  • pvp - autorise ou interdit aux joueurs de se battre. Si ce paramètre est défini sur true, alors les joueurs peuvent s'entre-détruire. Si la valeur est false, les joueurs ne peuvent pas s'infliger de dégâts directs ;
  • difficulté - définit le niveau de difficulté du jeu. Peut prendre des valeurs de 0 (le plus facile) à 3 (le plus difficile) ;
  • gamemode - spécifie quel mode de jeu sera défini pour les joueurs rejoignant le serveur. Peut prendre les valeurs suivantes : 0 - Survie, 1-Création, 2-Aventure ;
  • player-idle-timeout - temps d'inactivité (en minutes), après quoi les joueurs sont automatiquement déconnectés du serveur ;
  • max-players - le nombre maximum de joueurs autorisés sur le serveur (de 0 à 999) ;
  • spawn-monsters - permet (si défini sur true) l'apparition de monstres hostiles ;
  • generate-structures - active (vrai) / désactive (faux) la génération de structures (trésors, forteresses, villages) ;
  • view-distance - ajuste le rayon des morceaux mis à jour à envoyer au joueur ; peut prendre des valeurs de 3 à 15.

Les journaux du serveur Minecraft sont écrits dans le fichier server.log. Il est stocké dans le même dossier que les fichiers du serveur. La taille du journal augmente constamment, occupant de plus en plus d'espace disque. Vous pouvez rationaliser le fonctionnement du mécanisme de journalisation à l'aide de ce que l'on appelle la rotation des journaux. Pour la rotation, un utilitaire spécial est utilisé - logrotate. Il limite le nombre d'entrées dans le journal à une certaine limite.

Vous pouvez configurer la rotation des journaux afin que toutes les entrées soient supprimées dès que le fichier journal atteint une certaine taille. Vous pouvez également définir une période après laquelle toutes les anciennes entrées seront considérées comme non pertinentes et supprimées.

Les principaux paramètres de rotation se trouvent dans le fichier /etc/logrotate.conf ; de plus, des paramètres individuels peuvent être créés pour chaque application. Les fichiers avec des paramètres individuels sont stockés dans le répertoire /etc/logrotate.d.

Créez un fichier texte /etc/logrotate.d/craftbukkit et entrez-y les paramètres suivants :

/home/craftbukkit/server.log { rotation de 2 fois par semaine, compresse manquante notifempty }

Examinons leurs significations plus en détail :

  • le paramètre rotate spécifie le nombre de rotations avant de supprimer le fichier ;
  • hebdomadaire indique que la rotation sera effectuée chaque semaine (d'autres paramètres peuvent être définis : mensuel - mensuel et quotidien - quotidien) ;
  • compress spécifie que les journaux archivés doivent être compressés (l'option est nocompress) ;
  • manquantok précise qu'en l'absence de fichier journal, le travail doit continuer et aucun message d'erreur ne doit être affiché ;
  • notifempty spécifie de ne pas déplacer le fichier journal s'il est vide.

Vous pouvez en savoir plus sur les paramètres de rotation des journaux ici.

Conseils d'optimisation

Réservez immédiatement que cette section fournira des conseils liés uniquement à l'optimisation du serveur de jeu. Les questions de réglage fin et d'optimisation du serveur sur lequel Minecraft est installé sont un sujet distinct qui dépasse le cadre de cet article ; les lecteurs intéressés peuvent facilement trouver les informations dont ils ont besoin sur Internet.

L'un des problèmes les plus courants qui surviennent lors de la lecture de Minecraft sont ce que l'on appelle les décalages - des situations dans lesquelles le programme ne répond pas à temps aux entrées de l'utilisateur. Ils peuvent être causés par des problèmes aussi bien du côté client que du côté serveur. Ci-dessous, nous donnerons des recommandations qui aideront à réduire le risque de problèmes côté serveur.

Surveiller régulièrement la consommation mémoire du serveur et des plugins

La consommation de mémoire peut être surveillée à l'aide de plugins d'administration spécialisés - par exemple, LagMètre.

Restez à l'écoute des mises à jour des plugins

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

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

Les gros plugins (par exemple Essentials, AdminCMD, CommandBook) incluent très souvent les fonctionnalités de nombreux petits plugins. Par exemple, le même Essential contient les fonctions des plugins iConomy, uHome, OpenInv, VanishNoPacket, Kit. Les petits plug-ins, dont la fonctionnalité est entièrement couverte par la fonctionnalité d'un grand, peuvent dans la plupart des cas être supprimés afin de ne pas surcharger le serveur.

Limitez la carte et téléchargez-la vous-même

Si vous ne limitez pas la carte, la charge sur le serveur augmentera considérablement. Vous pouvez limiter la carte à l'aide du plugin Frontière mondiale. Pour ce faire, vous devez exécuter ce plugin et exécuter la commande /wb 200, puis dessiner la carte à l'aide de la commande /wb fill.

Bien sûr, dessiner prendra beaucoup de temps, mais il est préférable de le faire une fois, en fermant le serveur pour des travaux techniques. Si chaque joueur dessine la carte, le serveur fonctionnera lentement.

Remplacez les plugins lourds par des plugins plus rapides et moins gourmands en ressources

Tous les plugins pour Minecraft ne peuvent pas être qualifiés de réussis : ils contiennent souvent de nombreuses fonctions inutiles et inutiles, et parfois ils consomment également beaucoup de mémoire. Il est préférable de remplacer les plugins infructueux par des plugins alternatifs (il y en a beaucoup). Par exemple, le plugin LWC peut être remplacé par Wgfix+MachineGuard et le plugin DynMap par Minecraft Overviewer.

Nettoyez toujours le drop ou installez un plugin pour supprimer automatiquement le drop

Les drops dans les jeux sont des objets qui disparaissent lorsqu'un groupe meurt ou que certains blocs sont détruits. Le stockage et le traitement des gouttes consomment beaucoup de ressources système.

Pour que le serveur fonctionne plus rapidement, il est conseillé de supprimer le drop. Il est préférable d'utiliser des plugins spéciaux pour cela, par exemple NoLagg ou McClean.

N'utilisez pas d'anti-triche

Des soi-disant anti-triches sont souvent installés sur les serveurs de jeux - des programmes qui bloquent les tentatives d'influencer le jeu de manière malhonnête.

Il existe également des anti-triches pour Minecraft. Tout anti-triche représente toujours une charge supplémentaire sur le serveur. Il est préférable d'installer des protections pour le lanceur (qui ne donnent cependant pas une garantie absolue de sécurité et se cassent facilement - mais c'est un sujet pour une discussion séparée) et pour le client.

Au lieu d'une conclusion

Toutes les instructions et recommandations sont beaucoup plus efficaces si elles sont étayées par des exemples spécifiques. Sur la base des instructions d'installation ci-dessus, nous avons créé notre propre serveur MineCraft et mis quelque chose d'intéressant sur la carte.

Voici ce que nous avons obtenu :

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

Nous invitons tout le monde à y jouer : pour vous connecter, ajoutez un nouveau serveur et précisez l'adresse mncrft.slc.tl.

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

Bonne nouvelle : Depuis le 1er août, les frais d'installation des serveurs dédiés à configuration fixe ont été réduits de 50 %. Désormais, le paiement d'installation unique n'est que de 3000 XNUMX roubles.

Les lecteurs qui ne peuvent pas laisser de commentaires ici sont invités à nous rendre visite à Blog.

Source: habr.com

Ajouter un commentaire