11 votes

Réduire le décalage des serveurs Minecraft

J'ai récemment décidé de mettre en place un serveur Minecraft sur un vieux PowerEdge 1850 que j'avais à portée de main. J'aimerais commencer à m'étendre et à avoir plus de joueurs, mais j'ai eu d'énormes problèmes de lag lorsque le serveur a fonctionné pendant un jour ou deux. Il n'y a généralement que 4 ou 5 personnes connectées, et bien que la carte soit assez grande (~650 Mo), les gens ne se déplacent pas beaucoup. Cependant, après parfois seulement quelques heures, la redstone s'arrête et l'eau/la lave reste suspendue en l'air. Redémarrer le processus du serveur résout tous les problèmes de lag. Lorsque le serveur commence à être lent, il est toujours bien en dessous de l'utilisation de la mémoire autorisée, et l'utilisation du CPU est plutôt normale. L'effacement des entités ne semble pas aider. J'ai essayé à la fois CraftBukkit et CraftBukkit++, avec des résultats similaires. Voici les statistiques que j'ai obtenues :

  • 2 x Xeon @ 3.20GHz
  • 10 GB RAM (PC2-3200R 400MHz) (8 pour Minecraft)
  • 2 disques SCSI U320 de 300GB 10k RPM (RAID 1 matériel)
  • Environnement d'exécution Java(TM) SE (build 1.7.0_07-b10)
  • Linux 3.2.0-29-générique x86_64
  • Ubuntu 12.04.1 LTS
  • Version de CraftBukkit git-Bukkit-1.3.2-b286jnks (MC : 1.3.2)

Quelqu'un sait-il ce qui peut causer ce décalage et comment je peux résoudre le problème sans redémarrer le serveur toutes les quelques heures ?

0 votes

Juste pour savoir combien de redstones vous avez sur votre serveur. Je sais que, par exemple, un phare prend beaucoup de jus du serveur juste pour le faire fonctionner.

0 votes

Pas grand-chose pour l'instant, mais à l'avenir, j'aimerais être en mesure de soutenir un bon nombre de projets. Pour l'instant, la pierre rouge n'est utilisée que pour l'éclairage et quelques portes de pistons. Les grandes constructions complexes en redstone sont généralement temporaires et sont démontées quelques jours après leur construction.

0 votes

Quelle est la ligne de commande utilisée pour démarrer le serveur ?

5voto

Robotnik Points 36143

Si vous utilisez Java 7, il a été connu pour causer questions en cours d'exécution de Minecraft. Je téléchargerais java 6, et je ferais un essai.

De même, si votre serveur prend en charge la version 64 bits, choisissez cette version.

Mise à jour :

Le seul autre conseil que je puisse donner est de récupérer un plugin de redémarrage automatique du serveur pour bukkit, peut-être en essayer un, et le régler à 6 heures du matin ou à la date à laquelle votre serveur est le moins occupé. Ce n'est pas une solution exacte, mais peut-être une solution de rechange viable ?

Vous pouvez également en obtenir qui avertissent les joueurs connectés lorsque le serveur va redémarrer.

J'en ai déjà utilisé un dans le passé. Redémarrage simple . Il vous permet de définir des intervalles pour le redémarrage et d'avertir les joueurs à des moments précis.

J'espère que cela vous aidera

0 votes

C'est un bon coup : J'ai téléchargé Java à partir de l'endroit où j'ai toujours obtenu Java 6, mais je remarque maintenant qu'Oracle vous envoie discrètement vers une page de téléchargement de Java 7, alors que Java 6 atteindra sa fin de vie en février de l'année prochaine. Je vais tout de même essayer la rétrogradation et je vous ferai part des résultats.

0 votes

Le passage à Java 6 semble avoir quelque peu aidé, mais water et redstone s'arrêtent toujours au bout d'un jour ou deux. Je n'ai aucune idée de ce que je devrais faire d'autre.

0 votes

@Dan la seule autre solution que je peux suggérer est un plugin de redémarrage automatique pour bukkit (voir ma mise à jour). Je me rends compte que vous ne vouliez pas d'une telle solution mais au moins ce sera toutes les 24/48 heures environ au lieu de toutes les deux heures.

2voto

uncovery Points 1762

Vous devez analyser le problème et trouver une solution en éliminant les causes possibles. Voici les principales raisons du décalage :

  • manque de mémoire
  • Lecture HD
  • Charge du CPU
  • les bogues du logiciel.

Tous ces problèmes peuvent être résolus en ajoutant du matériel, mais selon la taille de votre serveur, vous ne pourrez pas les résoudre de façon permanente. Ils reviendront une fois le goulot d'étranglement atteint.

Tout d'abord, vous devez savoir où se trouve le goulot de la bouteille.

mémoire Pour la mémoire, vous avez besoin d'un des plugins qui vous permettent de surveiller l'utilisation de la mémoire. Essentials et Commandbook le permettent (AFAIk). Vous devez également vous assurer que votre serveur n'alloue pas toute la mémoire dès le départ, car cela vous empêchera de voir comment l'utilisation de la mémoire évolue. J'ai la commande de démarrage suivante pour un Quad core 16GB :

java -Xmx10G -Xmn512M -XX:ParallelGCThreads=4 -jar craftbukkit.jar nogui

Cela définit 512MB pour les trucs qui bougent plus vite et m'a beaucoup aidé. J'ai une utilisation maximale de 10 Go. Lorsque je démarre le serveur, il utilise à peu près seulement 2 Go et je peux voir avec la commande /mem de l'essentiel où je suis comme il augmente lentement au cours de la journée. Si vous vous rendez compte que vous manquez de mémoire, un redémarrage est souvent la seule solution. Il y a beaucoup de plugins qui ont des fuites de mémoire et qui ne rendent pas la mémoire après l'avoir utilisée. Un redémarrage programmé (je le fais une fois par 24 heures, lorsqu'il est 4 heures du matin aux États-Unis) fait l'affaire. Cela ne prend que 30 à 60 secondes de toute façon. Vous devez lire cette page pour avoir une meilleure idée des paramètres.

Chargement HD Celle-ci est plus délicate à détecter. Il est principalement affecté par les personnes qui rejoignent, quittent ou se téléportent, par une grande distance de visualisation et par une répartition générale des utilisateurs sur de grands espaces. La solution la plus simple est d'utiliser un disque de RAM. Si vous êtes à court de RAM, rappelez-vous que si vous avez plusieurs mondes, vous n'avez pas besoin d'avoir TOUS vos mondes dans le disque RAM. Créez un disque RAM et ne mettez que votre monde le plus fréquemment déplacé dedans, faites un lien symbolique et tout ira bien.

Charge du CPU Cette question est délicate car il y a plusieurs choses que vous aurez du mal à trouver. Les spawners mob, la redstone, les animaux et les mobs en général, peuvent causer beaucoup de lag. Vous devrez surveiller votre niveau de CPU. Vérifiez s'il fluctue si certains utilisateurs se joignent à vous ou si les gens vont dans certaines zones. Un de mes utilisateurs avait un grand champ de glace avec des torches dessus. Les torches faisaient fondre la glace de façon permanente et elle gelait à nouveau. Cela faisait perdre beaucoup de temps au serveur. Il existe également des plugins qui limitent le nombre de mobs. Les moutons qui mangent de l'herbe qui repousse sont un problème ici. Si vous avez des utilisateurs qui pensent qu'ils ont besoin d'une ferme de moutons avec 2 000 moutons, vous avez des problèmes. Établissez des règles et vérifiez ou limitez avec des plugins. Redstone est mauvais s'il fonctionne en permanence sans que personne n'appuie sur un bouton de démarrage. Vous devez établir une règle selon laquelle les engins de redstone ne doivent pas fonctionner tout seuls pendant plus de 2 ou 3 minutes. Obtenez un plugin comme Nolag et utilisez la commande /nl examine pour voir si vous pouvez localiser le lag à un plugin spécial.

Bugs logiciels Comme je l'ai déjà mentionné, il existe de nombreux plugins qui utilisent beaucoup de CPU ou de mémoire. Minecraft lui-même, Bukkit etc inclus. Vous devriez essayer de toujours utiliser la dernière version de Bukkit et vous mettre à jour sur les plugins. Minecraft lui-même provoque un lag massif, par exemple lorsque vous avez de la lave ou de l'eau qui coule sur une surface en grande quantité. Les chutes d'eau et de lave ne posent pas de problème, mais une coulée de lave de 200 blocs de large sur des marches n'est pas bonne. Aussi, si vous avez un monde où vous n'avez pas besoin de grottes, remplissez-les. Cela empêchera les mobs d'apparaître et le rendu sera considérablement accéléré.

0voto

Yamikuronue Points 4869

Vérifiez la distance d'affichage dans le fichier de configuration du serveur. Même si les personnes ne bougent pas beaucoup, le serveur doit toujours garder tous les blocs dans ce carré chargés. En diminuant cette valeur, on réduit la quantité de blocs à charger autour du personnage.

2 votes

La distance de rendu est côté client. et les morceaux sont chargés en fonction d'un carré autour du joueur, et non de la direction de la vue.

0 votes

@JohnathanMilford merci d'avoir compris ce que j'essayais de dire :) J'ai fait une grosse erreur de raisonnement.

0voto

Miro Kropacek Points 547

Avec cette quantité de RAM, essayez de sauvegarder la carte sur un disque dur. RAM-Drive . N'oubliez pas de le vider régulièrement sur le disque dur. Cela devrait accélérer considérablement la MC !

Pour un tutoriel vérifier le wiki.

0 votes

Je suppose que vous vouliez que le deuxième lien soit cette . Quoi qu'il en soit, j'ai essayé cette solution et, bien que les choses se soient sensiblement accélérées, j'ai toujours ce problème de décalage progressif tous les deux jours. C'est un problème étrange : j'ai fait tourner quelques autres serveurs MC dans le passé, et aucun n'a jamais eu ce problème.

0voto

Logan Points 1

Vos plugins peuvent être à l'origine d'un décalage

J'ai eu le même problème dans le passé

Après 4 - 6 heures, mon TPS descendait à 3 - 8. Et restait là jusqu'à ce qu'un redémarrage soit initié. Après des semaines d'essais et d'erreurs, j'ai réinitialisé ma carte, ainsi que mes plugins. Habituellement, le seul problème est le dossier des plugins. Les mises à jour avec le .jar peuvent essayer d'ajouter ou d'effacer certaines choses, ou peuvent provoquer des erreurs.

Les plugins qui ont causé le plus de problèmes, en termes de taille. étaient Factions, McMMO, et Essentials.

Ils créent des fichiers de données tellement énormes en temps supplémentaire que c'en est fou ! Mais rassurez-vous si ce n'est pas trop tard, j'espère que cela vous a aidé.

Essayez de réinitialiser certains de vos dossiers de plugins. Et veillez toujours à mettre à jour CraftBukkit et vos plugins.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X