A framework that enables advanced Java mods for Project Zomboid.
What it does:
ZombieBuddy is required by some mods to work. If a mod tells you to install ZombieBuddy, follow the instructions below.
Installation (One-Time Setup)
Step 1: Subscribe to ZombieBuddy on Steam Workshop
Step 2: Installation is required ONLY ONCE for ZombieBuddy itself.
🪟 Windows:
Option A: Automated Installer (Recommended)
- Close Steam completely (right-click Steam in system tray → Exit)
- Download the latest ZombieBuddyInstaller.exe from GitHub Releases[github.com]
- Run the installer - it will automatically detect your game folder, copy the files, and set up Steam launch options.
- Start Steam.
Option B: Manual Installation
- Copy ZombieBuddy.jar and zbNative.dll from:
C:\Program Files (x86)\Steam\steamapps\workshop\content\108600\3619862853\mods\ZombieBuddy\libs\
to your Project Zomboid folder:
C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\ - Open Project Zomboid's launch options in Steam
- Add this launch option:
-agentlib:zbNative -- - ⚠️ IMPORTANT: The -- at the end is mandatory - do not omit it!
🍎 macOS / 🐧 Linux:
- Copy ZombieBuddy.jar from the mod's libs/ directory to:
[list] - macOS: ~/Library/Application Support/Steam/steamapps/common/ProjectZomboid/Project Zomboid.app/Contents/Java/
- Linux: ~/.steam/steam/steamapps/common/ProjectZomboid/projectzomboid/
[*] Open Project Zomboid's launch options in Steam
[*] Add this JVM argument: -javaagent:ZombieBuddy.jar --
[*] ⚠️ IMPORTANT: The -- at the end is mandatory - do not omit it!
[/list]
Step 3: After this setup, all mods that require ZombieBuddy will work automatically!
Uninstall
- Disable the agent first: Open Project Zomboid → Properties → clear the Launch Options line
- Delete zbNative.dll and ZombieBuddy.jar from your Project Zomboid install directory
- Unsubscribe from ZombieBuddy on Steam
⚠️ Security Warning ⚠️
Java mods enabled through ZombieBuddy have unrestricted access to your system. Only install mods from sources you trust.
No jar will sneak in. Whenever a Java mod ships a new or updated JAR, ZombieBuddy shows a native dialog with the mod id, file path, last-modified date, and SHA-256 fingerprint. Nothing is loaded until you click Yes. You can choose to remember the decision (per-mod, per-hash) or keep it session-only. Decisions are stored in:
- Windows: %USERPROFILE%\.zombie_buddy\java_mod_approvals.txt
- macOS / Linux: ~/.zombie_buddy/java_mod_approvals.txt
If a previously-approved JAR changes on disk (hash mismatch), you will be prompted again.
Java Mod Policy
Controls what happens when an unknown/changed JAR is seen. Pass as a policy=… argument:
- prompt (default) - ask me each time via a native dialog.
- deny-new - silently skip any JAR that isn't already approved.
- allow-all - load every JAR without prompting. Not recommended.
Examples (block form, these go into Steam launch options):
-agentlib:zbNative=policy=deny-new -- (Windows)
-javaagent:ZombieBuddy.jar=policy=deny-new -- (macOS / Linux)
FAQ
- Is it a virus?
No.
- How to start game in debug mode?
-agentlib:zbNative -- -debug
- Do I need to repeat manual installation after I upgrade/downgrade/validate game?
No.
- Works on MP?
Yes.
- Save compatibility?
Safe to add or remove on existing saves.
- I clicked the wrong button in the approval dialog. How do I reset it?
Open
java_mod_approvals.txt
(path above), delete the offending
modId|sha256=yes|no
line, and restart the game.
- Can I see which Java mods were loaded or blocked?
Yes - install Zed's Better ModList and the status is shown next to each JAR path in the mod list.
- Supported game versions?
B41, B42.12, B42.13, B42.14, B42.15, B42.16
Links
GitHub Repository[github.com]
Support the Project
If you find ZombieBuddy useful, consider supporting its development:
[ko-fi.com]
Workshop ID: 3619862853
Mod ID: ZombieBuddy