Hytale Server Performance
Vorher/Nachher (RAM/Cache/Buffer)
Beispiel-Messung:
Ziel: stabile TPS (weniger Ruckler), geringerer RAM-Druck (weniger Chunk-/Objekt-Müll), weniger Crash-Risiko unter Last.
Wir machen dafür drei Dinge: (1) Java-Startcommand optimieren, (2) Performance-Saver-Addon nutzen, (3) config.json passend setzen.
1) Neuer Startcommand (Java-Flags)
Dieser Startcommand zielt auf stabilere Tick-Zeiten (weniger Lag-Spitzen) und bessere Speicherkontrolle durch eine für Server typische G1GC-Konfiguration.
Startcommand
java -XX:AOTCache=Server/HytaleServer.aot -Xms2048M -Xmx8192M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=35 -XX:G1MaxNewSizePercent=60 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:+ParallelRefProcEnabled -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -jar Server/HytaleServer.jar --assets Assets.zip -bind 0.0.0.0:3500Parameter-Erklärung
A) AOT / Start-Performance
-XX:AOTCache=Server/HytaleServer.aotAktiviert einen AOT-Cache (Ahead-of-Time). Kann Start-/Warmup-Zeiten und Hotspot-Performance verbessern (abhängig von JVM/Build/Workload).
B) Heap-Größen (RAM-Budget)
-Xms2048MInitiale Heap-Größe: Java reserviert beim Start ~2 GB. Reduziert dynamische Heap-Vergrößerungen in der Startphase.-Xmx8192MMaximale Heap-Größe: Obergrenze für Java-RAM. Verhindert Out-of-Memory bei Lastspitzen, erhöht aber nicht automatisch die Performance.
C) Garbage Collector (G1GC) + Latenzziel
-XX:+UseG1GCVerwendet G1GC (Region-basierter Collector), typischer Standard für Server mit mehreren GB Heap.-XX:MaxGCPauseMillis=100Zielwert für maximale GC-Pausen. G1GC versucht, die Arbeit so zu planen, dass Pausen im Bereich dieses Ziels bleiben (Best-Effort, keine Garantie).
D) Schutz vor ungünstigen System.gc()-Aufrufen
-XX:+DisableExplicitGCIgnoriert explizite GC-Trigger (z. B. durch Plugins). Reduziert Risiko großer, unplanbarer Pausen.
E) Young-Gen-Größe (kurzlebige Objekte effizient entsorgen)
-XX:G1NewSizePercent=35Untergrenze für den Anteil des Young Gen am Heap (Startpunkt/Minimum).-XX:G1MaxNewSizePercent=60Obergrenze für den Anteil des Young Gen. Mehr Young Gen kann die Verarbeitung vieler kurzlebiger Objekte stabilisieren.
F) Region-Größe
-XX:G1HeapRegionSize=16MSetzt die Region-Größe auf 16 MB. Bei großen Heaps kann das Verwaltungsaufwand senken; Trade-off: gröbere Granularität.
G) Reserve + früheres Starten der Concurrent-Phase
-XX:G1ReservePercent=15Reserviert freie Regionen als Puffer. Senkt das Risiko, dass der Heap unter Last „zu knapp“ wird.-XX:InitiatingHeapOccupancyPercent=20Startet die concurrent marking/collection Phase bei relativ niedriger Heap-Auslastung. Ziel: frühzeitig mit dem Aufräumen beginnen, bevor Druck entsteht.
H) Mixed-GC-Steuerung (Old-Gen schrittweise bereinigen)
-XX:G1HeapWastePercent=5Schwelle, ab der G1 Regionen als „lohnend“ für Mixed GCs betrachtet (weniger tolerierter „Waste“ → tendenziell früheres Aufräumen).-XX:G1MixedGCCountTarget=4Zielanzahl Mixed-GCs, um Old-Gen-Bereinigung über mehrere Zyklen zu verteilen.-XX:G1MixedGCLiveThresholdPercent=90Regionen mit sehr hohem Live-Anteil werden seltener in Mixed-GCs aufgenommen (Priorisierung der „profitablen“ Regionen).
I) Parallelisierung
-XX:+ParallelRefProcEnabledParallelisiert Reference Processing (z. B. Soft/Weak/Phantom References). Kann Pausen reduzieren.
J) Heap-Free-Ratio (Wachstum/Schrumpfen des Heaps)
-XX:MinHeapFreeRatio=10-XX:MaxHeapFreeRatio=20Steuert, wie viel „freier“ Heap Java nach GC anstrebt. Niedrigere Werte können dazu führen, dass Java weniger freien Heap vorhält (workload-/plattformabhängig).
K) Serverstart / Netzwerk
-jar Server/HytaleServer.jarStartet das Server-JAR.--assets Assets.zipLädt die Assets.-bind 0.0.0.0:3500Bindet an alle Interfaces auf Port 3500 (extern erreichbar, sofern Firewall/Portforwarding korrekt).
2) MC-HOST24 Performance Saver Addon
Download: Profilseite → Downloads → Performance Saver.
Direktlink: MC-HOST24 Downloads
Das Addon reduziert Lastspitzen und stabilisiert den Betrieb. Es setzt an drei Punkten an:
TPS Limiting (stabil statt maximal)
Stabilere TPS sind oft besser als hohe, aber schwankende TPS (Client-Prediction + Netzwerk reagieren sensibel auf Schwankungen).
Das Addon kann TPS auf einen festen Wert begrenzen (Standard: 20 TPS).
Wenn der Server leer ist, reduziert es TPS zusätzlich (Standard: 5 TPS) → spart CPU und indirekt RAM-Druck.
Effekt: weniger CPU-Spitzen → weniger GC-Stress → weniger Mikrolags.
Dynamische View-Radius-Anpassung (Sichtweite nach Ressourcenlage)
Hohe Sichtweite = mehr aktive Chunks = mehr Entities/Daten = mehr CPU + mehr RAM.
Das Addon erkennt:
CPU-Druck über sinkende TPS,
RAM-Druck über häufige GC-Versuche der JVM.
Bei Druck wird die Sichtweite automatisch reduziert, um Ressourcen freizumachen.
Erholt sich der Server, wird die Sichtweite schrittweise wieder erhöht.
Effekt: verhindert ressourcenbedingte Abstürze, besonders unter Last/Stress.
Zusätzliche Garbage Collection (nur aktiv wenn es wahrscheinlich hilft)
Java gibt ungenutzten Speicher nicht immer sofort frei, besonders nach Lastspitzen.
Das Addon beobachtet geladene Chunks und triggert eine zusätzliche GC, wenn sehr wahrscheinlich Speicher freigeworden ist.
Effekt: weniger „toter Ballast“ im RAM nach Peak-Situationen.
Installation
downloade das Addon als .jar von der MC-HOST24 Webseite (Direktlink: MC-HOST24 Downloads)
uploade diese .jar dann in den mods/ Ordner von deinem Hytale Server
restarte anschließend deinen Server
3) config.json anpassen
Bedeutung der Optionen
chunkLoadingOptimization: trueEffizienteres Chunk-Handling → weniger CPU-Spitzen + weniger temporäre Speicherlast.reducedViewDistance: trueReduziert Grundlast durch weniger Sichtweite/Chunks → direkt weniger RAM/CPU.optimizedGarbageCollection: trueUnterstützt GC-freundlicheres Verhalten → weniger Peaks/Fragmentierung.
Zuletzt aktualisiert
War das hilfreich?
