-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting and FAQ
This page addresses common questions, error messages, and troubleshooting procedures for Project Zomboid Optimiser (PZO).
-
Symptoms: When launching a dedicated server on Linux, Docker, or Pterodactyl, the server terminates immediately with:
pzexe: SteamAPI_Init() failed Steam must be running to play this game (SteamAPI_Init() failed). Fatal Error -
Cause: In
ProjectZomboid64.json, the"mainClass"field was modified (e.g. changed tocom/pzoptimizer/server/PZOServerEntrypoint). The native Linux launcher executable (ProjectZomboid64/pzexe) checks whethermainClassequals"zombie/network/GameServer". IfmainClassis anything else, the launcher assumes it is booting a desktop game client and callsSteamAPI_Init(). On headless Linux servers without a running Steam client, this call unconditionally fails. -
Solution:
- Open
ProjectZomboid64.jsonand ensure"mainClass"is kept strictly as:"mainClass": "zombie/network/GameServer",
- Load the PZO server engine as a Java Agent by adding
"-javaagent:PZOServerEngine.jar"to the top of your"vmArgs"array instead. - Ensure
steam_appid.txtcontaining108600exists in the server root.
- Open
- Symptoms: The server starts, runs for a few minutes or hours, and is suddenly killed by the host node without a Java stack trace.
-
Cause:
-Xmxwas set equal to or greater than the hosting container's total allocated RAM. The HotSpot JVM heap is only part of total memory usage; off-heap direct buffers, native C++ libraries (RakNet, FMOD), and thread stacks require additional memory. -
Solution: Reduce
-Xmxso that at least 512MB to 1024MB remains unallocated for native processes. For example, on an 8GB container plan, set-Xmx7168m.
-
Symptoms: The main menu loads, but the gear icon in the top-right is greyed out and says
"PZO Engine Inactive". -
Checks:
-
Check
ProjectZomboid64.json: Open the file in your game folder and verify that"-javaagent:PZOptimEngine.jar"is present in"vmArgs". -
Check JAR Location: Confirm
PZOptimEngine.jaris located in the same directory asProjectZomboid64.json. - Launch Method: Launch the game directly through Steam. If launching via a custom shortcut, ensure the working directory is set to your Project Zomboid installation folder.
-
Check
- Symptoms: Project Zomboid attempts to start, displays a brief black window, and closes.
-
Checks:
- Check
console.txtinC:\Users\<username>\Zomboid\(Windows) or~/Zomboid/(Linux). - If the error mentions
Could not reserve enough space for object heap:- Open
ProjectZomboid64.json. - Reduce
-Xmx(e.g. change-Xmx16384mdown to-Xmx8192mor-Xmx4096m).
- Open
- If using outdated graphics drivers, ensure OpenGL 3.3+ acceleration is enabled.
- Check
-
Symptoms: Running
./pzo_optimizer.shin the terminal outputsbash: ./pzo_optimizer.sh: Permission denied. -
Solution: Grant execute permissions to the script before running:
chmod +x pzo_optimizer.sh ./pzo_optimizer.sh
No.
Nope. If you only want to use the version found on the Steam Workshop that will work standalone for you. The Java extension is an optional more advanced performance booster for those who want it.
Mostly yes, I don't know and havent tested for every mod out there and i really dont want to. Most mods should work with PZO including Zombiebuddy mods. However other performance mods should be used with caution as they could conflict in weird and unexpected ways.
Yes, there should be no issues adding or removing PZO mid save.
No. PZO utilizes standard JVM JavaAgent instrumentation (java.lang.instrument), which operates entirely within Java's officially supported runtime API. It does not modify game binaries (ProjectZomboid64.exe) or hook into protected operating system memory spaces.
Yes. PZO is tested and compatible with both Build 42 (Stable) and Build 41 (Legacy). PZO features dynamically adapt to the game version detected at launch.
- Delete
PZOptimEngine.jar(orPZOServerEngine.jar) from your game/server directory. - In Steam, right-click Project Zomboid > Properties > Installed Files > Verify integrity of game files. Steam will verify and restore the default
ProjectZomboid64.json.