[Build 42] Ultimate Performance Boost: GraalVM 25 & Generational ZGC

Project Zomboid36 views3 min readGermanby Haf HunterUpdated 30 AprView on Steam ↗

Performance Baby!

Warum das Ganze?
Das mitgelieferte Java von Project Zomboid ist stabil, aber nicht auf maximale Performance getrimmt. Durch den Wechsel auf GraalVM 25 und die Nutzung des Generational Z-Garbage-Collectors (ZGC) nutzen wir modernste Compiler-Technologie, die speziell für CPU-intensive Anwendungen (wie PZ) entwickelt wurde.

DISCLAIMER / WARNHINWEIS
Eigene Gefahr: Diese Änderungen greifen tief in die Laufzeitumgebung des Spiels ein. Weder ich noch "The Indie Stone" haften für zerschossene Spielstände oder Instabilitäten.
Backup: Erstelle immer eine Kopie deines jre64-Ordners und deiner .json-Datei, bevor du Änderungen vornimmst!
Updates: Bei jedem offiziellen Project Zomboid Update über Steam werden die Datei ProjectZomboid64.json und der Ordner jre64 oft zurückgesetzt. Du musst die Schritte dann erneut ausführen.
Multiplayer: Diese Optimierungen sind clientseitig und funktionieren im Multiplayer. Wenn du einen Server hostest, müssen diese Parameter in den Server-Startdateien separat gesetzt werden.

how to

Schritt 1: GraalVM 25 installieren
    [] Lade GraalVM Community (Java 25) für dein System herunter (z.B. Windows x64).Downloadlink: https://www.graalvm.org/downloads/[] Gehe in deinen Spielordner:
    SteamLibrary\steamapps\common\ProjectZomboid
    [] Benenne den Ordner jre64 in jre64_backup um.[] Erstelle einen neuen Ordner jre64 und entpacke den Inhalt des GraalVM-Archivs dort hinein.

Schritt 2: Die High-End Startparameter
Öffne die Datei ProjectZomboid64.json im Hauptverzeichnis mit einem Texteditor (z.B. Notepad++). Ersetze den gesamten Block
"vmArgs": [...]
durch diesen optimierten Code:

"vmArgs": [ "-Djava.awt.headless=true", "-Xms16g", "-Xmx16g", "-XX:+UnlockExperimentalVMOptions", "-XX:+EnableJVMCI", "-XX:+UseJVMCICompiler", "-XX:+UseZGC", "-XX:+ZGenerational", "-XX:+AlwaysPreTouch", "-XX:+DisableExplicitGC", "-Dzomboid.steam=1", "-Dzomboid.znetlog=1", "-Djava.library.path=win64/;.", "-XX:-CreateCoredumpOnCrash", "-XX:-OmitStackTraceInFastThrow" ],

Was bewirken diese Parameter?
    [] -Xms16g -Xmx16g: Weist dem Spiel fest 16 GB RAM zu (ideal für Mod-Koloss-Builds). (Siehe RAM-Konfigurationen im nächsten Abschnitt!)[] -XX:+UseJVMCICompiler: Aktiviert den hochoptimierten Graal-Compiler (das Herzstück für mehr FPS).[] -XX:+UseZGC -XX:+ZGenerational: Der modernste Garbage Collector. Er sorgt dafür, dass RAM-Bereinigungen unter 1 Millisekunde dauern – keine Ruckler mehr beim Laden von Welten oder Zombies![] -XX:+AlwaysPreTouch: Belegt den RAM direkt beim Start, was Nachladeruckler während des Spielens verhindert.

Ram-Konfigurationen

Ergänzung: RAM-Konfigurationen (16GB / 32GB+)
Nicht jeder hat 64 GB RAM. Es ist wichtig, den Wert -Xms (Start-RAM) und -Xmx (Maximal-RAM) im obigen Code an das eigene System anzupassen. Die restlichen Parameter bleiben für GraalVM identisch.

System-RAM
Empfohlene Einstellung (-Xms & -Xmx)
Zielgruppe
16 GB
"-Xms6g", "-Xmx6g"
Vanilla+ oder kleine Mod-Listen.
32 GB
"-Xms12g", "-Xmx12g"
Große Mod-Listen (Brita, Raven Creek, etc.).
64 GB+
"-Xms16g", "-Xmx16g"
Extreme Mod-Listen & Server-Hosts.
Wichtig: Setze niemals den gesamten System-RAM für das Spiel ein. Windows und dein Browser benötigen ebenfalls Platz, sonst riskierst du Abstürze (Bluescreens).

Hat es funktioniert?

Schritt 3: Erfolg prüfen
Starte das Spiel und öffne die console.txt (in
C:\Benutzer\DeinName\Zomboid
).
Suche nach den ersten Zeilen. Dort sollte in etwa folgendes stehen:

java.version=25 java.vm.vendor=Oracle Corporation (oder GraalVM) JVM (max: 16384 Mb)

Tipp: Suche im Log (console.txt) nach JVMCI. Wenn
java.runtime.version=25.0.3+9-LTS-jvmci-b01
oder
java.vendor.version=Oracle GraalVM 25...
(je nach aktueller Version) auftaucht, ist der Turbo-Boost aktiv!

FAQ

FAQ - Häufig gestellte Fragen

F: Mein Spiel startet nach der Änderung nicht mehr!

AÜberprüfe die ProjectZomboid64.json. Ein fehlendes Komma oder ein falsch gesetztes Anführungszeichen führt dazu, dass das Spiel sofort abstürzt. Nutze einen JSON-Validator online, falls du dir unsicher bist, ob die Formatierung stimmt.

F: Ich sehe im Log "Oracle Corporation" statt "GraalVM".

A: Das ist normal. GraalVM ist ein Oracle-Produkt. Entscheidend ist die Zeile
java.vm.version
. Wenn dort -jvmci auftaucht, hast du alles richtig gemacht!

F: Was mache ich bei einem Spiel-Update?

ASteam wird die ProjectZomboid64.json wahrscheinlich überschreiben. Kopiere deine optimierten vmArgs einfach wieder hinein. Der jre64-Ordner bleibt oft erhalten, sollte aber zur Sicherheit kontrolliert werden.

F: Mein PC wird heißer als vorher.

AGraalVM optimiert aggressiver und nutzt die CPU-Leistung effizienter aus. Das ist ein Zeichen dafür, dass die Engine tatsächlich mehr arbeitet, um die FPS stabil zu halten. Sorge für gute Kühlung!

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.