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'smod.infofile. The modding docs the wiki links to add: "This is not the same as the Workshop ID." Many Workshop pages print both, on lines startingWorkshop ID:andMod ID:.
The three Build 42 items we tested show how little the two look alike:
| Workshop item | Workshop ID | Mod ID (mod.info) |
|---|---|---|
| Better Sorting | 2313387159 | BetterSortCC |
| Has Been Read | 2544353492 | P4HasBeenRead |
| Common Sense | 2875848298 | BB_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
AnimSetsandactiongroupsfolders, ending inNoSuchFileException, 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:
| Message | What to do |
|---|---|
| Workshop item version is different than the server's | The 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 installed | The 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.