How to add mods to Project Zomboid (PC and RoxyCloud server)
Workshop on your PC, IDs in the RoxyCloud panel .ini, Build 42 Mods format, and how to turn off AntiCheatProtectionType12 when a mod kicks players.

This guide is for RoxyCloud. On your PC you subscribe to the Steam Workshop. On the server you stop the panel, edit the .ini and start again. You do not host the game on your own machine.
Mods on your PC
Everyone who joins needs the same mods on the client. Otherwise the game refuses the join or the world looks different.
- In Steam, open the library and click Project Zomboid.
- Open the Workshop tab and pick the mod. Check it matches the server build (41 or 42).
- Click Subscribe. Steam downloads it.
- Open Project Zomboid, go to Mods and enable the pack for solo or multiplayer.
- For solo, create or load the world with those mods on. An old world can break with a new mod.
The two IDs the server needs
On the Workshop page, copy two things. The Workshop ID is the number in the URL. The Mod ID is the Mod ID text in the description, or id= in mod.info. One Workshop item can have more than one internal ID. List all of them on Mods.
Mods on the RoxyCloud server
- Open the panel and stop the server with Power. Do not edit the .ini while the world is running. The game can overwrite your file.
- Open the file manager.
- Go to the save folder. On many servers it is .cache/Server/. On others it is Zomboid/Server/.
- Open the .ini that matches the name on the startup tab. The usual name is servertest.ini.
- Find WorkshopItems= and Mods=.
- Save and start with Power. The first boot downloads the Workshop. Wait for the console before you join.
Build 41
WorkshopItems takes Steam numbers. Mods takes internal IDs, no slash. Separate with a semicolon and no spaces.
WorkshopItems=2392709985;2169435993
Mods=BedfordFalls;ModOptionsBuild 42
WorkshopItems stays the same: numbers and semicolons. On Mods each internal ID starts with a backslash.
WorkshopItems=123456789;987654321
Mods=\JB_Fireflys;\ProximityInventory4213;\B42MoodleDescriptionsExpanded;\PTBRB42;\CraftEnginePartsModerateA map mod also needs Map= in the same file. The default is Muldraugh, KY. Put the map name first, as the Workshop page says.
Anti-cheat error with mods
If the server downloads the mod and still kicks on join, it is often anti-cheat type 12. It treats extra client files as cheating.
- Stop the server with Power.
- Open the same save .ini in the file manager.
- Find AntiCheatProtectionType12=.
- Set it to false.
- Save and start again.
AntiCheatProtectionType12=falseDo not turn off the other types unless you need to. If the line is a number instead of true or false, set 0 on type 12 only and test.
Before you enable a pack
- Client and server on the same build. 41 and 42 do not mix.
- A 41 mod does not work on 42 just because the name is close. Use the 42 ID.
- An old save can break with a new mod. Back up the world folder in the file manager.
- If the console does not download the item, check the Workshop number.
Frequently asked questions
Straight answers before you order
You may also like
How to create a Project Zomboid Build 42 server
Hire Annihilation or Ultimate on RoxyCloud, set the unstable branch in the panel, back up, reinstall and join by IP.
Samuel Akires
How to log in as admin on a Project Zomboid server
In the RoxyCloud panel you set the admin username and password. In the game you join with that same account.
Samuel Akires
How to add and remove admins on Project Zomboid
In the RoxyCloud panel console you use setaccesslevel. The name is the in-game account, not the site login.
Samuel Akires
How to set up a Factorio server and who can join
RoxyCloud Factorio hosting tutorial: IP and port in the panel, room password, public list, and require_user_verification.
Samuel Akires
