Server Optimization Minecraft
Complete Guide Spigot, Paper and Purpur (1.20-1.21)
The performance of a Minecraft server relies on suitable software and hardware configuration. This guide is intended for administrators using Spigot, Paper, or similar forks like Purpur and Pufferfish, covering versions 1.20.x to 1.21.x. We will detail the essential settings of configuration files (spigot.yml, paper.yml, bukkit.yml, purpur.yml), explain why default values are often inadequate, and show how targeted adjustments improve TPS, reduce CPU load, and stabilize your server.
This guide also includes recommendations for useful plugins, a comparison of the advantages of Purpur and Pufferfish over Paper and Spigot, as well as advice on Java configuration (versions, JVM G1GC flags). The content is organized into sections for quick and efficient reference.
Choosing Your Server Software
Comparison of Available Solutions
| Software | Base | Main Advantage | Recommended for |
|---|---|---|---|
| Spigot | CraftBukkit | Historical plugin compatibility | Small simple servers |
| Paper | Spigot | Optimizations + advanced options | Majority of servers |
| Pufferfish | Paper | Maximum performance | Highly populated servers |
| Purpur | Pufferfish | Advanced customization | Servers requiring exotic options |
Paper over Spigot
Spigot and its predecessor CraftBukkit are the historical basis of Bukkit servers, but they now lag behind in terms of performance compared to Paper. The latter is a fork of Spigot integrating numerous optimizations and fixes while maintaining full compatibility with Spigot and Bukkit plugins. Paper also exposes dozens of advanced configuration options to fine-tune performance without significantly altering gameplay.
Pufferfish for Pure Performance
Pufferfish is a fork of Paper that emerged in 2021, entirely focused on performance. It incorporates many advanced patches while remaining compatible with the Paper API.
Improvements included in Pufferfish:
| Feature | Description |
|---|---|
| Asynchronous processing | Some entities are partially processed in the background |
| DAB System | Faster mob AI algorithms |
| SIMD map rendering | Optimization via vector instructions |
| Hopper management | More efficient hopper operation |
| Ray tracing optimization | Accelerated line of sight calculations |
| Memory management | Reduced garbage collector pause |
| Sentry.io Integration | Automatic server error reporting |
| Profiler Flare | Advanced analysis including memory profiling |
Most of these optimizations are transparent to gameplay. Those that may have an impact can be disabled in pufferfish.yml. If your goal is to support a large number of players with high load, Pufferfish often represents the best choice.
Note: There is also Pufferfish+, a commercial version even more optimized with entity tracking and fully asynchronous pathfinding, designed for very large servers.
Purpur for Customization
Purpur is a fork of Paper focused on advanced customization. Technically, it includes all the optimizations of Pufferfish but does not add any additional performance gain. However, it offers hundreds of new configuration options to adjust game mechanics: ability to ride certain mobs, flying squids, single-player sleep, and many more.
By default, these additional features are disabled, and the server behaves like a standard Paper/Pufferfish. Only use Purpur if you truly need these gameplay options, as more patches potentially mean more bugs.
What to Avoid
| To Avoid | Reason |
|---|---|
| Obscure or paid "homebrew" JARs | 99% chance of inefficiency or even harm |
| Pure Vanilla Server | Significant performance gap compared to Paper |
| Sticking with Spigot | You miss out on free Paper optimizations |
Configuration bukkit.yml
The bukkit.yml file manages parameters such as spawn settings for passive and hostile entities. The default values of Bukkit/Spigot are calibrated for small sparsely populated servers but can be excessive for a survival server with many players.
Spawn Limits (spawn-limits)
These quotas define the number of mobs that can spawn per player. By default, a player can have up to about 70 monsters, 10 animals, and 15 aquatic creatures around them, which can quickly saturate the server with multiple connected players.
Recommended Values:
| Category | Default Value | Recommended Value |
|---|---|---|
| Monsters | 70 | 20 to 30 |
| Animals | 10 | 5 |
| Aquatic Creatures | 15 | 2 |
| Ambient Creatures | 15 | 1 |
The internal calculation multiplies these limits by the number of connected players. By reducing these numbers, you decrease the density of mobs to manage and lighten the server load.
Attention: Values that are too low reduce wildlife and game difficulty. For a "hardcore" survival server or one focused on mob farms, do not go too low. The value of 30 monsters offers a good compromise if you want to keep the action.
Spawn Frequencies (ticks-per)
These settings control the frequency of attempts to spawn new entities. By default, Minecraft tries to spawn monsters every tick (20 times per second) and animals every 400 ticks (about 20 seconds).
Recommended Values:
| Category | Default Value | Recommended Value |
|---|---|---|
| monster-spawns | 1 | 2 to 10 |
| animal-spawns | 400 | 400 |
| water-spawns | 1 | 400 |
| ambient-spawns | 1 | 400 |
Monster-spawns auf 2 setzen bedeutet, dass nur alle 2 Ticks ein Versuch unternommen wird. Der Unterschied im Erscheinungsraten ist für die Spieler unmerklich, aber der Server verarbeitet die Hälfte der Spawn-Zyklen. Für Wasser- und Umgebungskategorien sind Intervalle von 400 Ticks oder mehr vollkommen akzeptabel, da diese Kreaturen schnell ihre Bevölkerungsobergrenze erreichen.
Zusätzliche Option Paper
Paper bietet die Option per-player-mob-spawns, die die Spawns zwischen Spielern besser verteilt, anstatt das Kontingent eines einzelnen Spielers zu füllen, bevor zum nächsten übergegangen wird. Durch Aktivieren dieser Option können Sie niedrigere Grenzwerte verwenden, ohne den Spielern Begegnungen vorzuenthalten: Jeder Spieler hat seinen fairen Anteil an Mobs um sich herum.
Spigot.yml-Konfiguration
Die Datei spigot.yml enthält mehrere Schlüsselparameter zur Steuerung des Aktivitätsbereichs von Entitäten und zur Verwaltung von Bodenobjekten. Die Standardwerte zielen darauf ab, das Solo-Verhalten nachzubilden, können aber im Mehrspielermodus reduziert werden, um Ressourcen zu sparen.
Sicht- und Simulationseinstellungen
| Parameter | Beschreibung | Empfehlung |
|---|---|---|
| view-distance | Sichtweite der Chunks | In spigot.yml auf "default" belassen |
| simulation-distance | Aktivitätsbereich der Entitäten | 4 Chunks (server.properties oder Paper) |
| view-distance (effektiv) | Chunks, die an den Client gesendet werden | 7 bis 10 Chunks |
Ab Minecraft 1.18+ wird empfohlen, die view-distance in spigot.yml auf "default" zu belassen und die Distanzeinstellungen in server.properties oder über Paper zu verwenden. Der Trick besteht darin, eine niedrige Simulationdistanz (4 Chunks) festzulegen, während eine höhere Sichtweite (8 bis 10 Chunks) beibehalten wird. Auf diese Weise sehen die Spieler weit, aber der Server berechnet nur die nahe Umgebung.
Spawn-Radius der Mobs (mob-spawn-range)
Dieser Radius in Chunks bestimmt, in welcher Entfernung vom Spieler Mobs erscheinen können. Standardmäßig auf 8 Chunks (128 Blöcke) eingestellt, kann er reduziert werden, um die Spawns zu konzentrieren.
Empfehlung: Stellen Sie diesen Parameter auf 4 oder 6 Chunks ein, wenn Ihre Simulationdistanz gering ist. Stellen Sie sicher, dass mob-spawn-range kleiner oder gleich Ihrem effektiven Simulationabstand ist. Durch die Reduzierung dieses Radius haben die Spieler selbst mit reduzierten Spawn-Limits den Eindruck einer lebendigen Welt, da die Mobs näher erscheinen.
Aktivierungsbereich der Entitäten (entity-activation-range)
Dies ist einer der Hauptleistungsfaktoren. Es legt die Entfernung in Blöcken fest, ab der Entitäten nicht mehr aktiv sind (ihre KI ist "schlafend", solange kein Spieler in der Nähe ist).
Empfohlene Werte:
| Kategorie | Standardwert | Empfohlener Wert |
|---|---|---|
| Monster | 32 | 24 |
| Tiere | 32 | 16 |
| Wasserlebewesen | 32 | 8 |
| Dorfbewohner | 32 | 16 |
| Fliegende Monster (Phantome) | 32 | 48 |
| Räuber | 32 | 48 |
| Sonstige | 16 | 8 |
Das Verkleinern dieser Bereiche entlastet die CPU, da entfernte Entitäten keine Ressourcen mehr verbrauchen. Zu niedrige Werte können jedoch bestimmte Mechanismen beeinträchtigen. Zum Beispiel erfordern Eisenfarmen "aktive" Dorfbewohner in einem bestimmten Bereich der Zombies.
Tipp: Aktivieren Sie auch tick-inactive-villagers: false, damit Dorfbewohner außerhalb des Spielerbereichs einschlafen. Seit 1.14 haben Dorfbewohner einen enormen Einfluss auf die Ticks, wenn sie in großer Zahl aktiv sind.
Entitäten-Tracking-Bereich (entity-tracking-range)
Dieser Parameter legt fest, in welcher Entfernung Entitäten an den Client gesendet werden. Er kann größer sein als der Aktivierungsbereich, ohne dass dies signifikante Serverkosten verursacht, da dies nur die Datenübertragung an die Spieler betrifft.
Empfehlung: Halten Sie die Tracking-Bereiche etwas über den Aktivierungsbereichen, um plötzliches "Poppen" von Mobs auf dem Bildschirm zu vermeiden. Werte von 48 für die meisten Kategorien (außer Sonstige mit 32) sind ein guter Kompromiss.
Verschmelzung von Items und XP (merge-radius)
| Typ | Standardwert | Empfohlener Wert |
|---|---|---|
| Items | 2.5 | 4 bis 5 |
| XP | 3.0 | 6 |
Das Zusammenführen von Boden-Item-Entitäten reduziert die Anzahl der zu verwaltenden Entitäten erheblich. Anstatt 50 separate XP-Kugeln zu haben, haben Sie nur noch eine oder zwei größere. Erhöhen Sie diese Radien nicht zu stark, da Items möglicherweise von einem Block zum anderen "teleportiert" werden oder durch Wände gehen, um sich zu vereinen.
Tipp: Paper bietet die Option fix-items-merging-through-walls, um dieses Verhalten zu verhindern, wenn Sie den Verschmelzungsradius stark vergrößern.
Lebensdauer von Boden-Entitäten
| Parameter | Standardwert | Empfohlener Wert |
|---|---|---|
| arrow-despawn-rate | 1200 Ticks (1 Min) | 300 Ticks (15 Sek) |
| item-despawn-rate | 6000 Ticks (5 Min) | 4000 Ticks (3 Min) |
Abgeschossene Pfeile werden schneller gereinigt, um deren unsichtbare Ansammlung zu vermeiden. Für Items reichen 3 Minuten vollkommen aus, damit ein Spieler seine Drops aufheben kann.
Hinweis Paper: Die Option alt-item-despawn-rate ermöglicht die Festlegung einer spezifischen Despawn-Zeit für bestimmte Items (Bruchstein, Nethergestein, Kies). Dies kann einen Clearlag-Plugin effektiv ersetzen.
Weitere wichtige Einstellungen
| Parameter | Empfohlener Wert | Beschreibung |
|---|---|---|
| nerf-spawner-mobs | true | Spawner-Mobs haben keine KI, bis sie berührt werden |
| save-user-cache-on-stop-only | true | Der Benutzer-Cache wird nur beim Stoppen gespeichert |
| max-tick-time (Tile und Entity) | 1000 | Deaktiviert den Tick-Limiter nahezu vollständig |
nerf-spawner-mobs: Wenn Ihr Server viele Spawner-Farmen hat, ist dies ein enormer Leistungsgewinn. Die "nerfenden" Monster verursachen praktisch keine CPU-Kosten und warten einfach darauf, getötet zu werden.
max-tick-time: Durch Einstellen auf 1000ms deaktivieren Sie das Sicherheitssystem, das zu seltsamem Verhalten führen kann (Entitäten oder Redstone-Maschinen, die Zyklen verpassen). Der Server wird immer versuchen, alles wie geplant zu berechnen, auch wenn dies zu einer TPS unter 20 führt.
Paper.yml-Konfiguration
Paper und seine Forks verfügen über zusätzliche Konfigurationen im Vergleich zu Spigot. Diese Optionen sind oft standardmäßig deaktivierte Verbesserungen, um das Vanilla-Verhalten beizubehalten, aber wenn sie aktiviert sind, verbessern sie die Leistung erheblich.
Optimierungen des Spiel-Engines
Optimiertes Redstone
| Option | Wert | Beschreibung |
|---|---|---|
| use-faster-eigencraft-redstone | true | Aktiviert den EigenCraft-Algorithmus |
| redstone-implementation | ALTERNATE_CURRENT | Alternative je nach Version |
Diese neue Engine reduziert redundante Redstone-Updates und verbessert deutlich die Leistung komplexer Schaltkreise, ohne ihr beobachtbares Verhalten zu ändern.
Optimierte Explosionen
| Option | Wert | Beschreibung |
|---|---|---|
| optimize-explosions | true | Optimierter Algorithmus für TNT und Creeper |
Der Algorithmus berechnet die Effektbereiche schneller mit einer für die Spieler unmerklichen Genauigkeitsverlust.
Integriertes Anti-Xray
| Option | Wert | Beschreibung |
|---|---|---|
| anti-xray.enabled | true | Aktiviert den Schutz |
| anti-xray.engine-mode | 2 | Empfohlener Obfuskationsmodus |
Das Anti-Xray von Paper ist weitaus leistungsfähiger als herkömmliche Plugins. Es verdeckt unentdeckte Erzblöcke, indem es temporär ihr Aussehen in den gesendeten Chunks ersetzt. Verwenden Sie niemals Drittanbieter-Anti-Xray-Plugins auf Paper.
Entitäten- und Mobs-Verwaltung
Reduzierte Kollisionen
| Option | Standardwert | Empfohlener Wert |
|---|---|---|
| max-entity-collisions | 8 | 2 |
In einem großen Mob-Haufen kümmert sich jede Entität nur um 2 Kollisionen gleichzeitig anstelle von 8, was die kombinatorische Explosion von Berechnungen reduziert.
Spawns pro Spieler
| Option | Empfohlener Wert |
|---|---|
| per-player-mob-spawns | true |
Der Server verteilt den globalen Mobcap gerecht auf die Spieler, um zu verhindern, dass ein isolierter Spieler alle feindlichen Spawns monopolisiert.
Hopper-Optimierung
Trichter gelten als eine der schlimmsten TPS-Feinde, da sie ständige Überprüfungen durchführen.
| Option | Wert | Bedingung |
|---|---|---|
| hopper.disable-move-event | true | Nur wenn kein Plugin den InventoryMoveItemEvent abhört |
| hopper-transfer (spigot.yml) | 8 | Akzeptabler Standardwert |
| hopper-check (spigot.yml) | 8 | Anstelle von 1 Standardwert |
| hopper.ignore-occluding-blocks | true | Deaktiviert selten genutztes Vanilla-Verhalten |
Indem Sie disable-move-event deaktivieren, verhindern Sie, dass der Server bei jedem Item-Bewegung in einem Trichter ein Ereignis erstellt. Dies ist ein massiver Leistungsgewinn für Server mit vielen Sortierschaltkreisen.
Achtung: Wenn Sie Kisten-Schutz- oder Item-Log-Plugins verwenden, deaktivieren Sie diese Option nicht.
Villager-Optimierungen
| Option | Wert | Beschreibung |
|---|---|---|
| tick-inactive-villagers | false | Villager schlafen außerhalb des Spielerbereichs |
| villager.lobotomize (Purpur) | true | Entfernt KI von zu weit entfernten Villagern |
| villager.search-radius.* (Purpur) | 16 | Reduziert die Suchradien für Bett/Arbeit |
Verschiedene Purpur-Optionen
| Option | Wert | Beschreibung |
|---|---|---|
| zombie.aggressive-towards-villager-when-lagging | false | Zombies hören auf, Dorfbewohner bei Lag zu verfolgen |
| entities-can-use-portals | false | Verhindert, dass Mobs Portale benutzen |
| use-alternate-keepalive | true | Verhindert Timeouts bei langsamen Spielern |
Chunk- und Weltladung
Schutz vor nicht geladenen Chunks
| Option | Empfohlener Wert |
|---|---|
| prevent-moving-into-unloaded-chunks | true |
Diese Option verhindert, dass ein zu schneller Spieler (zum Beispiel mit Elytra) in einen noch nicht generierten Chunk gelangt, was eine sehr kostspielige synchrone Ladung verursachen könnte, die den Server einfrieren lässt.
Chunk-Entladeverzögerung
| Option | Empfohlener Wert |
|---|---|
| delay-chunk-unloads-by | 10s |
Wenn ein Spieler schnell hin- und herwechselt, lädt der Server nicht ständig die gleichen Chunks neu. Dies vermeidet wiederholte IO/CPU-Operationen.
Schatzkarten
| Option | Wert | Beschreibung |
|---|---|---|
| treasure-maps.enabled | false | Deaktiviert Schatzkarten vollständig |
| treasure-maps.find-already-discovered | true | Die Karten zeigen auf bereits entdeckte Strukturen |
Schatzkarten können enorme Lag-Spitzen verursachen, wenn sie nach sehr weit entfernten Strukturen suchen. Wenn Sie sie behalten, stellen Sie sicher, dass Sie eine Worldborder haben und idealerweise das Innere vorgegeneriert haben.
Weltvorpregenerierung
Ab Version 1.18+ hat Mojang die Gelände-Generierung und asynchrone Ladung optimiert. Die Vorpregenerierung ist nicht mehr unerlässlich, außer bei sehr langsamen CPUs. Für einen Serverstart können Sie jedoch ein Plugin wie Chunky verwenden, um das Innere Ihrer Worldborder vorzupregenerieren.
Tipp: Legen Sie eine Worldborder auf jeden Ihrer Welten (Overworld, Nether, Ende) fest, um zu verhindern, dass Spieler endlos Terrain generieren. Die Nether-Grenze sollte proportional 8-mal kleiner sein.
Empfohlene Leistungs-Plugins
Zusammenfassende Tabelle
| Plugin | Funktion | Erforderlich |
|---|---|---|
| Spark | Profilierung von CPU und Speicher | ✅ Ja |
| Timings (integriert) | Bericht über schwere Aufgaben | ✅ Ja |
| FarmLimiter/FarmControl | Begrenzt die Entitätengruppierungen | Je nach Bedarf |
| Chunky | Weltvorabgenerierung | Nach Bedarf |
| VillagerOptimizer | Verringert die Häufigkeit von Dorfbewohneraufgaben | Nach Bedarf |
| ClearLag | Periodische Bereinigung von Entitäten | ⚠️ Pflaster |
Spark
Unverzichtbar zur Profilerstellung Ihres Servers. Spark ermöglicht die Aufzeichnung von Echtzeit-CPU- und Speicherprofilen.
Nützliche Befehle:
| Befehl | Funktion |
|---|---|
/spark profiler | Startet die Aufzeichnung |
/spark profiler --stop | Stoppt und generiert den Bericht |
/spark tps | Zeigt die aktuelle TPS an |
/spark health | Servergesundheitsstatus |
/spark gc | Informationen zum Garbage Collector |
/spark profiler --memory | Verfolgt Speicherlecks |
Das ist das perfekte Werkzeug, um die Ursache für Ihre Lag-Spitzen zu identifizieren: herauszufinden, dass ein bestimmter Mob-Typ oder eine Plugin-Funktion 40% der Tick-Zeit monopolisiert.
Timings (in Paper/Spigot integriert)
Der Befehl /timings report generiert einen Bericht über die zeitaufwändigsten Aufgaben seit dem letzten Zurücksetzen. Paper verbessert dieses Tool im Vergleich zu Spigot erheblich, indem es Lastdiagramme und Details zu den kostspieligsten Ereignissen bereitstellt.
FarmLimiter / FarmControl
Diese Art von Plugin überwacht und begrenzt die Größe von Entitätsgruppen in AFK-Farmen. Ein häufiges Problem: Spieler erstellen riesige Mob-Farmen oder 500 Kühe in einem winzigen Gehege.
Funktionsweise: Über einem Schwellenwert (zum Beispiel 30 Mobs desselben Typs in einem bestimmten Radius) werden neue Spawns blockiert oder überschüssige Mobs allmählich entfernt.
ClearLag
Bekanntes Plugin, das regelmäßig Bodenentitäten und überschüssige Mobs bereinigt.
Bewertung: ClearLag kann vorübergehend eine Überlastung beheben, ist jedoch eher ein Pflaster als eine dauerhafte Lösung. Eine gute Konfiguration von Despawn und Item-Merges macht ClearLag oft überflüssig. Außerdem verbraucht ClearLag selbst Ressourcen, um regelmäßig alle Entitäten zu scannen.
Chunky
Einfaches und leistungsstarkes Plugin zur Weltvorabgenerierung. Sie legen einen Radius oder Grenzen fest, und es füllt allmählich alle Chunks. Es arbeitet asynchron, um Ihren Server während des Vorgangs nicht zum Erliegen zu bringen.
VillagerOptimizer
Wenn Ihre Dorfbewohner trotz Einstellungen ein Problem darstellen, reduziert dieses Plugin die Häufigkeit ihrer kostspieligen Aufgaben (Bettsuche, Pfadfindung). Ähnlich wie die Purpur-Einstellungen, aber auf Spigot/Paper anwendbar.
Was vermieden werden sollte
| Zu vermeiden | Grund |
|---|---|
| "Wunder"-Plugins, die Multithreading versprechen | 99% ineffektiv oder gefährlich |
Befehl /reload im Produktionsmodus | Verursacht Speicherlecks und Abstürze |
| Plugins im laufenden Betrieb laden/entladen | Inkonsistenzen und Instabilität |
Führen Sie immer einen sauberen Neustart des Servers durch, nachdem Sie Plugins hinzugefügt oder entfernt haben.
Java und JVM-Konfiguration
Die Optimierung von Minecraft endet nicht bei den Spielkonfigurationen: Auch die Java-Ausführungsumgebung und die zugewiesenen Ressourcen sind wichtig.
Erforderliche Java-Version
| Minecraft-Version | Minimale Java-Version |
|---|---|
| 1.17 und frühere | Java 8 oder 11 |
| 1.18 bis 1.20.4 | Java 17 |
| 1.20.5 und höhere | Java 21 |
Vermeiden Sie Java 8 oder 11 auf modernen Servern. Die Verbesserungen in der Sprache und im Garbage Collector in Java 17/21 bringen spürbare Leistungs- und Stabilitätsgewinne.
Konfiguration des Garbage Collectors
Der Minecraft-Server nutzt den Speicher intensiv und erzeugt viele temporäre Objekte. Eine falsche GC-Einstellung kann Pausen von mehreren hundert Millisekunden verursachen.
Empfohlene Prinzipien:
| Prinzip | Empfehlung |
|---|---|
| Ausreichender RAM | 8 GB für einen Standardserver mit 50 Spielern |
| Xms = Xmx | Die gleiche Wert für Heap min und max festlegen |
| Garbage Collector | G1GC (Standard in Java 17+) |
| Flag-Generator | Verwenden Sie flags.sh, um die optimalen Flags zu erhalten |
Beispielbefehl:
java -Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -jar server.jar nogui
Tipp: Verwenden Sie den Flag-Generator auf flags.sh, der automatisch die geeignete Befehlszeile je nach Ihrer Java-Version und der zuzuweisenden RAM liefert.
GC-Überwachung
Der Befehl /spark gc oder bestimmte Timings können Ihnen den Prozentsatz der Zeit anzeigen, die im GC verbracht wird. Idealerweise sollte dieser niedrig bleiben (unter 5%). Wenn Sie häufige Pausen feststellen, erhöhen Sie den RAM oder diagnostizieren Sie ein mögliches Speicherleck.
JVM-Alternativen
| JVM | Empfehlung |
|---|---|
| OpenJ9 | ⚠️ Offiziell nicht unterstützt |
| GraalVM | ⚠️ Offiziell nicht unterstützt |
| HotSpot (Standard) | ✅ Empfohlen |
Obwohl es alternative JVMs gibt, werden sie von Paper und Spigot nicht offiziell unterstützt und können unvorhersehbare Probleme verursachen.
Systemtipps
| Komponente | Empfehlung |
|---|---|
| CPU | Frequenz vor Kernanzahl bevorzugen |
| Speicher | SSD/NVMe für die Welt |
| network-compression-threshold | 256 (Standard) oder 512 für Server mit 100+ Spielern |
Minecraft ist im Wesentlichen singlethreaded. Daher sind die Prozessorfrequenz und der IPC wichtiger als die Anzahl der Kerne.
Zusammenfassung und Empfehlungen
Indem Sie die Empfehlungen dieses Leitfadens befolgen, erhalten Sie einen deutlich stabileren und leistungsfähigeren Server, der in Situationen, in denen die Standardeinstellungen schwankten, 20 TPS aufrechterhalten kann.
Zusammenfassung der Schlüsselpunkte
| Bereich | Priorisierte Maßnahme |
|---|---|
| Server-Software | Wechsel zu Paper oder einem optimierten Fork |
| Distanzen | Simulation-Distanz und Aktivierungsbereiche reduzieren |
| Spawns | Spawn-Limits verringern und Intervalle erhöhen |
| Entitäten | nerf-spawner-mobs aktivieren und tick-inactive-villagers: false setzen |
| Redstone | Alternativen Paper-Algorithmus aktivieren |
| Hopper | hopper-check erhöhen und move-event deaktivieren, wenn möglich |
| Überwachung | Regelmäßig Spark verwenden |
Fortlaufende Best Practices
Überwachen Sie kontinuierlich: Verwenden Sie Spark, um die Ursachen für Verzögerungen zu identifizieren. Die Optimierung ist ein fortlaufender Prozess, da jede neue Farm oder jedes hinzugefügte Plugin eine Schwachstelle einführen kann.
Setzen Sie Grenzen: Lassen Sie die Spieler nicht auf Kosten des Servers tun, was sie wollen. Kommunizieren Sie klar Ihre Entitätsregeln und verwenden Sie Tools, um deren automatische Einhaltung sicherzustellen.
Kompromisse eingehen: Ein Server, der zu 100 % auf Verhalten und Leistung optimiert ist, existiert nicht unter hoher Last. Ist es besser, etwas weniger "intelligente" Dorfbewohner zu haben oder einen Spawn von 200 Dorfbewohnern, der alles lahmlegt? Die Antwort ist schnell gefunden.
Intelligent aktualisieren: Halten Sie Ihre Software (Paper, Purpur) auf dem neuesten Stand, da sie oft neue Optimierungen integrieren. Lesen Sie die Änderungsprotokolle und bleiben Sie über Entwicklungen wie Folia, dem zukünftigen Multi-Thread-Server von Paper, informiert.
Jeder Server ist einzigartig. Dieser Leitfaden bietet Ihnen eine solide Basis, die Sie verfeinern können: Testen Sie die Änderungen schrittweise (idealerweise eine nach der anderen), messen Sie die Auswirkungen mit Spark oder Timings und passen Sie sie entsprechend Ihren Beobachtungen an.
Um diese Optimierungen auf einer leistungsstarken Infrastruktur zu testen, entdecken Sie unsere kostenlosen Minecraft-Server-Angebote und erleben Sie den Unterschied unter realen Bedingungen!

