A comprehensive plugin for DayZ mod development with Enforce Script and for testing local DayZ dedicated servers. Provides dynamic documentation fetching, framework support for vanilla, Community Framework, and DayZ Expansion, and a tested workflow for starting DayZ servers headless, with or without mods.
Supports: Claude Code, Gemini Code Assist, Cursor, Windsurf, and other AI coding assistants. Target Version: DayZ 1.30 (stable since Oct 15, 2026; checked on build 1.30.164014), with 1.28 migration notes
- Dynamic Documentation Fetching - Fetches up-to-date script API, config references, and mod docs via WebFetch
- Multi-Framework Support - Vanilla, Community Framework (CF), DayZ Expansion with auto-detection
- Enforce Script Correctness - Never outputs C#/C++ syntax, always uses proper Enforce Script
- No-Hallucination Policy - Verifies all classes, methods, and config tokens against documentation
- 1.30 / 1.28 Compatibility - Breaking changes, migration guides, and new features; 1.30 verified on dedicated servers
- Local Server Testing - Find the Steam-installed DayZ Server (stable, or experimental for the next build), build an isolated server tree, pick free ports, boot it headless and read the logs. Works for a vanilla server, a mission or
serverDZ.cfgchange, or a mod - Best Practices - Null safety, server/client context, memory management, performance patterns
/plugin marketplace add bzed/dayz-dev-plugin
/plugin install dayz-dev@dayz-dev
Or in one step on Claude Code 2.1.275 or later: /plugin install dayz-dev --marketplace bzed/dayz-dev-plugin.
git clone https://github.com/bzed/dayz-dev-plugin.git ~/.claude/skills/dayz-dev- Copy the
.gemini/directory to your DayZ mod project root - Copy the knowledge files (
scripting/,systems/,frameworks/,config/,testing/,compatibility/) alongside it - Gemini Code Assist automatically loads
.gemini/GEMINI.mdas project context
git clone https://github.com/bzed/dayz-dev-plugin.git /tmp/dayz-dev
cp -r /tmp/dayz-dev/.gemini /tmp/dayz-dev/scripting /tmp/dayz-dev/systems /tmp/dayz-dev/frameworks /tmp/dayz-dev/config /tmp/dayz-dev/testing /tmp/dayz-dev/compatibility your-project/- Download
DAYZ_CURSOR_RULES.mdfrom this repo - Copy to your DayZ mod project root as
.cursorrules
curl -o .cursorrules https://raw.githubusercontent.com/bzed/dayz-dev-plugin/main/DAYZ_CURSOR_RULES.md- Download/clone this repository
- Copy to
~/.claude/skills/dayz-dev/ - Restart your AI assistant
The skill activates automatically when you ask DayZ-related questions:
- "How do I create a custom item in DayZ?"
- "What's the config.cpp format for a new weapon?"
- "How does the CF RPCManager work?"
- "Show me the Expansion market trader config"
- "What broke in 1.30?"
- "Review my mod for 1.30"
- "Can I remove CF.FindFileEx from my mod now that FindFile is fixed?"
- "Start a local 1.30 server and check that it boots"
- "Does our serverDZ.cfg / cfggameplay.json change still start?"
Use the /dayz-dev command for direct queries:
/dayz-dev How to create a modded class for PlayerBase?
/dayz-dev What are the NetSync variable types?
/dayz-dev Expansion quest system setup
/dayz-dev 1.30 vehicle headlight changes
/dayz-dev review @MyMod for 1.30
| Source | URL | Coverage |
|---|---|---|
| DIFF (DayZ Scripts API) | https://diff.yadz.app/ | Script API of the latest build, api.json, per-build changelog |
| DayZ Script Diff | https://github.com/BohemiaInteractive/DayZ-Script-Diff | Official source code changes |
| BI Community Wiki | https://community.bistudio.com/wiki/DayZ:Enforce_Script_Syntax | Language reference |
| DayZ Explorer | https://dayzexplorer.zeroy.com/ | Enforce essentials, Math, FileIO |
| Community Framework | https://github.com/Arkensor/DayZ-CommunityFramework | CF source + docs |
| Expansion Wiki | https://github.com/salutesh/DayZ-Expansion-Scripts/wiki | 119+ wiki pages |
| DZconfig Wiki | https://dzconfig.com/wiki/ | Server configuration |
| Central Economy | https://github.com/BohemiaInteractive/DayZ-Central-Economy | types.xml, events.xml |
| Directory | Contents |
|---|---|
SKILL.md |
Main orchestrator with decision tree and verification rules |
.gemini/ |
Gemini Code Assist context files (GEMINI.md, styleguide.md) |
scripting/ |
Enforce Script language, class hierarchy, client-server, memory management |
systems/ |
Mod structure, PBO packaging/signing/Workshop upload (armake2), networking, inventory, actions, weapons, vehicles |
frameworks/ |
Framework detection, Community Framework, Expansion |
config/ |
config.cpp, types.xml, server configuration |
compatibility/ |
Version 1.30 and 1.28 breaking changes and migration guides; FindFile fix and how to remove the CF.FindFileEx/fallback helper workarounds |
testing/ |
Testing a mod headless on the Steam-installed local DayZ Server |
api/, scripts/dayz-api.py |
Compressed script API indexes (xz): vanilla (~400 KB) and the mods DayZ-Expansion-Bundle, CF, Community Online Tools, Dabs Framework (api/mod-*.txt.xz, ~400 KB together), and the lookup CLI; generated by scripts/build-api-index.py |
scripts/extract-dayz-sources.sh |
Extract only the code (scripts, derapified configs) from the installed game or a Workshop mod with armake2 |
scripts/ |
find-dayzserver.sh (locate Steam app 223350, or 1042420 experimental with -e, and workshop mods), make-server-tree.sh (private server tree symlinked into Steam), free-ports.sh (random non-default ports), dayz-mod-pack.sh (armake2 from PATH, which must be the https://github.com/bzed/armake2 fork (upstream signs wrongly), with the upstream https://github.com/nozwock/steam-workshop-uploader uploader: keygen, build and sign PBOs, optional model binarization, assemble the Workshop upload folder), installer |
commands/ |
/dayz-dev slash command template |
- Complete language reference (types, operators, control flow, classes)
- Modded class injection patterns
- Memory management (ref, autoptr, Managed)
- Templates, enums, casting, preprocessor
- Mod folder structure and PBO packaging; armake2 keygen/build/sign and Workshop upload folder
- RPC systems (vanilla ScriptRPC + CF RPCManager)
- Net sync variables and CF NetworkedVariables
- Inventory system (locations, creation, movement)
- Action system (interact, continuous, single-use, firearm)
- Weapon system (FSM, configs, scripting)
- Vehicle system (configs, physics, 1.28/1.30 changes)
- Vanilla, CF, and Expansion auto-detection
- CF Modules, RPCManager, ModStorage
- Expansion Market, Quests, AI, Basebuilding, Vehicles
- config.cpp (CfgPatches, CfgMods, CfgVehicles, CfgWeapons)
- types.xml and Central Economy
- Server configuration (serverDZ.cfg, cfgGameplay.json)
- 1.28 enhanced spawnabletypes.xml
- The engine's
DAYZ_1_30define (only the current version is defined) FindFileignored$profile:/$mission:placeholders and backslashes on early 1.30 builds (DZEXP-134); fixed in 1.30.164200 (build 25963285), soCF.FindFileExand the fallback helpercompatibility/YOURMOD_FindFilePath.ccan be removed- Compile breakers (
ProcessVariables(float),Construction.SetParent,ToggleHeadlights), silent breakers (OnCEUpdatenever called, car light profiles), obsolete inventory API, ERPCs shift - Review checklist; key claims tested on a 1.30.164014 dedicated server
- 12 breaking changes documented with before/after code
- Migration checklist
- New features (sealed, Obsolete, new Entity methods)
- Framework version requirements
Developed and tested on Linux. The tools this plugin uses (armake2, steam-workshop-uploader, Python and Node.js for dayz-api.py and the installer) are available for Windows and should work there, but this has not been tested. The helper scripts in scripts/ are bash scripts, so on Windows they need Git Bash or WSL. Feedback and pull requests for Windows (and macOS) are welcome: https://github.com/bzed/dayz-dev-plugin/issues
This is a fork of DayZGhost/dayz-dev-plugin by Chaos (DankMindless), which created the plugin structure, the knowledge files, the Gemini and Cursor variants and the 1.28 migration notes (first commit 2026-02-24). This fork, maintained by Bernd Zeimetz at https://github.com/bzed/dayz-dev-plugin, continues from there with:
- DayZ 1.30 (stable) support and the 1.29 -> 1.30 migration notes, tested on real dedicated servers
- local server testing (find the Steam server, isolated server trees, headless boots, log reading)
- mod building, signing and Workshop upload with armake2
- compressed script API indexes for vanilla and the Expansion, CF, COT and Dabs mods, with the
dayz-api.pylookup CLI - publication on the Claude Code plugin marketplace
Issues and pull requests for this fork go to https://github.com/bzed/dayz-dev-plugin.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
The documentation, scripts and tooling of this plugin are licensed under the GNU General Public License v3.0 - see LICENSE.
Exception: api/. The script API indexes are not GPL. They contain declarations extracted from the DayZ scripts, which are the copyright of Bohemia Interactive a.s. (all rights reserved), and from the Workshop mods Community Framework, Community Online Tools, Dabs Framework and DayZ-Expansion, which belong to their respective authors. Method bodies are stripped, and the indexes are included only as a reference for looking up signatures. See api/LICENSE.md and NOTICE.
DayZ is a trademark of Bohemia Interactive a.s. This plugin is an unofficial community project and is not affiliated with, endorsed by or sponsored by Bohemia Interactive or Anthropic.
- Bohemia Interactive - DayZ, Enforce Script, official documentation
- TrueDolphin - EnScript Style Guide - Naming conventions, memory management patterns, common pitfalls
- Arkensor - Community Framework
- salutesh - DayZ Expansion Scripts
- DayZ modding community - DayZ Explorer, DIFF (diff.yadz.app), community wikis
- DZconfig.com - Server configuration wiki
- FiveM Dev Plugin (melihbozkurt10) - Architectural inspiration