Skip to content

DayZ Modding Glossary ​

Summary: Definitions for every key term in DayZ modding and server administration, each linked to the chapter where it is explained in depth. For the full table of contents, see the chapter index.


How to Use ​

  • Bold terms are defined inline
  • [Chapter links] point to the full documentation
  • See also connects related concepts
  • Use Ctrl+F, or jump to a letter: A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · R · S · T · U · V · W · X · Z

A ​

Action System ​

The system that handles player interactions with items and the world -- eating, opening doors, repairing, etc. Actions are registered on items via SetActions() and extend ActionBase.

Chapter: 6.12 Action SystemSee also: SetActions, ActionBase

ActionBase ​

Base class for all player actions. Three subtypes: ActionSingleUseBase (instant), ActionContinuousBase (progress bar), ActionInteractBase (world interaction).

Chapter: 6.12 Action System

AddAction ​

Method called inside SetActions() to register an action on an item. Always call super.SetActions() first.

Chapter: 6.12 Action System

AddonBuilder ​

DayZ Tools application that packs source files into PBO archives. Handles binarization, prefix assignment, and signature generation.

Chapter: 4.5 DayZ Tools Workflow | 4.6 PBO PackingSee also: PBO, Binarize

Admin Panel ​

A server-side UI for managing players, spawning items, controlling weather, etc. Built with modded MissionServer + RPC + UI layout.

Chapter: 8.3 Building an Admin Panel | 6.22 Admin & Server

AdminLog ​

GetGame().AdminLog(string) -- writes to the server admin log file for auditing admin actions.

Chapter: 6.22 Admin & Server

Animation System ​

Controls player stances, movements, gestures, and object animations via model.cfg animation definitions and script-level commands.

Chapter: 6.18 Animation SystemSee also: model.cfg, P3D

AnimalBase ​

Base class for wildlife entities (deer, wolves, bears, chickens). Extends the AI system shared with infected.

Chapter: 6.21 Zombie & AI SystemSee also: ZombieBase

ARC (Automatic Reference Counting) ​

Enforce Script's memory management model. Objects are destroyed when their strong reference count drops to zero. Not garbage collected.

Chapter: 1.8 Memory ManagementSee also: ref, autoptr

Array ​

Dynamic resizable collection array<T>. Methods: Insert, Get, Find, Remove, Sort, Count. Note: Remove is unordered (swaps with last element).

Chapter: 1.2 Arrays, Maps & SetsSee also: map

autoptr ​

Scoped strong reference pointer. Object is destroyed when autoptr goes out of scope. Rarely used in DayZ -- prefer ref.

Chapter: 1.8 Memory ManagementSee also: ref, ARC

B ​

BaseBuildingBase ​

Entity base class for player-built structures (fences, watchtowers, shelters). Uses the construction part system for assembly and dismantling.

Chapter: 6.17 Construction SystemSee also: Construction

BattlEye ​

DayZ's anti-cheat system. Managed at the engine level; scripts interact with it through kick/ban APIs.

Chapter: 6.22 Admin & Server

Binarize ​

The DayZ Tools process that converts human-readable source files (config.cpp, model.cfg, .p3d) into optimized binary format for game loading.

Chapter: 4.5 DayZ Tools Workflow | 4.6 PBO PackingSee also: AddonBuilder, PBO

bisign ​

Signature file (.bisign) generated when a PBO is signed with a private key. Servers running verifySignatures = 2 accept only mods whose .bisign matches a .bikey in the keys/ folder. One .bisign is produced per PBO, per key.

Chapter: 9.10 Mod Management | 8.7 Publishing to WorkshopSee also: Key Pair, verifySignatures

Bitflags ​

Pattern using enum values as powers of two, combined with bitwise OR. Used for flags like ECE_CREATEPHYSICS | ECE_UPDATEPATHGRAPH.

Chapter: 1.10 Enums & Preprocessor

bool ​

Primitive type for true/false values. Default value is false.

Chapter: 1.1 Variables & Types

Building ​

Entity class for static structures in the world. Inherits from EntityAI.

Chapter: 6.1 Entity System | 4.8 Building Modeling

ButtonWidget ​

Interactive widget for clickable buttons. Handles click events via OnClick in ScriptedWidgetEventHandler.

Chapter: 3.1 Widget Types | 3.6 Event Handling

C ​

CallLater ​

GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(method, delay, repeat) -- schedules a deferred function call with a millisecond delay and optional repeat.

Chapter: 6.7 Timers & CallQueueSee also: ScriptCallQueue, Timer

Camera System ​

Multi-layered camera system. Player cameras are managed via DayZPlayerCamera subclasses. FreeDebugCamera enables free-flight for debugging.

Chapter: 6.4 Camera System

CarScript ​

Scriptable base class for drivable vehicles. Extends Car (engine-native physics). Defines doors, fluids, parts, and engine behavior.

Chapter: 6.2 Vehicle System | 8.10 Vehicle ModSee also: Transport

CastTo ​

Class.CastTo(target, source) -- safe downcast that returns true/false and sets the target variable. Preferred over direct casting.

Chapter: 1.9 Casting & ReflectionSee also: typename

Central Economy (CE) ​

DayZ's server-side system for managing loot, vehicle, and infected spawning. Configured through XML files (types.xml, events.xml, mapgroupproto.xml).

Chapter: 6.10 Central Economy | 5.5 Server ConfigsSee also: types.xml

CE Event ​

A dynamic Central Economy spawn defined in events.xml and tuned by cfgeventspawns.xml -- helicopter crashes, vehicle wrecks, animal herds, and infected hordes. Each event has a nominal count, min/max, cooldown, and a list of children to spawn.

Chapter: 9.5 Vehicle & Dynamic Event Spawning | 6.10 Central EconomySee also: events.xml, nominal

CfgMods ​

Block in config.cpp that defines mod metadata, script module paths, imageset paths, and preprocessor defines.

Chapter: 2.2 config.cpp Deep DiveSee also: config.cpp, CfgPatches

CfgPatches ​

Block in config.cpp that declares the addon name, required addons (dependencies), and units/weapons it provides.

Chapter: 2.2 config.cpp Deep DiveSee also: config.cpp, requiredAddons

CfgSoundSets ​

Config class in config.cpp that defines playable sound configurations: volume, distance attenuation, spatial behavior. Referenced by SEffectManager.PlaySound.

Chapter: 4.4 Audio | 6.15 Sound SystemSee also: CfgSoundShaders

CfgSoundShaders ​

Config class in config.cpp that maps sound samples (.ogg/.wss files) to playback parameters like volume range. Used inside CfgSoundSets.

Chapter: 4.4 Audio | 6.15 Sound SystemSee also: CfgSoundSets

CfgVehicles ​

Config class in config.cpp where items, entities, and objects are defined. Despite the name, all entities (not just vehicles) are declared here.

Chapter: 2.2 config.cpp Deep DiveSee also: config.cpp

cfgweather.xml ​

Mission folder XML file that controls weather parameters, overcast thresholds, and atmospheric conditions.

Chapter: 6.23 World Systems | 6.3 Weather System

Chat Commands ​

Custom commands (e.g., /heal, /tp) implemented by hooking into MissionServer.OnClientNewEvent() and parsing chat text.

Chapter: 8.4 Adding Chat Commands

Class ​

The root of all Enforce Script class hierarchies. Every object inherits from Class.

Chapter: 1.3 Classes & Inheritance

Clothing Mod ​

A mod that adds wearable items with insulation, cargo, and hidden selection textures. Created by subclassing vanilla clothing bases in CfgVehicles.

Chapter: 8.11 Creating a Clothing ModSee also: Hidden Selections, CfgVehicles

Community Framework (CF) ​

Jacob_Mango's open-source framework mod providing module lifecycle, RPC, permissions, and logging. Foundation for COT and many community mods.

Chapter: 7.2 Module Systems | 3.9 Real Mod PatternsSee also: COT

config.cpp ​

The heart of every DayZ mod PBO. Declares dependencies, script paths, item definitions, sound sets, and preprocessor defines.

Chapter: 2.2 config.cpp Deep DiveSee also: CfgPatches, CfgMods, CfgVehicles

Config Persistence ​

Pattern for saving and loading mod settings to JSON files using JsonFileLoader<T>. Professional mods add versioning and auto-migration.

Chapter: 7.4 Config PersistenceSee also: JsonFileLoader

Construction ​

DayZ's base building manager class. Tracks construction parts, material requirements, and build progress for BaseBuildingBase entities.

Chapter: 6.17 Construction SystemSee also: BaseBuildingBase

Container Widgets ​

Widgets that organize child widgets: FrameWidget (absolute), WrapSpacerWidget (flow), GridSpacerWidget (grid), ScrollWidget (scrollable).

Chapter: 3.4 Container WidgetsSee also: FrameWidget, WrapSpacerWidget

Contaminated Areas ​

Toxic gas zones configured via cfgEffectArea.json. Apply PPE effects and damage to players within the zone.

Chapter: 6.23 World Systems

Control Flow ​

if/else, for, while, foreach, switch constructs. Key difference: no do...while, no ternary operator. switch falls through without break (same as C/C++).

Chapter: 1.5 Control Flow | 1.12 Gotchas

COT (Community Online Tools) ​

Major open-source admin mod by Jacob_Mango. Built on Community Framework. Provides ESP, teleport, spawning, and player management.

Chapter: 3.9 Real Mod UI Patterns | 7.2 Module Systems

Crafting System ​

Handles combining items via PluginRecipesManager and RecipeBase subclasses, or via custom ActionContinuousBase actions.

Chapter: 6.16 Crafting SystemSee also: RecipeBase, Action System

CreateWidgets ​

GetGame().GetWorkspace().CreateWidgets(path, parent) -- loads a .layout file and instantiates its widget tree at runtime.

Chapter: 3.5 Programmatic WidgetsSee also: Widget, Layout File

Credits.json ​

JSON file in the mod root that defines credits displayed in the game's mod menu. Lists team members organized by departments.

Chapter: 5.3 Credits.json

Custom Item ​

A new item added to DayZ by defining it in CfgVehicles, adding textures, and registering it in types.xml for server spawning.

Chapter: 8.2 Creating a Custom ItemSee also: CfgVehicles, types.xml

D ​

DayZDiag ​

Debug executable that enables the Diagnostic Menu, file patching, script profiling, and Workbench debugging. Essential for mod development.

Chapter: 8.6 Debugging & Testing | 8.13 Diag MenuSee also: Diag Menu, File Patching

DayZPlayer ​

Engine-level player class above PlayerBase in the hierarchy. Provides animation state machine, command system, and input processing.

Chapter: 6.14 Player System

DayZ Tools ​

Free Steam-distributed suite of development applications from Bohemia Interactive: Object Builder, TexView2, Terrain Builder, AddonBuilder, Workbench.

Chapter: 4.5 DayZ Tools WorkflowSee also: Workbench, AddonBuilder, Object Builder

Debugging ​

Process of finding and fixing errors in DayZ mods. Primary tools: script logs, Print statements, DayZDiag, file patching, and Workbench debugger.

Chapter: 8.6 Debugging & TestingSee also: DayZDiag, Script Log

Defines ​

Preprocessor symbols declared in config.cpp's defines[] array. Used with #ifdef/#ifndef for conditional compilation and optional mod dependencies.

Chapter: 1.10 Enums & Preprocessor | 2.2 config.cpp Deep Dive

Destructor ​

void ~ClassName() -- called when an object's reference count reaches zero. Used for cleanup. No try/catch protection.

Chapter: 1.3 Classes & Inheritance | 1.8 Memory Management

Diag Menu ​

DayZ's built-in diagnostic tool, available only in DayZDiag. Provides FPS counters, script profiling, weather control, free camera, AI debugging.

Chapter: 8.13 Diag Menu ReferenceSee also: DayZDiag

Dialog ​

Temporary overlay window for user interaction -- confirmations, alerts, input forms. Uses UIScriptedMenu or manual widget management.

Chapter: 3.8 Dialogs & Modals

E ​

EDDS ​

Extended DirectDraw Surface format. High-quality texture format used as a development intermediate. Supports all DXT compression types and mipmaps.

Chapter: 4.1 TexturesSee also: PAA, TGA

EffectParticle ​

High-level wrapper around Particle for lifecycle-managed visual effects with events and auto-destroy.

Chapter: 6.20 Particle & Effect System

EffectSound ​

High-level wrapper around AbstractWave for managed sound playback. Created via SEffectManager.PlaySound.

Chapter: 6.15 Sound SystemSee also: SEffectManager

Enforce Script ​

DayZ's scripting language, powered by the Enfusion engine. Object-oriented, C-like syntax, single inheritance, automatic reference counting.

Chapter: 1.1 Variables & Types

EntityAI ​

Key class in the entity hierarchy. All interactive world objects (items, players, zombies, vehicles, buildings) inherit from EntityAI.

Chapter: 6.1 Entity SystemSee also: ItemBase, PlayerBase

Entity System ​

The class hierarchy for all world objects, rooted at IEntity. Provides health, position, physics, attachment, and inventory functionality.

Chapter: 6.1 Entity System

Enum ​

Named integer constants. Support explicit values, implicit auto-increment, inheritance, bitflag patterns, and reflection via typename.EnumToString().

Chapter: 1.10 Enums & Preprocessor

Error Handling ​

No try/catch in Enforce Script. Use guard clauses with early return and Print() or structured logging for error reporting.

Chapter: 1.11 Error Handling | 1.12 Gotchas

Event-Driven Architecture ​

Pattern that decouples event producers from consumers using ScriptInvoker or custom event bus systems. Foundation for extensible mod design.

Chapter: 7.6 Event-Driven ArchitectureSee also: ScriptInvoker

Event Handling (GUI) ​

Widgets generate events for user interactions. Handled via ScriptedWidgetEventHandler with SetHandler() or through UIScriptedMenu overrides.

Chapter: 3.6 Event HandlingSee also: ScriptedWidgetEventHandler

event Keyword ​

Method modifier indicating an engine callback. Methods marked event are called by the engine at specific lifecycle points (e.g., OnInit, OnUpdate).

Chapter: 1.13 Functions & Methods

events.xml ​

Central Economy file that defines dynamic event spawns -- helicopter crashes, vehicle wrecks, infected groups.

Chapter: 6.10 Central Economy | 5.5 Server Configs

F ​

File I/O ​

Reading and writing files via FileHandle, FPrintln, ReadFile, and path prefixes ($profile:, $saves:, $mission:).

Chapter: 6.8 File I/O & JSONSee also: JsonFileLoader, Path Prefixes

File Organization ​

Best practices for structuring a mod directory: Scripts folder by layer, naming conventions, content vs script vs framework mods.

Chapter: 2.5 File Organization

File Patching ​

Development mode (-filePatching) that lets DayZ load loose files from the P: drive instead of packed PBOs. Enables edit-and-reload without rebuilding.

Chapter: 4.5 DayZ Tools Workflow | 8.6 Debugging & TestingSee also: P Drive

Five-Layer Hierarchy ​

DayZ's script compilation layers: 1_Core, 2_GameLib, 3_Game, 4_World, 5_Mission. Lower layers cannot reference higher layers.

Chapter: 2.1 The 5-Layer Script Hierarchy

float ​

Primitive 32-bit IEEE 754 floating-point type. Default value is 0.0.

Chapter: 1.1 Variables & Types

Font ​

DayZ uses proprietary .fnt font files. Common fonts: gui/fonts/Metron, gui/fonts/Metron-Bold, and the SDF font gui/fonts/sdf_MetronBook24 (crisp at any scale). Not user-definable -- only engine-bundled fonts.

Chapter: 3.7 Styles, Fonts & Images

foreach ​

Loop construct: foreach (Type element : collection). Works with array, map, and static arrays.

Chapter: 1.5 Control FlowSee also: Array, map

FrameWidget ​

General-purpose invisible container widget. The most commonly used widget in DayZ. Children are positioned absolutely within it.

Chapter: 3.1 Widget Types | 3.4 Container Widgets

FreeDebugCamera ​

Free-flight camera for debugging. Available in DayZDiag builds. Accessed via the Diag Menu or scripted activation.

Chapter: 6.4 Camera System | 8.13 Diag Menu

Functions & Methods ​

Enforce Script function declaration, parameter modes (out, inout, notnull), static vs instance, overriding, thread, and event keywords.

Chapter: 1.13 Functions & Methods

G ​

GetGame() ​

Global accessor for the CGame singleton. Entry point for most engine APIs: GetGame().GetPlayer(), GetGame().GetWeather(), GetGame().IsServer().

Chapter: 6.1 Entity System | 1.1 Variables & Types

GetPlayer() ​

GetGame().GetPlayer() -- returns the local player entity as DayZPlayer. Cast to PlayerBase for gameplay methods.

Chapter: 6.14 Player System

Gotchas ​

Enforce Script features that do NOT exist or behave unexpectedly: no ternary, no do...while, no try/catch, no namespaces, no #include.

Chapter: 1.12 What Does NOT Exist

GridSpacerWidget ​

Container widget that arranges children in a grid defined by Columns and Rows properties.

Chapter: 3.1 Widget Types | 3.4 Container WidgetsSee also: WrapSpacerWidget

Guard Clause ​

Defensive pattern: check preconditions at the top of a function and return early on failure. The standard error-handling pattern in Enforce Script (no try/catch).

Chapter: 1.11 Error Handling

H ​

Hello World ​

The simplest possible DayZ mod: prints a message to the script log when the game starts. Three files, zero dependencies.

Chapter: 8.1 Your First Mod | 2.4 Minimum Viable Mod

Hidden Selections ​

Named texture regions on a P3D model that can be re-skinned via config.cpp. Used for clothing retextures, vehicle skins, and item variants.

Chapter: 8.2 Custom Item | 8.11 Clothing ModSee also: P3D

Hive ​

The DayZ persistence database. Stores player positions, health, inventory across server restarts. Accessed indirectly via GetHive().

Chapter: 6.22 Admin & Server

HUD Overlay ​

Custom always-visible UI element layered over the game view. Created by hooking into MissionGameplay and managing widget visibility.

Chapter: 8.8 Building a HUD OverlaySee also: MissionGameplay

I ​

IEntity ​

Lowest engine-level entity class. All world objects ultimately inherit from IEntity via the Object chain.

Chapter: 6.1 Entity System

ImageSet ​

Named sprite regions within a texture atlas. DayZ's mechanism for referencing icons and UI graphics. Defined in .imageset or .edds files and registered in config.cpp.

Chapter: 5.4 ImageSet Format | 3.7 Styles, Fonts & Images

ImageWidget ​

Widget for displaying images from texture files or imageset sprites. Supports SetImage() and LoadImageFile().

Chapter: 3.1 Widget Types | 3.7 Styles, Fonts & Images

init.c ​

Mission entry point script. Located in the mission folder. Creates the MissionServer/MissionGameplay instances and initializes the world.

Chapter: 5.5 Server Configs | 6.11 Mission Hooks

inout Parameter ​

Function parameter modifier. The value is passed by reference and can be both read and modified by the function.

Chapter: 1.13 Functions & Methods

Input System ​

Two-layer system: inputs.xml declares named actions and keybindings; UAInput API queries input state at runtime.

Chapter: 6.13 Input System | 5.2 inputs.xml

inputs.xml ​

XML file that registers custom keybindings. Actions appear in the player's Controls settings menu and are queryable via UAInput.

Chapter: 5.2 inputs.xmlSee also: Input System, UAInput

int ​

Primitive 32-bit signed integer type. Range: -2,147,483,648 to 2,147,483,647. Default value is 0.

Chapter: 1.1 Variables & Types

Inventory ​

The entity attachment and cargo system. Key methods: GetInventory().CreateAttachment(), GetInventory().CreateInInventory(), LocalDestroyEntity().

Chapter: 6.1 Entity System | 6.14 Player System

IsInherited ​

obj.IsInherited(SomeClass) -- runtime type check returning true if the object is an instance of the specified class or any subclass of it.

Chapter: 1.9 Casting & Reflection

IsKindOf ​

obj.IsKindOf("ClassName") -- string-based runtime type check. Useful when you do not have the class available at compile time.

Chapter: 1.9 Casting & Reflection

ItemBase ​

Base class for all inventory items (weapons, tools, food, clothing). Extends InventoryItem in the 4_World layer.

Chapter: 6.1 Entity System | 8.2 Custom ItemSee also: EntityAI

J ​

JsonFileLoader ​

JsonFileLoader<T>.LoadFile(path, out data, out errorMessage) (3_game/tools/jsonfileloader.c:7) -- loads a JSON file and deserializes it into an object, returning bool success plus an error message. The older JsonLoadFile(path, data)/JsonSaveFile() pair returns void and so never signals the caller: it does nothing when the file is missing or cannot be opened, and logs a parse failure to the RPT via ErrorEx (:129). It still works, but is marked //! DEPRECATED in the vanilla source (:99).

Chapter: 6.8 File I/O & JSON | 7.4 Config PersistenceSee also: File I/O

K ​

Key Pair ​

RSA key pair (.bikey + .biprivatekey) used to sign PBOs. Servers verify mod signatures to prevent tampering. Generated via DayZ Tools DSSignFile.

Chapter: 8.7 Publishing to WorkshopSee also: PBO

L ​

Lantern (Example Mod Family) ​

The wiki's constructed teaching example -- a fictional framework mod ("Lantern", by the fictional team Northlight) used consistently across chapters so every example shares one namespace. Classes carry the LNT_ prefix (LNT_Log, LNT_RPC, LNT_ModuleManager, LNT_ConfigBase, LNT_Permissions, LNT_EventBus); the singleton entry point is LanternCore; packages are Lantern_Core, Lantern_Admin, and so on. A second fictional content mod, NightPatrol (NP_ prefix), appears where a chapter needs two distinct mods. Lantern is never a real or shipped mod -- its full code is built from scratch across the Part 7 pattern chapters.

Chapter: 7.1 Singleton Pattern | 7.2 Module / Plugin SystemsSee also: Singleton, Module System

Layout File ​

DayZ's .layout format for defining UI widget trees. Brace-delimited text format (not XML). Edited in Workbench or by hand.

Chapter: 3.2 Layout File FormatSee also: Widget, CreateWidgets

lifetime ​

A types.xml attribute (seconds) that sets how long a spawned item persists on the ground before the Central Economy despawns it. High-value loot uses short lifetimes; deployed base items use very long ones.

Chapter: 9.4 Loot Economy Deep Dive | 6.10 Central EconomySee also: types.xml, nominal

Listen Server ​

A server where one player also acts as the host. Both GetGame().IsServer() and GetGame().IsClient() return true. Requires special guard logic.

Chapter: 2.6 Server/Client Architecture

LOD (Level of Detail) ​

Multiple mesh resolutions within a single P3D model. The engine selects the appropriate LOD based on camera distance. Includes geometry, fire geometry, view geometry, shadow, and memory LODs.

Chapter: 4.2 3D ModelsSee also: P3D

Localization ​

Multi-language text support via stringtable.csv. The engine resolves translation keys based on the player's language setting.

Chapter: 5.1 stringtable.csvSee also: stringtable.csv

M ​

Managed ​

Base class that enables weak reference zeroing. When a Managed object is deleted, all raw pointers to it are set to null instead of dangling.

Chapter: 1.8 Memory ManagementSee also: ref

map ​

Associative collection map<KeyType, ValueType>. Methods: Insert, Get, Find, Remove, Contains, Count. Key types must be value types or class references.

Chapter: 1.2 Arrays, Maps & SetsSee also: Array

MapWidget ​

Advanced widget that renders the game's 2D map. Used by mods to display markers, waypoints, and player positions.

Chapter: 3.10 Advanced Widgets

Math ​

Static utility class for scalar operations: Math.AbsFloat(), Math.Clamp(), Math.Lerp(), Math.RandomFloat(), Math.Floor(), etc.

Chapter: 1.7 Math & Vectors

Memory Management ​

Enforce Script uses ARC (automatic reference counting) with three pointer types: raw (weak), ref (strong), autoptr (scoped strong).

Chapter: 1.8 Memory ManagementSee also: ARC, ref

Memory Points ​

Named vertices in a P3D model's Memory LOD used to position effects, attachments, lights, and interaction points.

Chapter: 4.2 3D Models | 4.8 Building Modeling

Mission Hooks ​

Entry points for mod initialization via MissionServer and MissionGameplay. Lifecycle methods: OnInit, OnMissionStart, OnUpdate, OnMissionFinish.

Chapter: 6.11 Mission HooksSee also: MissionServer, MissionGameplay

MissionGameplay ​

Client-side mission class. Hook via modded class to add client initialization, HUD elements, and UI management.

Chapter: 6.11 Mission Hooks

MissionServer ​

Server-side mission class. Hook via modded class to add server initialization, player connection handling, and admin functionality.

Chapter: 6.11 Mission Hooks

mod.cpp ​

Metadata file in the mod root. Controls launcher display name, icon, description, action URL, and type (client/server/both). No gameplay effect.

Chapter: 2.3 mod.cpp & WorkshopSee also: config.cpp

Mod Template ​

Pre-made skeleton project with correct folder structure, config.cpp, mod.cpp, and script stubs. Chapters 8.5 and 8.9 build one from scratch; community-maintained starter templates also exist on GitHub, each under its own license -- check the license before reusing any of their code.

Chapter: 8.5 Using the Mod Template | 8.9 Professional Template

model.cfg ​

Configuration file that defines animations (rotation, translation, hide) for P3D models. Controls doors, turrets, and visual state changes.

Chapter: 4.2 3D Models | 6.18 Animation System

Modded Class ​

modded class ClassName -- replaces an existing class in the engine's hierarchy with your version. The single most important concept in DayZ modding. Always call super in overrides.

Chapter: 1.4 Modded ClassesSee also: super, Override

Module System ​

Architectural pattern for organizing code into lifecycle-managed units registered with a central manager. Chapter 7.2 covers the vanilla PluginManager, framework-style module managers, and the custom LNT_ModuleManager built from scratch.

Chapter: 7.2 Module / Plugin SystemsSee also: Singleton

N ​

Named Selections ​

Named groups of faces in a P3D model used for texturing, animation, and damage visualization. Referenced in config.cpp hiddenSelections[].

Chapter: 4.2 3D ModelsSee also: Hidden Selections

Networking ​

Client-server communication via ScriptRPC. All authoritative logic runs on the server; clients communicate through RPCs.

Chapter: 6.9 Networking & RPCSee also: RPC, ScriptRPC

nominal ​

A types.xml attribute: the target number of an item the Central Economy tries to keep in the world. The CE spawns toward nominal but never drops below min. Raising it makes loot more common; lowering it makes loot rarer.

Chapter: 9.4 Loot Economy Deep Dive | 6.10 Central EconomySee also: types.xml, lifetime

Notification System ​

NotificationSystem class for displaying toast-style popup messages. AddNotification() for local, SendNotificationToPlayerExtended() for server-to-client.

Chapter: 6.6 Notification System

notnull Parameter ​

Function parameter modifier declaring that null is never a valid argument. Bohemia's Enforce Script syntax page does not list it, so its enforcement -- compile time, runtime, or both -- is undocumented, and community references disagree. Vanilla treats the guarantee as real: array<T>.InsertAll(notnull array<T> from) dereferences the parameter with no null check (1_core/proto/enscript.c:449). Honour it at the call site and null-check there; a reference valid at the check can still become null afterwards (engine-side entity deletion), and the modifier does not make that safe.

Chapter: 1.13 Functions & Methods | 1.8 Memory Management | 1.11 Error Handling

NULL / null ​

Enforce Script's null reference value. Used interchangeably. No nullptr keyword exists.

Chapter: 1.12 Gotchas | 1.1 Variables & Types

O ​

Object ​

Engine class above ObjectTyped in the hierarchy. Provides position (GetPosition()), orientation, and basic world interaction.

Chapter: 6.1 Entity System

Object Builder ​

DayZ Tools application for creating and editing P3D models. Used to define LODs, named selections, memory points, proxies, and UV mapping.

Chapter: 4.5 DayZ Tools Workflow | 4.2 3D Models

OGG ​

OGG Vorbis -- DayZ's primary audio format. Lossy compression, open-source. All custom sounds should be 44.1kHz mono or stereo .ogg files.

Chapter: 4.4 AudioSee also: WSS, CfgSoundSets

OnClick ​

Widget event handler method. Called when a button or interactive widget is clicked. Override in ScriptedWidgetEventHandler or UIScriptedMenu.

Chapter: 3.6 Event Handling

out Parameter ​

Function parameter modifier. Value is passed by reference but only written to (not read). Used for multi-return patterns.

Chapter: 1.13 Functions & Methods

Override ​

Redefining a parent class method in a child or modded class. Must call super.MethodName() to preserve original behavior in modded classes.

Chapter: 1.4 Modded Classes | 1.3 Classes & InheritanceSee also: super, Modded Class

P ​

P Drive (Workdrive) ​

Virtual P: drive created by DayZ Tools. Contains unpacked game data and mod source files. Required for the asset pipeline and file patching.

Chapter: 4.5 DayZ Tools Workflow | 8.1 Your First Mod

P3D ​

Bohemia's proprietary 3D model format. Encodes mesh LODs, collision geometry, named selections, memory points, and proxy positions.

Chapter: 4.2 3D ModelsSee also: LOD, Object Builder

PAA ​

DayZ's runtime compressed texture format. Converted from TGA/PNG via TexView2 during the build process. Power-of-two dimensions required.

Chapter: 4.1 TexturesSee also: TexView2, EDDS

PanelWidget ​

Widget that draws a solid colored rectangle. Used for backgrounds, dividers, and separators.

Chapter: 3.1 Widget Types

Particle System ​

Engine system for fire, smoke, blood, explosions, and weather effects. Two layers: low-level Particle/ParticleManager and high-level EffectParticle/SEffectManager.

Chapter: 6.20 Particle & Effect System

Path Prefixes ​

Special prefixes for file operations: $profile: (user profile), $saves: (save data), $mission: (mission folder). No absolute filesystem paths.

Chapter: 6.8 File I/O & JSON

PBO (Packed Bank of Objects) ​

DayZ's archive format for mod delivery. Equivalent to a zip file. Every mod the game loads is one or more PBO files.

Chapter: 4.6 PBO PackingSee also: AddonBuilder, Binarize

Performance Optimization ​

Patterns for keeping script execution fast: caching, spatial partitioning, frame-spreading, object pooling, avoiding per-frame allocations.

Chapter: 7.7 Performance Optimization

Permission System ​

Mechanism for restricting privileged actions to authorized players. Three patterns: hierarchical dot-separated, user-group roles, framework-level RBAC.

Chapter: 7.5 Permission Systems

PlayerBase ​

The most important class in DayZ modding. Every player entity is a PlayerBase. Contains health, stamina, bleeding, inventory, and all gameplay state.

Chapter: 6.14 Player SystemSee also: EntityAI

PluginRecipesManager ​

Central registry for crafting recipes. Discovers RecipeBase subclasses and presents valid combinations when items are used together.

Chapter: 6.16 Crafting SystemSee also: RecipeBase

Post-Process Effects (PPE) ​

Visual effects applied after scene rendering: blur, color grading, vignette, chromatic aberration, night vision. Driven by PPERequester classes.

Chapter: 6.5 Post-Process EffectsSee also: PPERequester

PPERequester ​

Base class for requesting post-process visual effects. Multiple requesters can be active simultaneously and the engine blends their contributions.

Chapter: 6.5 Post-Process Effects

Preprocessor ​

#ifdef, #ifndef, #endif, #define directives for conditional compilation. Common defines: SERVER, DEVELOPER, DIAG_DEVELOPER.

Chapter: 1.10 Enums & PreprocessorSee also: Defines

Print() ​

Print(string) -- writes a message to the script log. The primary debugging tool in Enforce Script (no IDE debugger in retail builds).

Chapter: 8.6 Debugging & Testing | 1.11 Error Handling

Professional Template ​

A full-featured mod template with config system, singleton manager, RPC, UI panel, keybinds, localization, and build automation. Copy-paste ready.

Chapter: 8.9 Professional Mod TemplateSee also: Mod Template

Proportional Sizing ​

Widget dimension expressed as 0.0 to 1.0 relative to the parent widget. Example: width = 0.5 means 50% of parent's width.

Chapter: 3.3 Sizing & Positioning

proto native ​

Method modifier indicating a C++ engine binding. The method signature is declared in script but the implementation lives in the native engine.

Chapter: 1.13 Functions & Methods

Proxy ​

Named attachment point in a P3D model's Memory LOD. Used for scope mounts, muzzle devices, flashlights, and other mountable items.

Chapter: 4.2 3D ModelsSee also: Memory Points

Publishing ​

Process of uploading a finished mod to Steam Workshop: prepare mod folder, sign PBOs, create Workshop item, upload via DayZ Tools or SteamCMD.

Chapter: 8.7 Publishing to WorkshopSee also: Key Pair, Steam Workshop

R ​

Raycasting ​

Tracing a line through the world to detect collisions. Provided by DayZPhysics.RaycastRV() and DayZPhysics.RayCastBullet().

Chapter: 6.19 Terrain & World Queries

RecipeBase ​

Base class for crafting recipes. Defines ingredients, results, conditions, and transformations for the recipe-based crafting system.

Chapter: 6.16 Crafting SystemSee also: PluginRecipesManager

ref ​

Strong reference keyword. Keeps the referenced object alive (increments its reference count). Standard practice for owned members and collections.

Chapter: 1.8 Memory ManagementSee also: ARC, autoptr

Reference Counting ​

See ARC.

Reference Cycle ​

When two objects hold ref pointers to each other, neither can be destroyed. One side must use a raw (weak) pointer to break the cycle.

Chapter: 1.8 Memory Management | 1.12 Gotchas

Reflection ​

Runtime type inspection via typename, obj.Type(), EnScript.GetClassVar(), EnScript.SetClassVar(). Used for dynamic config systems and serialization.

Chapter: 1.9 Casting & Reflection

requiredAddons ​

Array in CfgPatches that lists addon dependencies. Controls PBO load order. If a required addon is missing, your PBO silently fails to load.

Chapter: 2.2 config.cpp Deep DiveSee also: CfgPatches

RichTextWidget ​

Widget that supports inline markup tags for formatted text with embedded images, variable font sizes, and line breaks.

Chapter: 3.10 Advanced Widgets

RPC (Remote Procedure Call) ​

The mechanism for sending data between client and server. Uses ScriptRPC to write/read serialized data. Every networked mod relies on RPCs.

Chapter: 6.9 Networking & RPC | 7.3 RPC PatternsSee also: ScriptRPC, ScriptInputUserData

RPT ​

The DayZ server/client report log (.RPT file), written next to the profile. It captures engine warnings, crashes, and mod load errors that never reach the script log -- the first place to look when a server fails to start.

Chapter: 9.11 Server TroubleshootingSee also: Script Log

RVMAT ​

Real Virtuality Material file. Defines how textures are combined, which shader to use, and surface properties (shininess, transparency, self-illumination).

Chapter: 4.3 MaterialsSee also: PAA, P3D

S ​

ScriptCallQueue ​

Primary deferred call system. GetGame().GetCallQueue(category).Call() / .CallLater() / .CallByName(). Used for scheduling delayed logic.

Chapter: 6.7 Timers & CallQueueSee also: CallLater

ScriptedWidgetEventHandler ​

Base class for widget event handlers. Override methods like OnClick, OnMouseEnter, OnChange, then attach to a widget via SetHandler().

Chapter: 3.6 Event Handling

ScriptInputUserData ​

Input-verified client-to-server message system. Used for gameplay-critical actions where the engine must validate timing and authority.

Chapter: 6.9 Networking & RPC

ScriptInvoker ​

Built-in event primitive. Insert() adds a callback, Invoke() fires all callbacks. Foundation for event-driven architecture.

Chapter: 7.6 Event-Driven Architecture | 6.7 Timers & CallQueue

ScriptRPC ​

Primary RPC class. Write() serializes data, Send() transmits to the other side. Received via OnRPC() override on entities.

Chapter: 6.9 Networking & RPC | 7.3 RPC Patterns

Script Log ​

Text file where Print() output and engine errors are written. Located at %localappdata%/DayZ/ or in $profile:. Primary debugging tool.

Chapter: 8.6 Debugging & Testing

ScrollWidget ​

Container widget that provides scrollable content area. Wrap content in a ScrollWidget to enable vertical or horizontal scrolling.

Chapter: 3.4 Container Widgets

SEffectManager ​

Static manager for creating, playing, and stopping managed effects (EffectSound, EffectParticle). Handles lifecycle and cleanup.

Chapter: 6.15 Sound System | 6.20 Particle & Effect System

Server/Client Architecture ​

DayZ's fundamental split: server owns game state, client renders and sends input. Code runs in one of three contexts: server, client, or both (listen server).

Chapter: 2.6 Server/Client ArchitectureSee also: Listen Server, RPC

Server Configuration ​

XML, JSON, and script files in the mission folder that control server behavior: serverDZ.cfg, types.xml, init.c, cfgeconomycore.xml.

Chapter: 5.5 Server Configuration Files

serverDZ.cfg ​

The main server config file. Sets hostname, maxPlayers, message-of-the-day, time acceleration (serverTimeAcceleration), verifySignatures, persistence, and the mission to load. Read line by line at startup; a syntax error stops the server.

Chapter: 9.3 serverDZ.cfg Complete Reference | 5.5 Server Configuration FilesSee also: verifySignatures, servermod

servermod ​

The -servermod= launch parameter that loads mods on the server only -- never sent to clients. Use it for server-side logic (admin tools, spawners) that players must not download. Contrast with -mod=, whose mods clients also load.

Chapter: 9.10 Mod ManagementSee also: serverDZ.cfg

SetActions ​

Method on ItemBase where actions are registered. Override it, call super.SetActions(), then AddAction(ActionClass).

Chapter: 6.12 Action SystemSee also: ActionBase, AddAction

SetHandler ​

widget.SetHandler(handlerInstance) -- attaches a ScriptedWidgetEventHandler to a widget to receive its events.

Chapter: 3.6 Event HandlingSee also: ScriptedWidgetEventHandler

Singleton ​

Pattern guaranteeing a class has exactly one instance, globally accessible. The most common architectural pattern in DayZ mods.

Chapter: 7.1 Singleton Pattern

Sizing & Positioning ​

Widget sizing uses a dual coordinate mode -- proportional (0.0 to 1.0 relative to parent) or pixel-based (absolute screen pixels). Each dimension is independent.

Chapter: 3.3 Sizing & Positioning

Sound System ​

Two approaches: high-level EffectSound/SEffectManager API, and config-driven PlaySoundSet()/StopSoundSet() on entities. All sound is client-side only.

Chapter: 6.15 Sound SystemSee also: CfgSoundSets, EffectSound

Spawning Gear ​

Two systems: spawn points determine where characters appear; spawn gear (cfgPlayerSpawnGear.json) determines what equipment they carry.

Chapter: 5.6 Spawning Gear Configuration

static ​

Method/field modifier. Static members belong to the class itself, not to instances. Accessed via ClassName.Member.

Chapter: 1.3 Classes & Inheritance | 1.13 Functions & Methods

Steam Workshop ​

Valve's mod distribution platform. DayZ mods are uploaded via DayZ Tools publisher or SteamCMD and downloaded by players through Steam.

Chapter: 8.7 Publishing to WorkshopSee also: Publishing

SteamCMD ​

Valve's command-line Steam client. Server admins use it to install and update the DayZ dedicated server and to download Workshop mods headlessly (no GUI), which makes it the backbone of automated server deployment scripts.

Chapter: 9.1 Server Setup & First Launch | 9.10 Mod Management

storage_1 ​

The persistence storage folder the Central Economy writes under the mission's storage_N path. It holds the saved world state -- player data, built structures, vehicles, and dynamic events -- between restarts. Deleting it wipes persistence and forces a fresh world.

Chapter: 9.7 World State & PersistenceSee also: Central Economy

string ​

Immutable value type for text. Passed by value, compared by value. Rich built-in methods: Substring, IndexOf, Replace, ToLower, Length, Split.

Chapter: 1.1 Variables & Types | 1.6 String Operations

stringtable.csv ​

CSV file providing localized text. Columns for 13 languages. Keys are referenced in layouts and scripts for user-facing strings.

Chapter: 5.1 stringtable.csvSee also: Localization

Styles (GUI) ​

Predefined visual appearances applied to widgets via the style attribute. Control backgrounds, borders, and overall look without manual configuration.

Chapter: 3.7 Styles, Fonts & Images

super ​

Keyword used inside method overrides to call the parent class implementation. Critical in modded classes to preserve original behavior.

Chapter: 1.4 Modded Classes | 1.3 Classes & Inheritance

switch/case ​

Control flow construct for multi-branch selection. Cases fall through without break (same as C/C++). Always include break unless fall-through is intentional.

Chapter: 1.5 Control Flow | 1.12 Gotchas

T ​

Terrain Builder ​

DayZ Tools application for creating and editing terrain data (heightmaps, surface masks, object placement).

Chapter: 4.5 DayZ Tools Workflow

Terrain Queries ​

Engine APIs for querying terrain height, surface type, and surface normals. Accessed via GetGame().SurfaceY(), GetGame().SurfaceGetType(), etc.

Chapter: 6.19 Terrain & World Queries

TextWidget ​

Widget for displaying text. Key methods: SetText(string), SetColor(int). Use RichTextWidget for formatted text with inline markup.

Chapter: 3.1 Widget TypesSee also: RichTextWidget

TexView2 ​

DayZ Tools texture viewer and converter. Converts between PAA, TGA, PNG, and EDDS formats. Essential for texture workflow.

Chapter: 4.5 DayZ Tools Workflow | 4.1 Textures

TGA ​

Truevision TGA -- uncompressed texture source format. Common starting point for texture creation. Converted to PAA for game use.

Chapter: 4.1 TexturesSee also: PAA, TexView2

thread ​

Method modifier that marks a function as a coroutine. thread methods can yield execution and resume later. Spawned via direct call.

Chapter: 1.13 Functions & Methods

Timer ​

Managed timer class for repeating or delayed function calls. Alternative to ScriptCallQueue with built-in start/stop lifecycle.

Chapter: 6.7 Timers & CallQueueSee also: CallLater, ScriptCallQueue

Trading System ​

A shop system with JSON config, server-validated buy/sell, categorized UI, and currency-based transactions.

Chapter: 8.12 Building a Trading System

Transport ​

Base class for all vehicle entities. Subclasses: Car (land vehicles via CarScript) and Boat (watercraft via BoatScript).

Chapter: 6.2 Vehicle SystemSee also: CarScript

typename ​

Primitive type that holds a reference to a type itself. Used for reflection: typename t = MyClass;, then t.Spawn() creates an instance dynamically.

Chapter: 1.1 Variables & Types | 1.9 Casting & Reflection

types.xml ​

Central Economy file that defines every spawnable item's nominal count, min count, lifetime, restock rate, category, usage flags, and value flags.

Chapter: 6.10 Central Economy | 5.5 Server ConfigsSee also: Central Economy

U ​

UAInput ​

Script-level API for querying input state at runtime. GetUApi().GetInputByName("UAMyAction") returns a UAInput object with press/release/hold methods.

Chapter: 6.13 Input System | 5.2 inputs.xmlSee also: inputs.xml

UI Patterns ​

Real-world UI techniques from professional mods: tab navigation, list pooling, context menus, drag-and-drop, tooltip management.

Chapter: 3.9 Real Mod UI Patterns

UIScriptedMenu ​

Base class for full-screen or modal UI panels. Provides lifecycle methods (OnShow, OnHide, Update) and built-in widget event routing.

Chapter: 3.8 Dialogs & Modals | 3.6 Event Handling

V ​

Value Types ​

Types passed by copy, not by reference: int, float, bool, string, vector. Modifications to a copy do not affect the original.

Chapter: 1.1 Variables & Types

vector ​

Primitive three-component float type (x, y, z). Passed by value. Constructed from string: vector v = "1 2 3";. Access components via index: v[0], v[1], v[2].

Chapter: 1.1 Variables & Types | 1.7 Math & Vectors

Vehicle Mod ​

A mod that creates custom drivable vehicles by extending CarScript or BoatScript in CfgVehicles with custom stats, textures, and scripted behavior.

Chapter: 8.10 Creating a Vehicle Mod | 6.2 Vehicle System

Vehicle System ​

DayZ's transport system. Vehicles have fluid systems (fuel, oil, brake, coolant), parts with health, gear simulation, and engine-managed physics.

Chapter: 6.2 Vehicle SystemSee also: CarScript, Transport

verifySignatures ​

The serverDZ.cfg setting that controls PBO signature checking. verifySignatures = 2 (the recommended value) rejects any mod whose .bisign does not match a .bikey in the server's keys/ folder, blocking tampered or unauthorized addons. 0 disables checking.

Chapter: 9.3 serverDZ.cfg Complete Reference | 9.9 Access ControlSee also: bisign, Key Pair

VPP (VPP Admin Tools) ​

Major community admin mod by DaOne and GravityWolf. Provides player management, chat commands, webhooks, ESP, and a permission system.

Chapter: 3.9 Real Mod UI Patterns | 7.5 Permission Systems

W ​

Weather System ​

Fully dynamic system controlling overcast, rain, snowfall, fog, wind, and thunderstorms. Accessed via GetGame().GetWeather().

Chapter: 6.3 Weather System | 6.23 World Systems

Widget ​

Base class for all UI elements. Every visible element on screen is a widget in a parent-child tree rooted at WorkspaceWidget.

Chapter: 3.1 Widget TypesSee also: Layout File

WidgetFadeTimer ​

Specialized timer for animating widget alpha transitions (fade in/out). Simpler than manual alpha interpolation.

Chapter: 6.7 Timers & CallQueue

Workbench ​

Bohemia's IDE for the Enfusion engine. Provides script editing, debugger (breakpoints, stepping, variable inspection), layout preview, resource browser, and live console.

Chapter: 4.7 Workbench Guide | 4.5 DayZ Tools WorkflowSee also: DayZDiag

WorkspaceWidget ​

Root widget obtained via GetGame().GetWorkspace(). Used to create widgets programmatically with CreateWidgets() and CreateWidget().

Chapter: 3.1 Widget Types | 3.5 Programmatic Widgets

World Systems ​

Mission-folder configurations for contaminated areas, underground darkness, weather overrides, gameplay rules, and object placement.

Chapter: 6.23 World Systems

WrapSpacerWidget ​

Container widget that arranges children sequentially with wrapping, padding, and margins. The flow layout equivalent.

Chapter: 3.1 Widget Types | 3.4 Container WidgetsSee also: GridSpacerWidget

WSS ​

Bohemia's proprietary audio format. Legacy format still used in some vanilla sound definitions. Prefer OGG Vorbis for new content.

Chapter: 4.4 AudioSee also: OGG

X ​

XComboBoxWidget ​

Dropdown selection widget. Used for settings panels and property editors where the user selects from predefined options.

Chapter: 3.10 Advanced Widgets

Z ​

ZombieBase ​

Base class for infected entities. Extends DayZInfected with scriptable behavior: mind states, movement commands, attack patterns, and perception.

Chapter: 6.21 Zombie & AI SystemSee also: AnimalBase

Zombie & AI System ​

DayZ's hostile AI framework. Infected patrol, detect players through sight/sound/proximity, transition through behavioral states, attack, and die.

Chapter: 6.21 Zombie & AI System


Looking for the full list of chapters? See the chapter index -- the single, canonical table of contents for all parts and supplementary pages.

Released under CC BY-SA 4.0 | Code examples under MIT License