The universal installer for
leaf
This project is an installer that helps guide a user with installing leaf. It allows the user to choose between two methods of installation, those being via proxy-loader and manual installation.
- Java 17 or higher
- (optional) JarFix
Useful if you are on Windows and double-clicking the installer JAR doesn't open it.
The primary use-case for this project is to install leaf-loader and its dependencies. The only thing you need to do is download the JAR linked in the latest release.
Caution
You should be informed about the potential risks of Java modding before installing any unofficial modding toolchain. There are safeguards that are provided such as leaf mod verification and hashing, but leaf WILL NOT stop you from loading a malicious mod from the Workshop or any other source if you allow it to do so.
It is always recommended to deny loading any mod that you do not trust. If you need help verifying the trust of a given mod, ask around for advice from people with experience. A good place to ask is in the official or unofficial Project Zomboid Discord servers.
Recommended
- Download the installer JAR from the latest release
- Run it via double-click
Double-click may not work on Linux or Mac - if so, run it via the terminal:java -jar installer-1.3.0.jar - Choose the environment - client or server
- Check the game path is set correctly
- Press install
- Click the
Copy argbutton (it should give you something like-javaagent:.leaf/lib/loader-proxy-0.2.1.jar) - Paste the arguments into your Steam launch options for Project Zomboid (read below for help)
- Add
--after the arguments (see Startup parameters - JVM arguments) - Subscribe to the Leaf Loader mod on the Steam Workshop
You do not need to enable the leaf loader mod in-game for it to be loaded by the proxy, but it is recommended to do so. You may now subscribe to any Leaf mod on the Workshop and the loader will discover enabled game mods at the next game start. It will prompt you to allow or deny discovered mods -- remember to only allow mods you trust!
If you need some help with usage of game arguments, you should read the Startup parameters - From the Steam application which shows the correct way to use them.
Manual
Using the proxy is the recommended method. You may choose to manually install the loader if you want, however it will not auto-update the loader or any of its dependencies. It is on you to update where necessary, but it is safer.
Manual installation requires unchecking the Use proxy box and by selecting the appropriate game and loader versions.
Follow the Recommended usage instructions steps 1-4. Configure the game version, loader version, and any other
options accordingly -- only then you can click "install". After installing, keep following the recommended instructions.
Alternative
If you are using the proxy and do not want to use the installer, you may download the proxy JAR from the
latest release and place it in the .leaf/lib folder; where .leaf is a folder that is
(usually) alongside projectzomboid.jar (depends on JVM working directory).
| Option | Description |
|---|---|
Game Version |
Game version to target. Is disabled when Use proxy is active |
Loader Version |
Loader version to install. Is disabled when Use proxy is active |
Game Location |
Path to Project Zomboid Steam game installation |
Show unstable |
Shows unstable game versions |
Use proxy |
Installs the loader proxy instead of the loader itself |
Create config |
Creates a game launcher config. Is disabled when Use proxy is active |
Create script |
NOT RECOMMENDED. Creates a modified launch script. Only for server environments |
If you use leaf regularly either for development (as a developer) or production (as a user), LEAF_CLIENT_GAME_PATH
and LEAF_SERVER_GAME_PATH environment variables may be set to allow leaf to automatically detect the location of the
game.
At the time of installation (the 'install' button) the installer will, depending on installation method, download either leaf-loader-proxy or leaf-loader and its dependencies.
The installer contacts both the leaf GitHub repository and the configured Maven repository. The leaf manifest
repostiory hosts manifest content for both the game (file hashes, version information, etc) and for the loader's
leaf-installer.json meta (loader dependencies to be downloaded, etc). The configured Maven is used to download
artefacts from (loader-proxy, loader, etc).
You can build the project like so:
./gradlew buildFor developing your own Leaf mods, you should read the Leaf wiki page which will contain a top-down summary of the entire leaf project.
If you need any help whatsoever with Leaf, you can discuss anything leaf-related on Discord through the official Project Zomboid Modding Community Discord using the appropriate channels.
- The entire FabricMC team!
- albion
- GigaWatte
- electrisoma
- SimKDT