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.
