Blog · blog
Die besten Performance-Mods für Minecraft-Server
Server-seitiges Lag ist ein anderes Problem als die Client-FPS. Papier oder Purpur, abgestimmte JVM-Flags, vorgegenerierte Chunks und eine vernünftige Sichtweite beheben die meisten Probleme.
Server-Lags sind etwas anderes als Client-Lags
Client-seitige Anleitungen sprechen über FPS: die Frames, die deine eigene GPU rendert. Die Serverleistung ist eine völlig separate Messung, Ticks pro Sekunde, wie oft pro Sekunde der Server seine vollständige Spielschleife ausführen kann. Wenn die TPS unter 20 fällt, spürt jeder verbundene Spieler dies als Rückstoß, verzögerte Treffer und Mobs, die hinter ihrer tatsächlichen Position herhinken, unabhängig davon, wie leistungsstark der PC eines einzelnen Spielers ist. Die Behebung dieses Problems liegt vollständig auf der Serverseite der Verbindung.
Dieser Unterschied ist wichtig, weil die beiden Probleme ständig vermischt werden. Ein Spieler mit 300 FPS lokal wird immer noch einen Server spüren, der mit 12 TPS läuft, und kein Client-Mod ändert das. Wenn Sie einen Server betreiben, insbesondere eine belebte Minispiel-Lobby mit BedWars- oder SkyWars-Arenen, die ständig zurückgesetzt werden, sind die unten stehenden Lösungen der Bereich, in dem sich Ihre Zeit tatsächlich auszahlt.
Wählen Sie Server-Software, die für hohe Last ausgelegt ist
Die Standard-Minecraft-Server-Software und eine unoptimierte Spigot-Einrichtung führen fast alles in einem einzigen Thread aus. Paper und Forks wie Purpur bauen große Teile dieser Pipeline neu auf, um asynchron und multithreaded zu laufen, und liefern außerdem eine lange Liste von Standardoptimierungen, die in der Vanilla-Version nie vorhanden waren. Dies ist der wichtigste Hebel, den es gibt, bevor Sie ein einzelnes Plugin oder eine Einstellung ändern.
Papier
Die Standardwahl für moderne Anwendungen. Asynchrones Chunk-Laden, Optimierungen der Entitätsverfolgung und eine umfangreiche Reihe von paper.yml-Tuning-Optionen, die die meisten Administratoren nie vollständig ausschöpfen.
Purpur
Eine Pappgabel mit zusätzlichen Performance-Reglern und Gameplay-Umschaltern, die darüber geschichtet sind. Lohnt sich, wenn du mehr Kontrolle ohne Verlassen des Paper-Ökosystems möchtest.
Vanille und Stockspigot
Funktional, lässt aber für alles über einen kleinen, wenig frequentierten Server echte Leistung auf der Strecke.
JVM-Flags abstimmen, nicht nur die Serverkonfiguration
Minecraft-Server laufen innerhalb einer Java Virtual Machine, und die Standard-Garbage-Collection-Einstellungen der JVM wurden nie für das spezifische Speicherverhalten von Minecraft optimiert. Aikars Flags sind ein weit verbreiteter, öffentlich dokumentierter Satz von JVM-Startflags, die den Garbage Collector speziell für dieses Verhalten konfigurieren und unter realer Spielerlast die Häufigkeit und Dauer von GC-bedingten Einfrierungen deutlich reduzieren.
Welt vorab generieren, bevor Spieler sie überhaupt sehen
Eine der häufigsten Ursachen für plötzliche TPS-Einbrüche ist die Generierung neuer Chunk-Blöcke durch den Server in Echtzeit, während Spieler in unbeanspruchtes Gebiet vordringen. Diese Generierungsarbeit konkurriert direkt mit allem, was der Server im selben Taktzyklus zu tun versucht. Ein Werkzeug wie Chunky generiert die Chunk-Blöcke vorab in einem kontrollierten, gedrosselten Durchlauf, sodass Spieler, die später erkunden, diesen Anstieg gar nicht erst auslösen.
Für ein Minispiel-Netzwerk ist dies auf den Arenakarten selbst, die in der Regel statisch und klein sind, weniger relevant, sondern eher auf offenen Hubs oder Lobby-Welten, in denen Spieler herumlaufen können.
Sichtweite und Simulationsdistanz reduzieren
Diese beiden Einstellungen bestimmen, wie viel Welt der Server um jeden Spieler herum laden und simulieren muss, und sie sind die Einstellungen, die Server-Betreiber am häufigsten auf Standardwerte belassen, die schlichtweg zu hoch für ihre Spieleranzahl und Hardware sind.
| Einstellung | Was sie steuert | Häufiger Fehler |
|---|---|---|
| Sichtweite | Wie viele Chunk-Blöcke an jeden Client gesendet werden | Auf einem Standardwert belassen, der zu hoch für die Spieleranzahl ist |
| Simulationsdistanz | Wie weit Mobs, Blöcke und Redstone tatsächlich simulieren | Auf Sichtweite gesetzt, obwohl dies nicht erforderlich ist |
Die Simulationsdistanz ist in der Regel der erste Wert, den man reduzieren sollte. Spieler benötigen keine Simulation von Mobs und Redstone in der gleichen Entfernung wie die gerenderten Chunks, und die Reduzierung dieser Distanz spart Rechenzeit, ohne das Spielerlebnis wesentlich zu beeinträchtigen.
Profilieren, bevor man spekuliert
Das Rätseln über die Ursache von Lag kostet Zeit. Ein Profiler wie spark erfasst genau, wohin die Server-Tickzeit fließt, sei es durch ein bestimmtes Plugin, die Weltgenerierung, die Verarbeitung von Entities oder etwas völlig anderes, anstatt wahllos Einstellungen anzupassen und darauf zu hoffen.
Installiere Papier oder Purpur
Migrieren Sie zuerst von Vanilla oder Stock Spigot. Dadurch werden alle unten aufgeführten Optimierungen freigeschaltet.
Wende Aikars Flags in deinem Startup-Skript an
Kopieren Sie das dokumentierte Flag-Set in den Startbefehl Ihres Servers und starten Sie ihn neu. Dies ist eine einmalige Änderung mit langfristigem Nutzen.
Generiere deine Welt im Voraus mit Chunky
Führe es während Zeiten geringer Auslastung aus, damit erforschende Spieler später nicht versehentlich die Generierung von Live-Chunks auslösen.
Legen Sie die Sichtweite und die Simulationsdistanz bewusst fest
Passen Sie die Einstellungen an Ihre tatsächliche Spieleranzahl und Hardware an, anstatt die Standardeinstellungen der Plattform beizubehalten.
Profil mit Zündfunke unter realer Last
Erfassen Sie einen Bericht während der Stoßzeiten und beheben Sie, was er tatsächlich aufzeigt, anstatt zu raten.
Server-seitige Leistung ist nicht die ganze Geschichte
Ein stabiler TPS-Wert ist nur die halbe Miete. Jeder Spieler rendert diesen stabilen Server immer noch auf seiner eigenen Maschine, und ein rocken-solider Server hilft niemanden, dessen eigener Client mit dem Rendern, dem Speicher oder einem inkompatiblen Shader-Pack zu kämpfen hat. Wenn Sie ein BedWars- oder SkyWars-Netzwerk betreiben und bereits die oben genannten Arbeiten geleistet haben, ist die andere Hälfte eines reibungslosen Spielerlebnisses das, was auf der Seite der Spieler passiert. Genau diese Lücke schließt Terminus, indem es die Client-Leistung optimiert, um die Serverarbeit zu ergänzen, die Sie bereits geleistet haben.
FAQ
Nein. Client-Mods verändern, was auf dem eigenen Rechner des Spielers passiert. Server-Lags existieren in der Tick-Schleife des Servers, und nur server-seitige Änderungen, Software, Flags, Plugins, Welt-Einstellungen erreichen sie.
Serversoftware. Der Umstieg von Vanilla oder unoptimiertem Spigot auf Paper oder Purpur ermöglicht die asynchrone und Multithreading-Arbeit, auf der die meisten anderen Optimierungen aufbauen.
Ja, besonders bei Minecrafts Garbage Collector, bei dem die Standardeinstellungen unter echter Last schlecht funktionieren. Sie beheben kein grundsätzlich zu kleines Serverproblem, aber bei ausreichender Hardware glätten sie GC-bedingte Einfrieren merklich aus.
Überprüfe die TPS des Servers mit einem Befehl wie /tps oder einem Plugin wie spark. Wenn die TPS bei etwa 20 liegt und du trotzdem Ruckler bemerkst, liegt das Problem wahrscheinlich an deinem eigenen Client oder deiner Verbindung, nicht am Server.
Besorge Terminus
Tuned client performance to match the server work you already did.