PinnedTutorial

types.xml explained: what nominal, min, restock, lifetime and every other value actually do

by TimV · · 16 views · 0 replies

TimVThread starter

Member since · 1 posts

#1

Almost two thousand entries, all built the same way, and not one line explaining what the numbers mean. Here is what every value does, what unit it counts in, and what happens when you change it.

Every number below comes from Bohemia's official vanilla types.xml for Chernarus and its 1970 entries — counted, not guessed.

The short version

  • nominal — how many copies the economy wants in the world at once
  • min — when the count drops to this, it refills up to nominal
  • restock — seconds of delay before refilling
  • lifetime — seconds until an untouched item despawns
  • quantmin / quantmax — fill level on spawn, in percent (-1 = default)
  • cost — spawn priority, default 100, basically never touch it
  • flags — which locations count towards nominal
  • category — rough goods group
  • usage — which location types it spawns at
  • value — which tier zones of the map
  • tag — which kind of loot point inside a building

If all you want is to make an item more or less common, you need exactly three of these: nominal, min and restock.

Where the file lives

mpmissions/dayzOffline.chernarusplus/db/types.xml

It is the stock list of the Central Economy: how much of an item may exist and how long it stays on the ground. It does not decide which shelf something lands on — which buildings have which loot points is in mapgroupproto.xml, and which zone has which tier belongs to the map.

What an entry looks like

XML
<type name="AK101">
    <nominal>4</nominal>
    <lifetime>28800</lifetime>
    <restock>3600</restock>
    <min>2</min>
    <quantmin>30</quantmin>
    <quantmax>80</quantmax>
    <cost>100</cost>
    <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    <category name="weapons"/>
    <usage name="Military"/>
    <value name="Tier3"/>
    <value name="Tier4"/>
</type>

The order is Bohemia's own: nominal, lifetime, restock, min, quantmin, quantmax, cost, flags, category, tag, usage, value. Stick to it and diffs between two versions of your file stay readable.


The values one by one

name

The item's class name, exactly as the game knows it.

So AK101, not "AK-101". Put a name there that does not exist and the item never spawns — the entry does nothing.

nominal — the target amount

How many copies the economy wants in the world at the same time.

That is a ceiling, not a promise. Whether the amount is ever reached depends on there being enough matching loot points — see usage and value.

nominal = 0 means the economy never spawns this item on its own.

In the vanilla file

873 of the 1970 entries sit at nominal = 0: colour variants that only exist once a player paints them, meat that appears when you butcher something, and items that arrive purely through events.

min — the restock threshold

When the in-game count drops to this value, the economy refills up to nominal.

So min always belongs below nominal. The gap between the two sets the rhythm: nominal 4 / min 2 lets the count swing between two and four and refills in batches, nominal 4 / min 3 keeps it tighter and triggers restocking more often.

Why some vanilla entries have min larger than nominal

It happens 172 times — and all 172 have nominal = 0. Not a mistake, just without effect: with no target amount there is no restocking for a threshold to trigger.

restock — the delay before refilling

Seconds that pass before new copies are placed.

1800 is 30 minutes, 3600 an hour. A 0 does not mean "instantly" but "on the economy's next pass" — the server works in cycles, not second by second.

restock is the lever that makes loot feel rarer without lowering the total amount: a cleared-out military base then stays empty for a while.

lifetime — how long something stays on the ground

Seconds until an untouched item despawns.

Any player interaction resets the clock. A very short lifetime lowers the amount in play indirectly, because items vanish before anyone finds them.

Common values and what 0 means
  • 14400 (4 hours) — 1079 entries
  • 28800 (8 hours) — 415 entries
  • 1800 (30 minutes) — 220 entries
  • 3888000 (45 days) — tents, barrels, sea chests, watchtowers: the persistence window for base building

lifetime = 0 appears 66 times, without exception on static world objects such as containers and wrecks (Land_…, StaticObj_…). On normal loot a 0 is a configuration error.

quantmin and quantmax — how full it spawns

The fill level in percent, for anything with contents: ammo, water, fuel, canned food.

On spawn the server rolls a value between the two. -1 means "not applicable" and the item arrives at its default.

Take AK101 with quantmin 30 and quantmax 80: the weapon spawns with a magazine filled between 30 and 80 percent.

How we know these are percentages

Across the entire vanilla file not a single value goes above 100. So they really are percentages and not item counts.

cost — spawn priority

A weight for which item gets a free loot point when several qualify. The default is 100.

The honest advice: leave it alone. Across 1970 entries Bohemia itself deviates from 100 exactly once — Mag_SVD_10Rnd sits at 1000. For frequency you use nominal, min and restock.

flags — what gets counted

These six switches decide which locations count towards nominal.

This is where most loot tuning goes wrong.

  • count_in_map — items lying out in the world (vanilla: on for 1902 of 1970)
  • count_in_cargo — items inside vehicles and containers (on 47 times)
  • count_in_hoarder — items in tents, barrels and buried stashes (on 31 times)
  • count_in_player — items players carry on them (on 55 times)
  • crafted — the item is made by players, not by the economy (on 313 times)
  • deloot — the item comes from dynamic events instead of buildings (on 47 times)

If a switch is 0, the item is invisible to the economy in that place.

Why the server keeps spawning despite full tent camps

Because count_in_hoarder is 0 almost everywhere in vanilla: what sits in a tent simply does not count. If you want rare things to stay rare, these switches are what you touch — with the side effect that hoarded goods then throttle the supply for everyone.

crafted and nominal = 0 go together: all 313 entries with crafted="1" also have nominal = 0.

Typical deloot items are AK74, FAMAS, M79 and GasMask — the classic helicopter crash find.

category — the rough goods group

One of eight: weapons, clothes, tools, food, containers, explosives, books, lootdispatch.

The odd one out: lootdispatch

174 vanilla entries, essentially vehicle parts such as doors. Change it without reason and car parts disappear. 348 entries have no category at all — infected and static objects do not need one.

usage — which locations it spawns at

The location types where the item may appear. Several are allowed and act as "or".

Chernarus knows seventeen: Military, Police, Medic, Firefighter, Industrial, Farm, Coast, Town, Village, Hunting, Office, School, Prison, Lunapark, SeasonalEvent, ContaminatedArea and Historical.

Without usage an item spawns nowhere in the normal loot cycle — which is exactly right for crafted and event items.

Other maps, other values

Livonia and Sakhal have Special and Underground, but no Historical. Which values your map knows is not in types.xml but in cfglimitsdefinition.xml in the mission folder. Anything missing there is invalid on that map.

value — the map's tier zone

How far inland the item may appear.

Tier 1 is the coast where fresh spawns start; the higher tiers sit further inland and are more military. Without value the item is allowed in no zone at all — the same effect as a missing usage.

Which tiers exist per map
  • Chernarus: Tier1 through Tier4 plus Unique
  • Sakhal: Tier1 through Tier4 plus Unique
  • Livonia: only Tier1 through Tier3 plus Unique

A Tier4 in a Livonia file is simply invalid there.

tag — the spot inside the building

floor, shelves or ground narrow down which kind of loot point is used.

Only 281 of the 1970 vanilla entries use this at all; without it, every point is allowed. A tag narrows, it never widens.


What usually goes wrong

You raise the number and nothing happens. nominal is only a ceiling. If the map does not have enough loot points with matching usage and value, the target is never reached. A nominal 500 on a pure Military item gets you no more than the military locations can hold.

You change everything at once. Touch nominal, min, restock and lifetime together and you will not know afterwards which one did the work. One value per round, then restart and look.

You expect it to happen immediately. The economy does not clean up or spawn near players — LootSpawnAvoidance and CleanupAvoidance in globals.xml are both set to 100 — and it works in cycles. After a restart it takes a while before changes show up.

You do not check your own file. One missing > is enough for the server to start without an economy. The result is not a bit more loot, it is none at all.


Tools for the job

Both free, no account needed:

  • Types editor — opens your file in the browser, shows icon and name for every item, explains each value right where you edit it, and does bulk edits across whole filter groups.
  • XML validator — finds syntax errors with a line number before your server does.

Questions about individual values are welcome as a reply in this thread — then the answer is there for everyone.

· edited

Write a reply

Sign in to reply.

Your server is set up. Can players find it?

List it on DZPage for free: PC, PlayStation and Xbox, with a live player count, votes, comments and your own server page. No premium slots, no payment, no waiting.

3,921 visitors in 30 days · free, no premium slots · only 13 servers listed so far

Stuck with your server config?

Ask in the DZPage Discord — server owners and the developer answer there. New tools get announced first.

Join the Discord763 members
10% off

Rent your own DayZ server

Use our partner link and get 10% off every order at GPORTAL — servers for PC, PlayStation and Xbox.

Get 10% off

Advertising partner · Partner link: you save 10%, we earn a commission.

This tool is free — and stays free

No login, no paywall, no limits. If it saved you time, a one-off €5 keeps the servers running and removes ads for you.

Support DZPage