MOD ID GRABBER
Project Zomboid Mod ID Grabber
Paste a Steam Workshop collection and get the Mods=, WorkshopItems= and Map= lines for your Project Zomboid server config, with every Mod ID looked up for you.
Paste a collection link to pull in every mod it contains, or paste individual mod links and IDs. Each one is looked up on Steam and its Mod ID read for you.
Project Zomboid needs two different values per mod. WorkshopItems= takes the numeric Workshop ID from the URL, which downloads the item. Mods= takes the internal mod ID from the item’s mod.info, which actually loads it. They are not the same string, and a mod listed in only one of the two lines silently does nothing.
Your mods (0)
Nothing added yet. Paste a Steam Workshop collection link above to start building your list.
Your config lines
ModsMods=
WorkshopItemsWorkshopItems=
These lines go in servertest.ini, or the .ini file named after your server, which you can edit from the Config tab of your game panel or over FTP.
How the mod list works
Every Project Zomboid mod needs to appear in two places in your server config. WorkshopItems= is a semicolon-separated list of numeric Workshop IDs, and it controls what SteamCMD downloads to the server. Mods= is a semicolon-separated list of internal mod IDs, and it controls what the game actually loads at startup.
The two values are different, and the mod ID is not derivable from the Workshop ID. It lives in the item’s mod.info file, which Steam never exposes through an API, so authors publish it in the item description instead. That is what this tool reads. A single Workshop item can also contain several mods, each with its own mod ID, in which case all of them belong in the Mods= line while the item appears once in WorkshopItems=.
Order matters when mods depend on each other: a dependency has to be listed before the mod that needs it in the Mods= line. Importing a collection keeps the order its author arranged, and you can use the arrows on each row to adjust it before you copy. Load order also decides which mod wins when two of them change the same thing, with later entries taking priority.
Importing a Steam Workshop collection
Paste a collection URL and every mod inside it is pulled in at once, in the order the collection author arranged them, with each Mod ID read from its Workshop page. This is the fastest way to move a list you already curated in the Steam client onto a dedicated server, where subscribing does nothing and the .ini file is the only thing that counts.
The collection has to be public, since private and friends-only collections cannot be read. Items that have been removed from the Workshop are kept in the list and marked, rather than quietly dropped, because a dead ID left in WorkshopItems= is a common reason a server stops booting after a Workshop change.
Build 42 and Build 41 mods
Build 42 changed the modding framework, so a mod has to ship a Build 42 version to load on a Build 42 server. Many mods now bundle both in one Workshop item, using separate 41 and 42 folders, which is why the same link can work on either build.
Workshop IDs carry no version information, so SteamCMD downloads whatever you list and the server still starts either way. That is what makes a mismatch easy to miss. Pick your build above and any mod whose own page says it targets the other one is flagged, so you can swap it before you find out in play.
Adding map mods
Map mods need a third line. Map= lists map folder names, not mod IDs, and a map mod still needs its normal entries in Mods= and WorkshopItems= as well. When a map mod is in your list the Map= line appears automatically, built from the map folder its author published.
Vanilla Muldraugh, KY is added last on purpose. Map= replaces the default rather than adding to it, so leaving vanilla out removes it from the world, and where two maps overlap the entry earlier in the list wins.