ForgeWorld Gaming

Hosting guide

Project Zomboid server mods from the Workshop

Continue to secure billing, Project Zomboid · Dedicated server, CA$41.99 / month (Standard, 8 slots) Compare Project Zomboid · Dedicated server plans

A Project Zomboid dedicated server takes Workshop mods from two lines in its settings file: WorkshopItems says what to download and Mods says what to load. Get either line wrong and the mods do not load. We tested both lines on a Build 42.21 server, along with the mistakes that stop one, and this guide follows that order.

Updated 20 October 2026

1. Find the settings file

The server keeps its settings in the Server folder of its Zomboid folder: %USERPROFILE%\Zomboid\server on Windows and $HOME/Zomboid/Server on Linux, according to the official wiki. The file is named after the server: servertest.ini by default, or whatever -servername says, a startup option that "affects the name of the save files that are loaded/saved." The -cachedir option moves the whole Zomboid folder, settings included.

Do not rename the server to tidy up a file name. The wiki warns that a new server name "will change which .ini file is used and it will create a new save folder by this new server name", which means a fresh world under the new name.

2. Every mod has two IDs

  • The Workshop ID is the item's number on Steam. The wiki: "Check the URL of your mod on the Steam Workshop. The ID is the number at the end of the URL."
  • The Mod ID is the id= line in the mod's mod.info file. The modding docs the wiki links to add: "This is not the same as the Workshop ID." Many Workshop pages print both, on lines starting Workshop ID: and Mod ID:.

The three Build 42 items we tested show how little the two look alike:

Workshop itemWorkshop IDMod ID (mod.info)
Better Sorting2313387159BetterSortCC
Has Been Read2544353492P4HasBeenRead
Common Sense2875848298BB_CommonSense

One Workshop item can hold more than one mod ("Multiple mods can be present in a single uploaded mod"), each with its own Mod ID, so list the Workshop ID once and every Mod ID you want switched on. Map mods need a third entry: the map's folder name on the Map= line. The wiki's fix for maps that do not load is "to put the Muldraugh map at the end of the list, so the others have priority", so keep Muldraugh, KY last.

3. Write the two lines

With the server stopped, set both lines. The server's own comment in the file says of WorkshopItems: "Each must be separated by a semicolon." Semicolons worked for Mods too:

WorkshopItems=2313387159;2544353492
Mods=BetterSortCC;P4HasBeenRead

Order matters only when mods change the same files: the wiki's load-order page says "Mods which are loaded last (below) another one will overwrite that other mod files." Some Build 42 instructions put a backslash before every Mod ID. On our 42.21 server, Mods=\BetterSortCC;\P4HasBeenRead loaded the same two mods as the plain form, so either works there.

4. What the server does when it starts

The server downloads the WorkshopItems list itself, then loads the Mods list. The game's own text puts it this way: "The server will install Workshop items when starting." In the log, a download ends with a line like this, and each loaded mod gets one of its own:

Workshop: 2313387159 installed to .../steamapps/workshop/content/108600/2313387159
loading BetterSortCC

Three results from our tests are worth knowing before you go looking for a fault:

  • WorkshopItems alone loads nothing. With only the Workshop ID set, the server downloaded the item and started without the mod.
  • A wrong Mod ID is skipped, not fatal. A typo gave required mod "BetterSortCX" not found, and the server started with the other mod only. The server still listed the typo in the mod list it shows the outside world, so read the log, not the browser entry.
  • Some error lines are noise. Lines about missing AnimSets and actiongroups folders, ending in NoSuchFileException, appeared with mods that worked.

5. An out-of-date mod stops the server

The Indie Stone is plain about the big break: "Build 41 saves and mods are NOT compatible with Build 42." A Build 42 mod has a version folder such as 42, a common folder, or both, and the version folder closest to the game's version wins. Even a mod with Build 42 folders can lag behind a patch. When we added Common Sense to our 42.21 server, its Lua failed with a stack trace naming the mod, Lua((MOD:Common Sense)), and the start ended with:

World loading could not proceed, there are script load errors.
Server Terminated.

The real cause sits earlier in the log, as the message says. Search the log for MOD: to find which mod it was, take its ID out of Mods (and its Workshop ID out of WorkshopItems), and start the server again. Check the mod's Workshop page for an update before you add it back. Only add mods you trust: in April 2026 The Indie Stone removed malicious Workshop mods, and said "This exploit only affected Build 42 branches."

6. What players see

Players do not need to subscribe first. When they join, the game shows "The server you are joining requires these Steam Workshop items:" and offers to install them. These are the messages in the 42.21 game files that point at mods:

MessageWhat to do
Workshop item version is different than the server'sThe game's own advice: "Possibly the server's version is outdated, requiring the server to be restarted." If the player is behind, "try restarting Steam to get the latest version."
Mod "…" is not installedThe player is missing a mod the server loads. Mods that reach players through the Workshop prompt are the ones whose Workshop IDs are on the WorkshopItems line.
You have been kicked because your game files do not match the server's.The DoLuaChecksum setting: "Kick clients whose game files don't match the server's." The wiki notes a bug that makes it flag false positives on Linux servers.

After a mod update, the admin command checkModsNeedUpdate "Indicates whether a mod has been updated. Writes answer to log file". On our server, with every item freshly downloaded, it answered CheckModsNeedUpdate: Mods updated. Restart the server to pick up a new version.

Where ForgeWorld Gaming fits

A ForgeWorld Gaming Project Zomboid server runs with its Zomboid folder at .cache, so the settings file is .cache/Server/<name>.ini on the Files tab, named after the Server Name on the Startup tab; the panel takes letters and numbers only in that field. There are no mod fields on the Startup tab: edit the two lines in that file, then restart. Steam Auto Update is on by default, so a restart after an Indie Stone patch also installs the new build; check your mods' pages after a patch, as section 5 explains. On our test server the file was not rewritten when the server stopped, so an edit made while it ran survived, but it only took effect at the next start. Downloaded items appear under steamapps/workshop/content/108600 on the Files tab. The log quoted above is .cache/server-console.txt, also on the Files tab, and the Console tab shows the server's output as it runs; checkModsNeedUpdate works there too. One panel quirk: when a broken mod ends the start with Server Terminated., the panel keeps showing the server as starting, twice in our tests. Use Stop, or Kill if it does not respond, fix the Mods line, then start it again. Last checked 2026-10-20.

Prefer renting to keeping your own server machine online? ForgeWorld Gaming currently offers Project Zomboid Standard: 8 player slots at CA$41.99/month. Hosted in Iowa, United States. Prices are in Canadian dollars, with no setup fee and cancel any time. Your server is set up automatically after payment. Continue to secure billing, Project Zomboid · Dedicated server, CA$41.99 / month (Standard, 8 slots), or compare Project Zomboid plans.

Common questions

What is the difference between WorkshopItems and Mods in a Project Zomboid server ini?

WorkshopItems lists Workshop IDs, the numbers at the end of each item's Steam URL, and the server downloads those when it starts. Mods lists Mod IDs, the id= line in each mod's mod.info, and the server loads only those. In our test, a server with only WorkshopItems set downloaded the item and started without the mod.

Where do I find a Project Zomboid Mod ID?

In the id= line of the mod's mod.info file, which the PZwiki's modding docs say is not the same as the Workshop ID. Many Workshop pages also print a Mod ID: line. One Workshop item can hold several mods, each with its own Mod ID.

Why does my server say World loading could not proceed, there are script load errors?

A mod failed to load, usually one not updated for the current build. The real error comes earlier in the log; in our 42.21 test the stack trace named the mod as MOD:Common Sense. Remove that mod from the Mods and WorkshopItems lines, restart, and check its Workshop page for an update.

Do Build 41 mods work on a Build 42 Project Zomboid server?

No. The Indie Stone says Build 41 saves and mods are not compatible with Build 42. A Build 42 mod carries a version folder such as 42, a common folder, or both, and even those can fall behind a patch, so check each mod's page for the build it supports.

Do I need a backslash before mod IDs on a Build 42 server?

Not on 42.21 in our test. Mods=BetterSortCC;P4HasBeenRead and the backslash form, Mods=\BetterSortCC;\P4HasBeenRead, loaded the same two mods. Separate entries with semicolons either way.

Why do players get Workshop item version is different than the server's?

The player's copy of a mod and the server's differ, usually because the mod updated. The game's own advice: if the server's version is outdated, restart the server; if the player's is, restart Steam. The checkModsNeedUpdate admin command writes the answer to the log.

Sources

Continue to secure billing, Project Zomboid · Dedicated server, CA$41.99 / month (Standard, 8 slots)

Questions this guide did not answer? Email support@fwg.world for pre-sales help. No account or payment is required.