Document Control¶
| Field | Value |
|---|---|
| Document ID | modders-modinfo-modid-conventions |
| Version | 1.0.0 |
| Status | approved |
| Confidence | Medium |
| Category (track) | Modders |
| Build | both |
| Owner | PZ Knowledge-Base Pipeline |
| Created | 2026-10-07 |
| Updated | 2026-10-08 |
| Review due | 2027-01-07 |
| Game versions verified | 41.78.16 (Umbrella stub pin only), 42.20.0 (stubs and docs), 42.21 (Umbrella 42.21.0 stubs, ScriptsDocs page titled 42.21.0, and the 42.20.1 to 42.21 notes; not re-tested in-game) |
Executive Summary¶
This document goes one level below the mod.info and mod-layout subsections
of modders-foundation. It lists every mod.info key that the game-generated
ScriptsDocs page documents, with its type and an example where one exists [4];
cross-checks the key set against the accessor methods in the pinned Build 42
Umbrella stub for the in-game mod record [5]; and sets out the Build 42
versioned folder layout (common/ plus version folders) and how version
folder names resolve [9]. It also covers the Workshop-side wrapper
(workshop.txt, preview.png) [9] [12], Mod ID uniqueness, and what is and
is not documented about dependency and load-order semantics.
The headline delta: Build 41 uses one flat folder with media/ and a root
mod.info, while Build 42 adds a common/ folder and per-version folders
whose names are matched to the running game version, and the two layouts can
share one folder because they do not collide [9]. The versionMin and
versionMax keys, and the in-game accessors for common and version
directories, are documented only for the Build 42 side [4] [5].
Confidence is Medium. The key list rests on a code-truth-generated page
titled for 42.21.0 [4] and pinned stubs [5] [16], but the folder-resolution rules
rest on a fact-only wiki revision stamped 42.14.0 [9], the wiki mod.info
snapshot we hold contains only navigation text [10], and nothing was run
in-game. The game reached 42.21 stable on 2026-09-28 [2]; this revision
re-checked the key list and accessor names against 42.21 sources and found no
change (see Build Applicability).
Key Takeaways¶
mod.infodocuments 17 keys on the ScriptsDocs page: author, category, description, icon, id, incompatible, loadModAfter, loadModBefore, modversion, name, pack, poster, require, tiledef, url, versionMax, versionMin. (cited) (B42 docs)idis the Mod ID, a unique string used in mod lists; it is a different thing from the Workshop ID. (cited) (both)- B42 mods need at least one
common/or version folder to be detected; version folder names resolve at build.major precision, so42.0.5acts as42.0. (cited) (B42) versionMinandversionMaxmust be at leastbuild.majorform, such as42.12; a bare build number does not work. (cited) (B42)- Dependencies are
requireandincompatible; load-order levers areloadModAfterandloadModBefore, all comma-separated Mod IDs. (cited) - Only
Contents/is uploaded to the Workshop;workshop.txtis generated by the in-game uploader andpreview.pngis held to 256x256. (cited) - The backslash-prefix
Mods=convention is not confirmed by any source read here and is quarantined, consistent withadmins-workshop-mod-wiring. (community, unverified) - A B41-side confirmation of the
mod.infokey set was not obtained. (gap)
Purpose¶
Give a mod author a single place to answer: which keys can I put in
mod.info, how must the folders be arranged so B42 finds the right files,
how do I name and keep my Mod ID, and how do I express dependencies and load
order without relying on folklore.
Scope¶
Covered: mod.info keys; B41 and B42 mod folder layouts; version-folder
resolution; Workshop versus local folders; the Workshop upload wrapper; Mod ID
uniqueness; dependency and load-order keys. Not covered: server Mods= and
WorkshopItems= wiring (owned by admins-workshop-mod-wiring), script and
Lua content inside media/, the options API, and unstable-branch behaviour.
Definitions¶
- Mod ID — the
idvalue inmod.info[4]. - Workshop ID — Steam's numeric item identifier; the upload tool appends both it and the Mod ID to the Workshop page description [4] [11].
- Version folder — a B42 subfolder named after a game version, matched against the running build [9].
common/— the B42 subfolder loaded first, intended for large shared assets [9].- Contents wrapper — the
Workshop/<Item>/Contents/mods/<Mod>/path whoseContents/part is the only uploaded directory [9].
Build Applicability¶
| Build | Applies | Verified against | Notes |
|---|---|---|---|
| B41 (legacy41) | Partly | Umbrella 41.78.16 stub pin [6] [8]; layout from wiki [9] | Flat layout documented [9]. No B41 confirmation of the key set was found; the B41 stub index has no mod-record class [8]. Latest legacy line is 41.78.21 (2026-08-26) [3] |
| B42 (stable) | Yes | 42.21.0 stubs [16] [17] (earlier check: 42.20.0 stubs [5] [7]) and ScriptsDocs page titled 42.21.0 [4] | 42.21 stable was released 2026-09-28 [2]. The wiki layout page is stamped 42.14.0 [9] and workshop.txt page 42.5.1 [12] |
42.21 re-baseline (2026-10-07). This revision re-read the ScriptsDocs
mod.info page, which is now titled 42.21.0 and lists the same 17 keys as the
table below [4]; compared the 42.21.0 ChooseGameInfo.Mod and ActiveMods
stubs with the 42.20.0 ones (text-identical for ChooseGameInfo.Mod, no member
changes for ActiveMods in the index diff) [16] [17] [5] [7]; and read the
42.20.1, 42.20.2, 42.20.3, 42.20.4, 42.21 unstable and 42.21 stable posts
[19] [20] [21] [3] [22] [2] plus the TIS forum 42.21 patch-note list (abridged to
"selected" for its long fix lists) [18]. None of them mentions mod.info,
Mod IDs, the common/ or version folders, versionMin/versionMax or
workshop.txt. The wiki layout, uploading and workshop.txt pages were not
re-fetched, so their statements are carried forward from 42.20 with no
contradicting change found; nothing was re-tested in-game. The upstream 42.20.0
Umbrella tag was later moved, so this document cites commits, not tags.
Reference¶
The mod.info file¶
The ScriptsDocs page for the file says it lives next to the media folder
inside the mod folder (shown as MyMod/<version>/) [4]. The file is plain
text, one key=value entry per line, per the examples on that page [4].
| Key | Type per [4] | What it does per [4] | Build |
|---|---|---|---|
name |
translation | Display name in the mod manager; translatable through a Mod.json translation file | B42 docs |
id |
string | Unique identifier used in mod lists to enable the mod; not the Workshop ID | B42 docs |
description |
translation | Text in the mod manager; accepts ISRichTextPanel tags; translatable | B42 docs |
author |
string | Author names, comma-separated, no formal convention | B42 docs |
category |
string | Mod-manager filtering; known values map, vehicle, features, modpack; other values add no filter | B42 docs |
modversion |
string | The mod's own version number | B42 docs |
poster |
string | First listed is the main manager image; others are clickable showcase images | B42 docs |
icon |
string | Small image beside the name in the list; the poster may serve | B42 docs |
url |
string | Adds a link labelled Homepage on the mod's manager page | B42 docs |
require |
string | Mods this one depends on, comma-separated | B42 docs |
incompatible |
string | Mods that cannot be enabled together with this one | B42 docs |
loadModAfter |
string | Load this mod after the listed mods | B42 docs |
loadModBefore |
string | Load this mod before the listed mods | B42 docs |
versionMin |
string | Lowest supported game version, at least build.major such as 42.0 |
B42 docs |
versionMax |
string | Highest supported game version, at least build.major such as 42.12 |
B42 docs |
pack |
string | Names pack files (texture and tile packs) the game must load | B42 docs |
tiledef |
string | The tiledef name and ID the mod adds, example tiledef=Excavation 2112 |
B42 docs |
The page gives these examples verbatim in form: require=theNeededMod,theOtherOne,
incompatible=theUnwantedMod,theOtherOne, loadModAfter=someMod,anotherMod,
loadModBefore=someMod,anotherMod and poster=poster.png [4]. It also states
that a bare build number is rejected for versionMin and versionMax [4].
For multi-version mods the page says posters can live in a shared common
folder and be referenced by relative path, such as poster=../common/mymodname_poster.png,
and that poster filenames should be unique because all mods share one pool [4].
Cross-check against the in-game mod record¶
The pinned B42 Umbrella stub for the Java mod-record class exposes accessors
that line up with the key set: author, category, description, icon, id,
incompatible, load-after, load-before, mod version, name, poster and poster
count, require, URL, version min and max, packs, tile definitions, and a
Workshop ID [5]. Two accessors have no mod.info key counterpart on the
ScriptsDocs page: ChooseGameInfo.Mod:getCommonDir() and
ChooseGameInfo.Mod:getVersionDir() (B42), which expose the resolved
common and version directories of a loaded mod [5]. The same stub exposes
availability checks, ChooseGameInfo.Mod:isAvailable() (B42) [5].
The stubs also expose engine-level mod state through ActiveMods, including
ActiveMods:isModActive(...), ActiveMods:setModActive(...) and
ActiveMods:checkMissingMods() [7] [6]. The stubs list these names only; the
behaviour of the missing-mods check is not described in them [7].
Folder layouts¶
Workshop wrapper. In the Zomboid cache folder, a Workshop item sits at
Workshop/<Item>/ with a Contents/ folder (containing only mods/), a
workshop.txt, and a preview.png; the game holds the preview to 256x256 [9].
Only Contents/ is uploaded, and sibling folders are ignored by the game and
may hold a repository, scripts or IDE files [9]. The steamapps/common
game-install Workshop folder cannot be used for modding [9].
Build 41. Each mod folder under Contents/mods/ directly holds media/,
mod.info and poster.png [9].
Build 42. Each mod folder holds common/ and one or more version folders
(42, 42.1, and so on), and each version folder can carry its own media/,
mod.info and poster.png [9]. The wiki states common/ is mandatory even
if empty, and in a later passage states that at least one versioning or common
folder suffices for detection; the two statements are not reconciled on that
page [9]. One Workshop item can contain several mods under Contents/mods/,
which the page suggests for optional mods or alternate versions of one mod
[9].
The wiki's full example also shows a mod.info, poster.png and icon.png
at the mod-folder root beside the version folders [9]; how a root file
interacts with a version-folder file is not stated there [9].
Mixing builds. A B41-style media/ at the mod root and the B42 common/
and version folders can coexist because the B42 structure is one level
deeper, so each build ignores the other's files [9]. The B41 side does not
recognise common/, although the B41 Lua API may reach some files in it [9].
Version-folder resolution¶
The load sequence is the common/ folder first, then the version folder
closest to the running game version, whose files overwrite same-named
common/ files [9]. Names are read as build.major, so a minor component is
dropped [9].
| Folder name | Treated as | Source |
|---|---|---|
42 |
42.0 |
[9] |
43 |
43.0 |
[9] |
42.12 |
42.12 |
[9] |
42.1 |
42.1 |
[9] |
42.0.5 |
42.0 |
[9] |
43.5.1 |
43.5 |
[9] |
The wiki recommends version folders for code files and mod.info since these
change with the game version, and common/ for large files such as models,
textures and animations [9]. A version folder is not required for every game
version [9].
Local versus Workshop locations¶
Under the cache folder, Zomboid/mods holds locally installed mods and
Zomboid/Workshop holds items prepared for upload [9]. Subscribed items live
under the Steam library at steamapps/workshop/content/108600/<WorkshopID>,
named by Workshop ID [9]. Duplicate copies of the same mod, such as a
local copy plus a subscribed copy, mix and clash [9]. The wiki advises
developing in the Workshop folder and unsubscribing from your own mod while
doing so [9].
workshop.txt¶
The in-game uploader generates this file; it need not be written by hand [12].
The wiki page lists these keys: version (kept at 1), id (the Workshop ID;
remove it to create a new item), title, description (each new line needs
the key repeated), tags (predefined by the game's Workshop), and
visibility (0 public, 1 friends-only, 2 private, 3 unlisted) [12]. The page
was last updated for 42.5.1 and flags itself as possibly outdated [12].
Uploading¶
The in-game uploader (Workshop, then Create and update items) lists the valid mods in the Workshop folder, asks for title, description, tags and visibility, and appends the Workshop ID and Mod ID to the description [11]. It overwrites the whole Workshop description on each upload, and files deleted from a new version are not removed from subscribers' copies; the wiki's workaround is to ship them emptied [11].
Mod ID uniqueness and dependency semantics¶
id must be unique within the mod list since it enables the mod there [4].
A Mod ID differs from the Workshop ID, and a single Workshop item can hold
several Mod IDs [4] [9]. Dependencies are comma-separated lists under
require and incompatible; ordering is influenced by loadModAfter and
loadModBefore [4]. No read source states what the game does when a
require target is missing at load time, or how it resolves a cycle between
loadModAfter and loadModBefore entries.
B41 vs B42 Delta¶
| Area | Build 41.78 (B41) | Build 42.20 to 42.21 (B42) |
|---|---|---|
| Mod folder | media/, mod.info, poster.png directly in the mod folder [9] |
common/ plus version folders each able to hold media/, mod.info, poster.png [9] |
| Version matching | None; no versioned folders [9] | Folder names resolve at build.major; closest folder to the running version overrides common/ [9] |
| Shared assets | Not applicable | common/ loads first and is meant for large assets [9] |
versionMin / versionMax |
Not found in any B41-side source read | Documented, build.major minimum form [4] |
| In-game mod record stubs | No mod-record class in the pinned B41 stub index [8] | A mod-record class with accessors for all documented keys plus getCommonDir and getVersionDir, identical at 42.20.0 and 42.21.0 [5] [16] |
ActiveMods stub |
Present [6] | Present at 42.20.0 and 42.21.0 [7] [17] |
| Detection | media/ plus root mod.info |
At least one common/ or version folder [9] |
| Dual-build items | B41 files at the root remain usable | B42 folders ignored by B41, B41 media/ ignored by B42 [9] |
| Hotfix line | Legacy 41.78.21 as of 2026-08-26 [3] | 42.20.0 stable, hotfixes 42.20.1 to 42.20.4, then 42.21 stable on 2026-09-28 [1] [19] [3] [2] |
Whether the other mod.info keys (such as require, loadModAfter) behave
identically on B41 is not established by any source read here; the admins
sibling document records the same gap [see admins-workshop-mod-wiring].
Practical Guidance¶
- Put
id,name,descriptionandposterin everymod.infoyou ship, and keeprequireto Mod IDs, not Workshop IDs, since the page definesidas separate from the Workshop ID [4]. - For a B42 mod, create
common/and at least one version folder; place Lua, scripts andmod.infoin the version folder and large binary assets incommon/[9]. - Set
versionMininbuild.majorform such as42.0, never a bare42[4]. - If one Workshop item must also serve B41 players, keep B41
media/at the mod root besidecommon/and the version folders [9]. - Prefer
loadModAfterandloadModBeforeover assumptions about list order for any ordering need, because these are the documented levers [4]. - Develop from the Workshop folder, unsubscribe from your own mod while doing so, and keep a copy of the Workshop description outside Steam [9] [11].
- Reference shared posters as
../common/<unique>.pngand give them unique filenames [4]. - Use the unique-prefix habit from
modders-foundationfor script entry names; it is a collision-avoidance convention, not a documented requirement here.
Common Pitfalls & Troubleshooting¶
- Mod invisible on B42. No
common/or version folder [9]. Also check that the file is namedmod.infoin lowercase, as the foundation document notes. - Wrong version folder wins.
42.0.5acts as42.0, so a patch-level folder name will not give patch-level targeting [9]. versionMax=42ignored or rejected. The page requiresbuild.majorform at minimum [4].- Stale files after an update. Deleted files linger on subscribers' side; ship emptied files [11].
- Changes not appearing. Two loaded copies of one mod clash [9].
- Description wiped on upload. The uploader overwrites it [11].
- Pasting a Workshop ID into
require. The key takes mod identifiers; the Workshop ID is a different value [4]. - Backslash in
id. No read source asks for one; see Claim 1.
Community Notes & Unverified Claims¶
Claim 1 — B42 expects a leading backslash before each Mod ID (as in Mods=\ModOne)¶
- Claim: Some hosting guides say Build 42 requires a leading backslash
before each Mod ID in the server
Mods=line, and that without it mods install but do not load [13]. - Why unverified: The ScriptsDocs
identry describes an ordinary unique string with no prefix [4]; a second hosting guide shows B42 examples without it [14]; andadmins-workshop-mod-wiringalready quarantines the same claim as Low confidence. This document aligns with that decision and does not independently resolve it. - Confidence: Low. Hosting-company sources conflict with each other and no primary source addresses the prefix.
Claim 2 — The order of IDs in a mod list decides which mod overrides which¶
- Claim: A hosting guide states that mods load left to right in the list and that later mods override earlier ones [15].
- Why unverified: The only documented ordering levers read here are the
loadModAfterandloadModBeforekeys [4]; no primary source ties list position to precedence. Seeadmins-workshop-mod-wiringClaim 2. - Confidence: Low. Plausible but single hosting-guide sourced.
Claim 3 — A root-level mod.info in a B42 mod acts as a fallback when a version folder lacks one¶
- Claim: Modders commonly keep a root
mod.infonext tocommon/, believing it is used if no matching version folder file exists. - Why unverified: The wiki example shows a root file but states no fallback rule [9], and the ScriptsDocs page shows only the version-folder placement [4].
- Confidence: Low. Based on the example layout, not on a documented rule.
Risks & Caveats¶
- Stubs and the ScriptsDocs page were re-checked at 42.21.0; the wiki pages behind the folder and upload rules were not re-fetched for 42.21 [4] [16].
- The 42.21 notes mention an updated localization system [22] [18]; whether it
changes how
nameanddescriptiontranslations in the mod translation file are read is not stated by any source read. - The wiki
mod.infosnapshot we hold (revision 1363935) contains navigation text only, so the key list rests solely on the ScriptsDocs page [4] [10]. - Folder rules come from a wiki revision stamped 42.14.0 [9];
workshop.txtfrom a page stamped 42.5.1 [12]. - The
common/mandatory-versus-optional wording conflicts inside one page [9]. - All
mod.infokey rows are B42-documented; B41 behaviour is unconfirmed.
Verification Steps¶
- Open the ScriptsDocs
mod.infopage and compare the key list to the table above [4]. - Fetch the Umbrella file at the pinned B42 commit and confirm the accessor
names, including
getCommonDirandgetVersionDir[5]. - Build a test mod with only
common/, then only a42/folder withmod.info, and watch the in-game mod list [9]. - Create folders
42.0.5and42.0and check which supplies a changed file, using the log or an in-game marker. - Set
versionMin=42and thenversionMin=42.0and compare the manager behaviour [4]. - Run
python scripts/check_api_exists.pyon this file with the B41/B42 indexes.
Open Questions¶
- Is
common/mandatory or only one ofcommon/and a version folder? [9] - Does a root
mod.infotake part in B42 resolution, and how is a conflict with a version-folder file decided? - Is
versionMinandversionMaxenforced on B41, or ignored? - What does the game do with a missing
requiretarget or a load-order cycle? - Does 42.21 change anything in this document? The ScriptsDocs page, the
ChooseGameInfo.ModandActiveModsstubs and the 42.20.1 to 42.21 notes show no change [4] [16] [17] [18]; the wiki-sourced folder rules were not re-fetched, and the localization update's effect on mod-translation-file handling is unknown [22].
References¶
Primary Sources
- [1] The Indie Stone — Build 42.20.0 Stable Released (Steam announcement, 2026-07-29). https://steamcommunity.com/games/108600/announcements/detail/1839676055882259 Accessed 2026-10-07 (via ISteamNews app 108600).
- [2] The Indie Stone — Build 42.21 Stable Released (Steam announcement, 2026-09-28). https://steamcommunity.com/games/108600/announcements/detail/1844751498231307 Accessed 2026-10-07 (via ISteamNews app 108600).
- [3] The Indie Stone — 42.20.4 STABLE & 42.19.2 UNSTABLE & 41.78.21 LEGACY Hotfixes Released (Steam announcement, 2026-08-26). https://steamcommunity.com/games/108600/announcements/detail/1842212951296601 Accessed 2026-10-07 (via ISteamNews app 108600).
- [4] PZ-Wiki-Modding — PZ API Documentation: ROOT-ModInfo (mod.info), generated docs titled 42.21.0 (re-read 2026-10-07; titled 42.20.0 at the first read). https://pz-wiki-modding.github.io/PZ-API-Docs/scripts/root_files/modinfo.html Accessed 2026-10-07.
- [5] PZ-Umbrella — ChooseGameInfo.Mod stub, commit 58204fc47895ba249592519cedecc7cfbaaebd60 (B42 42.20.0). https://raw.githubusercontent.com/PZ-Umbrella/Umbrella/58204fc47895ba249592519cedecc7cfbaaebd60/library/java/zombie/gameStates/ChooseGameInfo.Mod.lua Accessed 2026-10-07.
- [6] PZ-Umbrella — ActiveMods stub, commit fa2e7e19799740b57902f1cb4e989225c295c05e (B41 41.78.16). https://raw.githubusercontent.com/PZ-Umbrella/Umbrella/fa2e7e19799740b57902f1cb4e989225c295c05e/library/Candle/zombie.modding/ActiveMods.lua Accessed 2026-10-07.
- [7] PZ-Umbrella — ActiveMods stub, commit 58204fc47895ba249592519cedecc7cfbaaebd60 (B42). https://raw.githubusercontent.com/PZ-Umbrella/Umbrella/58204fc47895ba249592519cedecc7cfbaaebd60/library/java/zombie/modding/ActiveMods.lua Accessed 2026-10-07.
- [8] PZ-Umbrella — Repository tree at the B41 pinned commit fa2e7e19799740b57902f1cb4e989225c295c05e (no ChooseGameInfo file present). https://github.com/PZ-Umbrella/Umbrella/tree/fa2e7e19799740b57902f1cb4e989225c295c05e Accessed 2026-10-07.
- [16] PZ-Umbrella — ChooseGameInfo.Mod stub, commit 13d01f9ee58fa48773553920db56d06f0005e7f8 (B42 42.21.0). https://raw.githubusercontent.com/PZ-Umbrella/Umbrella/13d01f9ee58fa48773553920db56d06f0005e7f8/library/java/zombie/gameStates/ChooseGameInfo.Mod.lua Accessed 2026-10-07.
- [17] PZ-Umbrella — ActiveMods stub, commit 13d01f9ee58fa48773553920db56d06f0005e7f8 (B42 42.21.0). https://raw.githubusercontent.com/PZ-Umbrella/Umbrella/13d01f9ee58fa48773553920db56d06f0005e7f8/library/java/zombie/modding/ActiveMods.lua Accessed 2026-10-07.
- [18] The Indie Stone Forums — 42.21 Patch Notes, topic 101693, first post by Rockjaw, 2026-09-23 (list abridged to "selected" items for its long fix lists). https://theindiestone.com/forums/topic/101693-4221-patch-notes/ Accessed 2026-10-07 (host bot-blocks automated checkers).
- [19] The Indie Stone — 42.20.1 STABLE Hotfix Released (Steam announcement, 2026-08-05). https://steamcommunity.com/games/108600/announcements/detail/1840310314338766 Accessed 2026-10-07.
- [20] The Indie Stone — 42.20.2 STABLE Hotfix Released (Steam announcement, 2026-08-05). https://steamcommunity.com/games/108600/announcements/detail/1840310314339441 Accessed 2026-10-07.
- [21] The Indie Stone — 42.20.3 STABLE Hotfix Released (Steam announcement, 2026-08-17). https://steamcommunity.com/games/108600/announcements/detail/1840944183785895 Accessed 2026-10-07.
- [22] The Indie Stone — Re-population of the Dead: Build 42.21 Unstable Released (Steam announcement, 2026-09-23). https://steamcommunity.com/games/108600/announcements/detail/1844751498218925 Accessed 2026-10-07.
Fact-Only Sources (no prose reuse) — pzwiki (CC BY-NC-SA 3.0): URL + revision id; facts only.
- [9] PZwiki — Mod structure (revision 1443271, page version 42.14.0). https://pzwiki.net/w/index.php?title=Mod_structure&oldid=1443271 Accessed 2026-10-07. Fact-only source.
- [10] PZwiki — Mod.info (revision 1363935; local snapshot holds navigation text only). https://pzwiki.net/w/index.php?title=Mod.info&oldid=1363935 Accessed 2026-10-07. Fact-only source.
- [11] PZwiki — Uploading mods (revision 1442321, page version 42.15.0). https://pzwiki.net/w/index.php?title=Uploading_mods&oldid=1442321 Accessed 2026-10-07. Fact-only source.
- [12] PZwiki — workshop.txt (revision 1598215, page version 42.5.1). https://pzwiki.net/w/index.php?title=Workshop.txt&oldid=1598215 Accessed 2026-10-07. Fact-only source.
Secondary & Corroborating
- [13] Pinehosting — Project Zomboid Build 42 Mods: Install And Fix Guide (source of the backslash claim). https://pinehosting.com/blog/modded-project-zomboid-server-hosting-build-42-install-steam-workshop-mods-fixes/ Accessed 2026-10-07.
- [14] DoomHosting — How to Install Mods on a Project Zomboid Server (Build 42) (backslash-free example). https://www.doomhosting.com/help/articles/how-to-install-mods-project-zomboid-server-build-42 Accessed 2026-10-07.
- [15] XGamingServer — Project Zomboid Mod Load Order (source of the list-order claim). https://xgamingserver.com/docs/project-zomboid/mod-load-order Accessed 2026-10-07.
Community & Creator — none.
Further Reading — see below.
Further Reading¶
- ScriptsDocs index: https://pz-wiki-modding.github.io/PZ-API-Docs/
- Umbrella repository: https://github.com/PZ-Umbrella/Umbrella
Related Documents¶
- modders-foundation — parent overview of mod anatomy and Workshop basics.
- admins-workshop-mod-wiring — server-side
Mods=wiring and the quarantined backslash and list-order claims. - modders-porting-b41-to-b42 — porting an existing B41 mod.
- modders-first-mod-tutorial-b42 — a worked first mod using this layout.
- modders-lua-api-surface — the Lua API reference behind the stubs used here.
- modders-events-callbacks — event reference.
- modders-modoptions-pzapi — mod options API.
- modders-item-scripts-distributions — script files under
media/. - modders-mp-networking-porting — multiplayer porting.
- players-crafting-chains — player-facing crafting view.
- meta-style-guide — writing and gating rules.
Revision History¶
| Version | Date | Author | Change | Approved By |
|---|---|---|---|---|
| 0.1.0 | 2026-10-07 | KB Pipeline (virtual agent) | Initial draft. | — |
| 0.2.0 | 2026-10-07 | KB Pipeline (virtual agent) | Re-baselined 42.20 to 42.21: re-read the ScriptsDocs mod.info page (now titled 42.21.0, same 17 keys), compared 42.21.0 ChooseGameInfo.Mod and ActiveMods stubs, and read the 42.20.1 to 42.21 notes (no mod.info or folder-layout change; localization update noted as an open question). Sources: [4] [16] [17] [19] [20] [21] [3] [22] [2] [18]. |
— |
| 1.0.0 | 2026-10-08 | Orchestrator (KB Pipeline) | Approved and frozen — release kb-release-2026.10.08 (42.21 re-baseline; validated against 42.21 and 41.78.21, Umbrella 42.21.0 @ 13d01f9). Content is the reviewed 0.2.0 text. | Project owner (user instruction 2026-10-08) |