Understanding the DayZ Economy
A plain-English guide to the Central Economy (CE) system. Learn how the core configuration files work together, what each parameter actually means, and avoid the common mistakes that trip up new server administrators.
What is the Central Economy?
The Central Economy (CE) is DayZ's dynamic loot management system. It controls every item that spawns in the world — from the can of beans in a house to the M4 in a military base. The CE continuously monitors the map, counts existing items, and decides when and where to spawn replacements.
Think of it as a warehouse manager: it knows how many of each item should exist on the server at any time (nominal), the minimum before restocking (min), how long items last (lifetime), and how quickly to replenish (restock).
Understanding the CE is the single most important skill for any DayZ server administrator. Nearly every "why isn't my loot spawning?" question traces back to a misunderstanding of how these systems interact.
The Four Core Files
The CE relies on four primary configuration files that work together:
-
1
types.xml
The master item database. Defines every spawnable item with its nominal count, minimum threshold, lifetime, restock timer, and spawn flags. This is the file you'll edit most often.
-
2
events.xml
Controls dynamic world events like helicopter crashes, police car spawns, and contaminated zones. Events spawn groups of items at specific locations with their own timers.
-
3
cfglimitsdefinition.xml
Maps the category, usage, and value tags used in types.xml to actual building/location types on the map. This is how the CE knows "Military" means "spawn at military buildings."
-
4
cfgspawnabletypes.xml
Defines item attachments and cargo presets. When a weapon spawns, this file determines what magazine, optic, or suppressor might be attached to it.
How They Work Together
Server starts — The CE reads economy.xml, which points to all economy files including types.xml, events.xml, and others.
CE scans the map — It counts every item currently in the world (on the ground, in containers, on players depending on flags).
Compares to nominal — For each item in types.xml, the CE checks: "Is the current count below the min value?"
Spawns items — If below min, the CE spawns new items at valid locations (determined by cfglimitsdefinition.xml) up to the nominal value.
Applies attachments — cfgspawnabletypes.xml is checked to add any configured attachments or cargo to the newly spawned items.
Cycle repeats — The CE continuously monitors and restocks based on the restock timer for each item type.
Key Parameters Explained
nominal — Target Count
The maximum number of this item the CE will try to maintain on the server at any given time. When the count drops below min, the CE spawns items until reaching nominal. A nominal of 10 means the server aims to have 10 of that item in the world.
min — Restock Trigger
The threshold that triggers restocking. When the world count of an item falls to or below this number, the CE begins spawning new ones. The gap between min and nominal controls how "bursty" restocking feels. A small gap means frequent small restocks; a large gap means rare but large restocks.
lifetime — Despawn Timer (seconds)
How long an item persists in the world before being cleaned up, in seconds. An untouched item on the ground will despawn after this time. Interacting with the item (picking it up, moving it) resets this timer. Common values: 3600 (1 hour), 7200 (2 hours), 14400 (4 hours).
restock — Respawn Delay (seconds)
The minimum time the CE waits before spawning new items of this type after the count drops below min. A value of 0 means the CE will restock on its next cycle. Higher values create deliberate scarcity — players must wait for loot to return. Set to 1800 (30 min) for rare items to prevent instant respawns after looting.
Why Does Loot Disappear?
Items vanish from the world for several reasons. Understanding these prevents hours of confused debugging:
The item sat untouched longer than its lifetime value. The CE cleaned it up to make room for fresh spawns.
On restart, the CE re-evaluates all items. Items past their lifetime or exceeding nominal counts may be removed.
Ruined items have a separate, shorter cleanup timer defined in globals.xml (CleanupLifetimeRuined).
If more items exist than the nominal value (e.g., after a config change lowering nominal), the CE will gradually remove excess items as their lifetimes expire.
If count_in_player is set to 1, items held by players count toward the nominal. Players hoarding items can prevent new spawns entirely.
Common Myths Debunked
Myth: "Setting nominal to 100 means 100 items will spawn immediately."
Reality: Nominal is a target, not a command. The CE spawns items gradually over multiple cycles. It also depends on available spawn points — if there are only 20 valid locations, you'll never see 100 items.
Myth: "Restock 0 means instant respawn."
Reality: Restock 0 means the CE will attempt to restock on its next cycle, but cycles don't run every second. The CE processes items in batches, so there's always a natural delay of several minutes.
Myth: "Deleting types.xml entries removes items from the server."
Reality: Removing a type entry only stops new spawns. Existing items remain until their lifetime expires. Use the cfgIgnoreList.xml to properly exclude items.
Myth: "Higher lifetime means better loot persistence."
Reality: Excessively high lifetimes cause loot to "clog" spawn points. Old items sit in locations preventing fresh spawns, making the map feel stale. Balance lifetime with your server's restart schedule.
Myth: "The CE only counts items on the ground."
Reality: The CE counts items based on the flags configuration. With count_in_cargo, count_in_hoarder, and count_in_player flags, items in storage, bases, and player inventories can all count toward the nominal.
Quick Reference Table
| Parameter | Type | Unit | Description |
|---|---|---|---|
| nominal | Integer | Count | Target number of items on the server |
| min | Integer | Count | Minimum count before restocking triggers |
| lifetime | Integer | Seconds | Time before an untouched item despawns |
| restock | Integer | Seconds | Delay before CE respawns items after min is reached |
| quantmin | Integer | Percent | Minimum quantity/condition (e.g., ammo in magazine) |
| quantmax | Integer | Percent | Maximum quantity/condition on spawn |
| cost | Integer | Priority | Spawn priority (100 = normal) |
Troubleshooting Checklist
If loot isn't spawning as expected, work through this checklist:
Pro Tips
Start with vanilla values. Copy the default types.xml and make small, incremental changes. Test after each change. Wholesale edits make debugging impossible.
Use the 50-70% rule for min. Set min to 50-70% of nominal for smooth restocking. Example: nominal 10, min 6.
Match lifetime to your restart schedule. If your server restarts every 4 hours, a lifetime of 14400 (4 hours) ensures items persist between restarts but don't clog indefinitely.
Use count_in_hoarder wisely. Setting this to 1 for rare items prevents base-building players from hoarding every copy, ensuring some always spawn in the wild.
Check the Loot Balancing Guide for detailed rarity tier recommendations and category-specific tuning advice.