From a Steam collection to a working PZ server modlist in three minutes
Project Zomboid is one of the very few games where adding mods to the dedicated server requires entering each mod twice with two different identifiers. Every mod has a numeric Workshop ID (Steam uses this to download the files) and an alphanumeric Mod ID (the game engine uses this to load the mod into the world). If you forget one of the two, the mod silently does nothing.
For a five-mod server you can copy them by hand. For a thirty-mod server you cannot. This page explains the workflow our support team gives every customer who asks: build a Steam Workshop collection, paste the collection URL into pzidgrabber.com, and copy the generated lines straight into the panel.
Why the two IDs exist
The Workshop ID is the number at the end of every Steam Workshop URL. Example: https://steamcommunity.com/sharedfiles/filedetails/?id=2392709985. SteamCMD uses this number to download the mod files when the server starts.
The Mod ID is set by the mod author inside the mod's mod.info file. It is what the game engine looks up when it scans Mods= at startup. It usually looks human-readable, like BetterSorting, Tsarslib, or FH. There is no relationship between the two strings, and there is no way for the panel to derive one from the other without reading the mod's own metadata.
This is why the panel's Mods tab has two fields per row: WorkshopItems= and Mods=. Both are required.
Step 1: build a Steam Workshop collection
- Open the Project Zomboid Workshop.
- For every mod you want, click the green plus and add it to a collection. If you do not have a collection yet, Steam will prompt you to create one.
- Open the collection's page. The URL looks like
https://steamcommunity.com/sharedfiles/filedetails/?id=3120000000. - Set the visibility to Public or Unlisted. The extractor cannot read private collections.
This is the same collection you give your players to subscribe to. Keep it up to date as you add mods, and everyone stays in sync.
Step 2: extract the IDs
- Open pzidgrabber.com in a browser tab.
- Paste the collection URL into the input field and submit.
- The page returns two text blocks. They are formatted exactly the way Project Zomboid expects them:
WorkshopItems=2313387159;2392709985;2566953935;... Mods=BetterSorting;Tsarslib;TrueActionsDancing;...
Copy both lines.
If the extractor returns "no mods retrieved": the collection is still private, the URL was wrapped or shortened, or the collection has zero items. Re-check visibility, copy the URL straight from Steam (not from a chat client that may have truncated it), and submit again.
Step 3: paste into the Supercraft panel
- Open your server, go to the Config tab, expand the Mods section.
- Paste the IDs from the second line of the extractor into the Mod IDs field (semicolon-separated).
- Paste the IDs from the first line into the Workshop Items field.
- Click Save and Restart.
The server downloads the mods from Steam on first start. You can watch progress in the Logs tab; SteamCMD prints one line per mod as it downloads.
Map mods need an extra line
If any of your mods is a map (Bedford Falls, Raven Creek, Eerie Country, the post-apocalyptic Louisville expansion), it also needs to appear in the Map= field. Map mods come first, vanilla map last:
Map=BedfordFalls;RavenCreek;Muldraugh, KY
The game loads maps in left-to-right order and the vanilla map must come last or it will overlap and hide the modded maps. The Mod ID for the map mod is what goes in this line, not the Workshop ID.
Mod load order: dependencies first
The order in Mods= is the load order. Library mods like Tsarslib, ModOptions, ProfessionFramework must appear before any mod that depends on them, or the dependent mod silently fails to load. The extractor returns mods in the order you added them to the collection, so it is worth adding libraries first when you build the collection.
Sizing your plan
Project Zomboid RAM use scales with mod count and active player count. Rough guidance from real customer reports:
| Mod count | Recommended plan |
|---|---|
| 0 to 10 mods, up to 4 players | Plan S |
| 10 to 25 mods, 4 to 8 players | Plan M |
| 25 to 50 mods, 8 to 16 players | Plan L |
| 50+ mods or 16+ players | Plan XL or higher |
If you cross 40 mods on Plan L and start seeing periodic stutter on day transitions, RAM is the bottleneck. The mod count itself does not crash the server, but each mod's lookup tables stay resident for the entire session, and PZ's autosave has to walk all of them.
After the first start: keep mods in sync with players
Players subscribe to your Steam collection and Steam pulls down the mods automatically. The server runs a parallel SteamCMD download. If a mod author publishes an update, the server picks it up on the next restart but players need to load Steam at least once to see the new version. Mismatches show up as a "Workshop item version is different" kick on join.
For server-side update on a schedule, restart the server at a known low-traffic time daily; this gives SteamCMD a fresh chance to pull mod updates without disrupting an active session.
Ready to run mods without doing the ID dance by hand? See Project Zomboid plans. Mod tab, save, restart. The panel does the rest.