Minecraft Server Lagt?
Hallo
Ich habe einen Server und auf dem habe ich von Spigot einen Minecraft Server erstellt. Ich habe anfangs dem Server 16Gb DDR3 Ram zugewiesen (Ich weiss das das viel zu viel ist) das spiel hängt aber trotzdem manchmal zb wenn ich mit der Elytra herum fliege dann muss ich immer schnell landen und dann die Welt laden lassen oder bei grossen Farmen lagen manchmal ein paar Items rum. Ich habe auch dem Server mal mehr Ram zu gewiese (32GB) obwohl ich mir sicher war das er nicht mehr braucht, es lagt aber trozdem noch. An meinem Pc oder Internet liegt es auch nicht, ich habe eine 2070 super und einen Amd Ryzen 5 3600 was völlig ausreichen sollte und bei meinem Lan anschluss habe ich ca 400 - 480 mb was auch völlig ausreichen soll. Bei dem Feld wo man Bildlich seht wie viel Ram genutzt wird geht es auch die ganze zeit hoch und runter (weiss nicht ob das etwas mit dem zu tun hat).
Hat jemand Erfahrung mit dem und Könnte mir Helfen
3 Antworten
Minecraft Server brauchen nicht nur RAM sondern auch nen ordenlichen CPU. Je höher der singlecore takt ist je besser. Ein 16 Kern CPU bringt da nicht viel, Theoretisch reicht 1 Kern mit am besten 20ghz (wenn's das geben würde xD).
Was hilft ist die Welt vor genereiren lassen per Plugin damit der Server die Welt nicht generieren muss wenn man rumfliegt sondern nur die bereits generierte Welt vom spiecher laden muss.
Ja da gibt's zb das Plugin worldboarder.
Hier Mal nen Eintrag der erklärt was man tun muss wenn man das Plugin installiert hat, das hat bei mir damals auch gut funktioniert. Aber Achtung das Vorladen der Welt dauert sehr lange und verursacht eine Menge Daten. Ich würde mit dem vorlanden von 10000blöcken anfangen und auch das wird schon über 12 Stunden dauern!
Das funktioniert auch automatisch mit einem Plugin:
Plugin: http://dev.bukkit.org/bukkit-plugins/worldborder/
Download: http://dev.bukkit.org/media/files/883/629/WorldBorder.jar
Funktionier dann so:
Radius setzen (Größe in Blocks wie weit du die Chunks generieren lassen möchtest):
/wb set <RadiusHier> z.B. /wb set 2000
Den ausgewählten Radius füllen lassen:
/wb fill oder wenn niemand auf dem Server ist und es schnell gehen soll: /wb fill 1000
Achtung! Es kann sein, dass der Ram deines Server voll läuft und er dann abschmiert, weil zuviele Chunks geladen worden sind. Falls das passiert, Server stoppen, starten und wieder beim 2. Schritt starten bis er alle Chunks generiert / geladen hat.
Ich habe zwei Intel Xeon e5606 @ 2.13 Ghz Prozessoren drin reicht das?
Reichen das der Server läuft ja aber das würde ich sagen ist der Grund für die laags. Wenn du dir die Kern Auslastung anschaust dann wird einer der Kerne auf 100% chillen wenn der Server laggt nehme ich stark an
Der aktuell beste Prozessor für Minecraft Server ist der i9 12900k. Ich würde wenn's Richtung Budget gehen soll zumindest nen i7 6700k oder 7700k empfehlen. Ältere Prozessoren würde ich nicht nehmen. Wenn man den die Chips auf 4,8ghz hoch taktet sind die schon sehr gut.
Der komplette CPU oder der höchst ausgelastete Kern?
Bei zb einem 4 Kern CPU kann es durchaus sein das der Server nur 1 Kern voll nutzt und die anderen 3 Kerne fast gar nicht verwendet. Dann kannst du unter 50% Auslastung sein, aber einer der Kerne wäre trotzdem auf 100% und würde laagen. Die gesamtauslastung vom CPU ist deshalb komplett uninteressant
Klar stimmt das. Ja Minecraft Server nutzen mehr als einen Kern aber das meiste macht immernoch ein einzelner Kern. Auf einem 5 Jahre alten 8 Kern Xeon CPU läuft nen Server langsamer als auf nem aktuellen i3 mit 4 Kernen weil Minecraft einfach die höhere IPC und den höheren takt sehr mag.
Das ist klar, dass eine ältere CPU weniger Leistung bringt. Wenn du dir moderne Serverversionen ansiehst, solltest du nicht nur auf Single-Core Performance setzen, sondern mindestens 4-6 haben
Ja klar aber ich meine damit das 8 Kerne die sogar schneller sind als die neueren 4 Kerne trotzdem langsamer sind obwohl sie im multicore Betrieb mehr leisten können.
Bitte benutze nicht Spigot, versuch es einmal mit Paper. Die Website ist https://papermc.io
Dann kannst du nach einiger Zeit /timings report eingeben und den Link hier reinsenden, damit ich dir helfen kann
Hier ist der Link: https://timings.aikar.co/?id=9c6bff98eb8845f999896558e70edcba
Kommt natürlich auch auf die CPU des Servers an. Nur der RAM alleine macht nicht die Arbeit. Mangelt es an Single Core Performance, kann es bei jedem Server zu Hängern kommen.
Warum der Graph so komisch aussieht? Nun, Java hat einen integrierten Garbage Collector. Sozusagen erkennt der Server selber, wann er unnötige, nicht mehr benötigten Code löschen oder weiter Cashen soll.
Da du mehr als 16 GB zur Verfügung hast, würde ich dir empfehlen, einen besseren Garbage Collector zu nutzen. Das erreichst du mithilfe eines Start Scripts (für Linux / Shell):
java -Xms16G -Xmx16G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar <server-jar>.jar nogui
Es gibt noch hundert andere Möglichkeiten deinen Server zu optimieren. PaperSpigot zu benutzen ist eine davon. Auch die Server Chunks zu vermindern hilft enorm.
Wie heisst das Plugin?