Add Steam Workshop mods to a Project Zomboid dedicated server
Every mod on a dedicated server comes down to a few lines in servertest.ini. Here is exactly what they do, how to find the right IDs, and how to edit them without breaking your server.
Where the config lives
A Project Zomboid dedicated server keeps its settings in servertest.ini (or
yourserver.ini if you renamed it). It lives in the Zomboid/Server
folder under your user home:
- Linux:
~/Zomboid/Server/servertest.ini - Windows:
C:\Users\your-user\Zomboid\Server\servertest.ini
Always stop the server and take a copy of this file before editing it.
The three lines that matter
Mods are controlled by three keys:
WorkshopItems=2392709985;2757324939
Mods=Hydrocraft;ExtraCategory
Map=Muldraugh, KY
WorkshopItems=is the download list: the numeric Steam Workshop IDs the server subscribes to and downloads.Mods=is the list of logical mod IDs the game actually enables, and it defines load order.Map=lists map folders, in priority order, for mods that add maps.
Why WorkshopItems and Mods are not the same list
This trips up almost everyone: one Workshop item can contain several mod IDs, and
the two lists are independent. The number in a Workshop URL
(?id=2392709985) is a WorkshopItems value. The Mods value is the
mod's internal ID, which the author sets and lists in the Workshop description as
Mod ID:. They rarely look alike, and a single subscription can add two or three mod
IDs at once. Never put a Workshop number in Mods=, and never put a mod ID in
WorkshopItems=.
Finding the IDs
- WorkshopItems: open the mod's Workshop page and copy the number from the URL.
- Mods: read the Workshop description for one or more
Mod ID:lines and add every one of them. - Map: if the description lists a
Map Folder:, add that value toMap=.
A worked example
Say you want a mod whose Workshop URL ends in ?id=2757324939, and whose description
lists Mod ID: ExtraCategory. You would add the number to the download list and the
mod ID to the enable list:
WorkshopItems=2392709985;2757324939
Mods=Hydrocraft;ExtraCategory
Items are separated by ; (semicolons). Map names may contain commas
(Muldraugh, KY), which is why only the Map= line treats commas as part
of a name.
Common mistakes
- Putting a Workshop number in
Mods=(it belongs inWorkshopItems=). - Forgetting a dependency's Workshop item, so the game enables a mod whose requirement never downloaded.
- Missing a second or third
Mod ID:from a multi-mod item. - A bad load order, where a mod loads before the framework it needs.
Any of these can stop the server from booting. A dependency validation pass catches them before you launch.
Do it automatically with pzmod
pzmod is a free, open-source terminal app and CLI that handles all of this for you:
search the Workshop, resolve dependencies, order your mods, and validate everything
before you boot, all while keeping your servertest.ini byte-for-byte intact.
curl -fsSL https://pzmod.dev/install.sh | bash