Download
It sets up everything you need to play on Project Life Zoid, starts the game through Steam, and puts your game back exactly as it was when you quit.
Download for WindowsOn a Mac or Linux? Get those builds below.
Getting on
You need Project Zomboid on Steam, and Steam signed in.
Our Discord bot signs you up in one command. Do it before you press Play, and you only do it once.
No password to remember. Your character name is set the first time you join.
Heads up
You will see “Windows protected your PC” the first time you run it. Click More info, then Run anyway.
Windows shows that for any program from a small team that has not paid for a certificate. It is not a virus warning, and it goes away after the first run. If you would rather check the file yourself first, see below.
Mac and Linux
Both are new and less tested than the Windows build. If something is wrong, telling us on Discord is genuinely useful.
One download for both Apple Silicon and Intel Macs.
Open the .dmg and drag the app into your Applications folder, then run it from there. Opening it straight out of the disk image works right up until it tries to update itself, which a disk image cannot allow.
12.9 MB
On Debian, Ubuntu or Mint, take the .deb. The AppImage runs anywhere but is much bigger, because it carries everything it needs with it.
The AppImage keeps itself up to date. The .deb cannot replace itself, so with that one you come back here when there is a new version.
Download the .deb
Download the AppImage
5.8 MB · 80.6 MB
It is not. macOS marks anything downloaded from the internet, and for an app without a paid Apple certificate it words that badly.
Drag the app to Applications, then paste this into Terminal once:
xattr -dr com.apple.quarantine "/Applications/Project Life Zoid Launcher.app"
That clears the download mark on this one app. It changes no system setting and turns nothing off.
The same two steps fix an update that fails with Read-only file system. That means the app is running from the disk image, or from the locked temporary copy macOS uses while it is still marked as downloaded — and neither of those can be written to, so it cannot replace itself.
sudo apt install ./ProjectLifeZoid-Launcher_0.8.0_amd64.deb
Or make the AppImage executable and run it:
chmod +x ProjectLifeZoid-Launcher_0.8.0_amd64.AppImage
./ProjectLifeZoid-Launcher_0.8.0_amd64.AppImage
If the window opens completely white, your system is hitting a known graphics bug in the Linux web view. Version 0.8.0 works around it on its own; on anything older, start it like this instead:
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./ProjectLifeZoid-Launcher_0.8.0_amd64.AppImage
Is it safe
You are downloading a program from strangers on the internet. Being careful about that is the right instinct, so here is everything you need to check us.
The launcher and the Java it installs are on GitHub in full. Read it, build it yourself, or rebuild the patch and check it matches what we signed, class for class.
Every file we send carries our signature. The launcher checks each one before it lands on your PC and refuses anything that does not match.
It changes one file in Project Zomboid while you play and puts it back when you quit. If it ever crashes, it repairs that file the next time you open it.
No background service, nothing at startup, no other games touched. It reads your Steam ID and where the game is installed. That is all.
For the curious
You do not have to trust us on any of this. Every claim below is something you can check yourself, and the tools to do it ship in the repository.
Its SHA-256 is:
a0e7b2ced0ae964e19ed77abff2f78e44b73133f7819659b6b50904e283fd262
Compare it against your own copy. Every platform's checksum is listed in SHA256SUMS.txt.
The Java the launcher puts into your game is listed in a manifest signed with this key. It is compiled into the launcher, so this is the key it really uses:
cee5e242040235eecccad136376acedf3abb9a4919b15551d23461abc937a403
From a copy of the repository, this checks the signature and every one of the 471 files against it:
node tools/verify-release.mjs
A signature says who published a file, not what is inside it. We do not compile the patch ourselves: GitHub Actions compiles it from a public commit and signs a statement saying so. This checks that statement and that every class the manifest lists is one GitHub built:
node tools/verify-provenance.mjs
Or rebuild it yourself and compare byte for byte. The manifest names the exact commit and JDK, so there is no guessing which version you are checking against:
.\tools\reproduce-payload.ps1
You can also disassemble any single class and diff it against the untouched one in your own copy of the game:
.\tools\inspect-class.ps1 zombie.ZomboidGlobals
The installers are built by GitHub Actions too. With the GitHub CLI installed:
gh attestation verify ProjectLifeZoid-Launcher-0.8.0-setup.exe --repo AlexVDefi/ProjectLifeZoid-Launcher-Source
An attestation proves which public commit GitHub built a file from. It does not prove that commit is harmless: that is what reading the source is for.
The server's mod content is not in that repository either. What is published there is the launcher and the Java patch it installs on your machine.