Skip to content

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.info documents 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)
  • id is 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, so 42.0.5 acts as 42.0. (cited) (B42)
  • versionMin and versionMax must be at least build.major form, such as 42.12; a bare build number does not work. (cited) (B42)
  • Dependencies are require and incompatible; load-order levers are loadModAfter and loadModBefore, all comma-separated Mod IDs. (cited)
  • Only Contents/ is uploaded to the Workshop; workshop.txt is generated by the in-game uploader and preview.png is held to 256x256. (cited)
  • The backslash-prefix Mods= convention is not confirmed by any source read here and is quarantined, consistent with admins-workshop-mod-wiring. (community, unverified)
  • A B41-side confirmation of the mod.info key 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 id value in mod.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 whose Contents/ 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, description and poster in every mod.info you ship, and keep require to Mod IDs, not Workshop IDs, since the page defines id as separate from the Workshop ID [4].
  • For a B42 mod, create common/ and at least one version folder; place Lua, scripts and mod.info in the version folder and large binary assets in common/ [9].
  • Set versionMin in build.major form such as 42.0, never a bare 42 [4].
  • If one Workshop item must also serve B41 players, keep B41 media/ at the mod root beside common/ and the version folders [9].
  • Prefer loadModAfter and loadModBefore over 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>.png and give them unique filenames [4].
  • Use the unique-prefix habit from modders-foundation for 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 named mod.info in lowercase, as the foundation document notes.
  • Wrong version folder wins. 42.0.5 acts as 42.0, so a patch-level folder name will not give patch-level targeting [9].
  • versionMax=42 ignored or rejected. The page requires build.major form 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 id entry describes an ordinary unique string with no prefix [4]; a second hosting guide shows B42 examples without it [14]; and admins-workshop-mod-wiring already 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 loadModAfter and loadModBefore keys [4]; no primary source ties list position to precedence. See admins-workshop-mod-wiring Claim 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.info next to common/, 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 name and description translations in the mod translation file are read is not stated by any source read.
  • The wiki mod.info snapshot 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.txt from a page stamped 42.5.1 [12].
  • The common/ mandatory-versus-optional wording conflicts inside one page [9].
  • All mod.info key rows are B42-documented; B41 behaviour is unconfirmed.

Verification Steps

  1. Open the ScriptsDocs mod.info page and compare the key list to the table above [4].
  2. Fetch the Umbrella file at the pinned B42 commit and confirm the accessor names, including getCommonDir and getVersionDir [5].
  3. Build a test mod with only common/, then only a 42/ folder with mod.info, and watch the in-game mod list [9].
  4. Create folders 42.0.5 and 42.0 and check which supplies a changed file, using the log or an in-game marker.
  5. Set versionMin=42 and then versionMin=42.0 and compare the manager behaviour [4].
  6. Run python scripts/check_api_exists.py on this file with the B41/B42 indexes.

Open Questions

  • Is common/ mandatory or only one of common/ and a version folder? [9]
  • Does a root mod.info take part in B42 resolution, and how is a conflict with a version-folder file decided?
  • Is versionMin and versionMax enforced on B41, or ignored?
  • What does the game do with a missing require target or a load-order cycle?
  • Does 42.21 change anything in this document? The ScriptsDocs page, the ChooseGameInfo.Mod and ActiveMods stubs 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)