This is a tutorial to customize a Dayz Server for Console.
I collected this knowledge by being an admin for 9 months and I wanted to make this knowledge public to others, so they can easily know how to customize their servers.
- Editing the files
- Concepts
- General configurations
- Messages configurations
- Items configurations
- Loadout and attachments customizations
- Events configurations
- Territory flags configurations
- Change players spawn location
- Car related configurations
- Other useful stuff
- References
I strongly suggest you use an external editor to modify the configuration files. You could edit the files directly on the server, but by doing that you have higher chances to mess up the files.
A tiny caracter at the wrong place, can messed up the game by preventing zombies from spawning or preventing loot from spawning or prevent cars from spawning or make your player spawn at the default spawns, etc.
In order to efficiently edit the dayz config, you need a few tools :
- A PC (or a mac) : in order to install the other tools.
- Notepad++ editor to edit the configuration files
- Notepad++ XML Tools pluggin to validate the xml configuration files (to install go to notepad++ Pluggins->Pluggins admin menu).
You could edit the files directly on the server, but by doing that you have chances to mess up the files.
A tiny caracter at the wrong place, can messed up the game by preventing zombies from spawning or preventing loot from spawning or prevent cars from spawning or make your player spawn at the default spawns, etc.
Before editing your files, you should always make a copy of the originals in case you overrite a important configuration or in case you messup a configuration file and you need to roll back your customizations.
Ruined items, dead players, animals and dead zombies despawn timer can be changed.
- Open the file Globals.xml.
- Find the appropriate tag you want to change :
<var name="CleanupLifetimeDeadAnimal" type="0" value="1200"/>
<var name="CleanupLifetimeDeadInfected" type="0" value="330"/>
<var name="CleanupLifetimeDeadPlayer" type="0" value="3600"/>
<var name="CleanupLifetimeDefault" type="0" value="45"/>
<var name="CleanupLifetimeLimit" type="0" value="3600"/>
<var name="CleanupLifetimeRuined" type="0" value="330"/>
- Change the value attribute of the item you want
Values are in seconds. Here 3600 means it is a 60 seconds per minute X 60 minutes = 1 hour
- Save the file and restart the server.
Dayz limits the number of items you can find on the map to 1200. You can change this value, but be warn it can affect the server performance.
- Open the file Globals.xml.
- Find the SpawnInitial tag :
<var name="SpawnInitial" type="0" value="1200"/>
- Change the value attribute of the number of items you want to spawn on the map.
- Save the file and restart the server.
Dayz limits the number of zombies players can encounters on the map to 800. You can change this value, but be warn it can affect the server performance.
- Open the file Globals.xml.
- Find the ZombieMaxCount tag :
<var name="ZombieMaxCount" type="0" value="800"/>
- Change the value attribute of the number of zombies you want on the map.
- Save the file and restart the server.
Dayz limits the number of animals players can encounters on the map to 200. You can change this value, but be warn it can affect the server performance.
- Open the file Globals.xml.
- Find the AnimalMaxCount tag :
<var name="AnimalMaxCount" type="0" value="200"/>
- Change the value attribute of the number of animals you want on the map.
- Save the file and restart the server.
Dayz allow you to display a message (in red) at the bottom the screen of players. In order to customize those messages you have to modify the message.xml file.
See this link on how to configure the messages you want to display : DayZ:Server Messages
Items definitinos in dayz are found in the file type.xml. There you can change how items spawns.
An item is define like this, for example the canteen item :
<type name="Canteen">
<nominal>30</nominal>
<lifetime>3600</lifetime>
<restock>600</restock>
<min>15</min>
<quantmin>50</quantmin>
<quantmax>100</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="food"/>
<usage name="Military"/>
<usage name="Hunting"/>
<usage name="Town"/>
<usage name="Village"/>
<value name="Tier1"/>
</type>
- The nominal tag is the average number of this kind of items you will find in the world.
In this case 30.
- The lifetime tag is the time in seconds the item will stay on the map if untouched before it despawns.
In this case 60 seconds X 60 minutes = 1 hour.
- The min tag is the minimum number of this type of item you will find on the map. When the number of items of this kind in the world reaches this value, a new item of this type will be set to respawn after the number of second set in the restock value.
In this case 15.
- The restock tag is the time before an item of this type respawns when the minimum number of items of this type reaches the min value.
In this case 10 minutes (600 seconds).
- The quantmin and quantmax tags is for items that contains quantities of somethings (pills, liquid, ammo, etc.). It is the random minimal and maximal percentage (%) this item will be filled with.
In this case it will be filled between 50% and 100%.
- The cost tag is the priority this item will be spawn over to others.
In this case 100.
- The flags tag tells how the game engine counts or spawn the items on the maps.
- The count_in_cargo attribute is for items stored in container items (cars, tents, etc.).
- The count_in_hoarder attribute is for items stored in containers your wear.
- The count_in_map attribute for items spawned in buildings and area all around the map.
- The count_in_player attribute for items your wear.
- The deloot attribute tells this item will only spawn on events (like helicrashes).
- The crafted attribute I have no idea.
- The value attribute will tell in which tier of the map the items will spawn.
1 = true and 0 = false
- The category tag is used to categorize items and is used in the mapgrouppos.xml file to spawn certain types of items in buildings.
In this case food.
- The usage tag is used to tell in which type of area this item can spawn.
In this case Military, Hunting, Town and Village.
- The value tag is used to tell in which tier of map this item can spawn.
The dayz map is divided in 4 tiers. Tiers are used to define area where certain items can spawn.
Here is a list of all possible values for the value parameter
- Tier1 (green).
- Tier2 (yellow).
- Tier3 (orange).
- Tier4 (red).
The usage tag is used to tell in which type of area this item can spawn.
Here is a list of all possible values for the usage parameter:
- Coast
- Farm
- Firefighter
- Hunting
- Industrial
- Medic
- Military
- Office
- Police
- Prison
- School
- Town
- Village
The category tag is used to categorize items and is used in the mapgrouppos.xml file to spawn certain types of items in buildings.
Here is a list of all possible category parameter values :
- clothes
- containers
- explosives
- food
- tools
- weapons
- vehiclesparts
Tags are use to specify where to which specific location in a building an item should spawn. Here is a list of all possible tag parameter values :
- shelves
- floor
Change the nominal value.
Items containing ammo, pills and liquids, etc. will spawn full if you set quantmin to 100 and quantmax to 100
If you don't want a particular item to randomly spawn on the map :
- Open the file type.xml.
- Find the item you want to prevent from the spawning on the map.
- Change the nominal value and min value of that item to 0
- Restart the server.
This will not despawn any items of this type already spawned on the map.
If you don't want a particular item to randomly spawn on the map :
- Open the file type.xml.
- Find the item you want to prevent from the spawning on the map.
- Change the lifetime value to the time in seconds you want it to despawn.
- Restart the server.
This will not affect any items already spawned on the map.
You can specify where items can spawn. In order to do that you have to add (or remove) a usage tag to the type of item you want.
- Open the file type.xml.
- Find the item you want to spawn on the map.
- Change the usage value of the desired usage location (see Usage)
- Restart the server.
In Dayz you can cutomize loadout of zombies, npcs, vehicules and container items (bags, seachest, giftbox, etc)
Warning : if you change the loadout of an item, all items of this type will spawn with that loadout, custom spawns et randow spawns.
Loadouts of items are configuration in the file cfgspawnabletypes.xml.
If an item entry is missing from this file, you can add a new entry with the item name of this item. For example if you want refridgerators to spawn food and drinks just add :
Container items like
<type name="Refridgerator">
<cargo chance="0.50">
<item name="Vodka" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Vodka" chance="0.50" />
<item name="SodaCan_Pipsi" chance="0.50" />
</cargo>
<cargo preset="foodVillage" />
<cargo chance="1.00">
<item name="WaterBottle" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="WaterBottle" chance="1.00" />
</cargo>
</type>
-
The type tag is used to refer to the name of the item you want to set the loadout.
-
The cargo tag is used to set the items you want to load in the container item. You can set a chance attribute to this tag in order to specify the randomness of an item to get load in the container item.
-
The item tags are use to set the item you want to load. You can set a chance attribute to this tag in order to specify the randomness of an item to get load in the container item. Multiple items can be set inside a cargo tag, but only one of these item will get load.
In order to spawn multiple item of the same type, add multiple cargo tags with the same item inside them (see WaterBottle item the above example).
- You can also use preset in order to spawn items inside container items. Presets are define in the file cfgrandompresets.xml
<cargo chance="1.0" name="foodVillage">
<item name="TunaCan" chance="0.50" />
<item name="WaterBottle" chance="0.25" />
<item name="Apple" chance="0.25" />
</cargo>
Tips : if you use container items to spawn items on the map, disable the random spawns of this type of item (see How to prevent an item from spawning.
Some items like guns, helmets, zombies, NPCs and cars have attachments. You can set which attachments spawns with those types of items in the file cfgspawnabletypes.xml like this :
<type name="ZmbM_PrisonerSkinny">
<attachments chance="1.00">
<item name="GreatHelm" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sword" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="PrisonUniformJacket" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="PrisonUniformPants" chance="1.00" />
</attachments>
</type>
Or like this:
<type name="Saiga">
<attachments chance="1.00">
<item name="Saiga_Bttstck" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Mag_Saiga_5Rnd" chance="0.50" />
<item name="Mag_Saiga_8Rnd" chance="0.30" />
<item name="Mag_Saiga_Drum20Rnd" chance="0.20" />
</attachments>
</type>
Some items like zombies and NPCS can combine cargo and attachments :
<type name="ZmbM_VillagerOld_Green">
<cargo preset="foodVillage" />
<cargo preset="toolsVillage" />
<attachments preset="glassesVillage" />
<attachments preset="hatsFarm" />
<attachments preset="bagsVillage" />
</type>
Some small items have attachment like batteries, you can make them spawn with their attachment by adding the following (thanx TooThickBigRick for the snippet) :
<type name="Headtorch_Black">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="NVGoggles">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="NVGHeadstrap">
<attachments>
<item name="NVGoggles" />
</attachments>
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="PlateCarrierVest">
<attachments>
<item name="PlateCarrierPouches" />
</attachments>
<attachments>
<item name="PlateCarrierHolster" />
</attachments>
</type>
<type name="CivilianBelt">
<attachments>
<item name="NylonKnifeSheath" />
</attachments>
<attachments>
<item name="Canteen" />
</attachments>
</type>
<type name="MilitaryBelt">
<attachments>
<item name="NylonKnifeSheath" />
</attachments>
<attachments>
<item name="Canteen" />
</attachments>
</type>
<type name="SmershVest">
<attachments>
<item name="SmershBag" />
</attachments>
</type>
<type name="Mich2001Helmet">
<attachments>
<item name="NVGoggles" />
</attachments>
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="Headtorch_Grey">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="StunBaton">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="Flashlight">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="CattleProd">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="Megaphone">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="Rangefinder">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="TLRLight">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="UniversalLight">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="PSO11Optic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="PSO1Optic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="ReflexOptic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="FNP45_MRDSOptic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="KazuarOptic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="KobraOptic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="M4_T3NRDSOptic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="M68Optic">
<attachments>
<item name="Battery9V" />
</attachments>
</type>
<type name="PowerGenerator">
<attachments>
<item name="SparkPlug" />
</attachments>
</type>
Events are used to control how things spawns in the world. Those things can be :
- Animals
- Zombies
- Items
- Vehicules
Events are defined in the file events.xml. An event definition looks like this
<event name="ItemSantasHat">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>1200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<secondary>InfectedArmy</secondary>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="255" min="60" type="SantasHat"/>
</children>
</event>
-
An event name must begin by following words :
- static for buildings
- item for items
- animals for items
- Infected for zombies
- Trajectory for fruits and stones
-
The nominal value is the number of instance created for this kind of event.
It can be more than the max value if you have more than one child item in the event definition.
-
The min value is the minimum number of children items this event will spawn for each instance.
-
The max value is the maximum number of children items this event will spawn for each instance.
-
The lifetime value is the time in seconds that an event of this type will stay active on the server.
-
The restock value is the time in seconds between each event invocations once the min number of active instances have been reached.
-
The saferadius is the distance away from the player position that this event can spawn.
-
The distanceradius is the minimum distance away from other similar event.
-
The cleanupradius is the distance away from the player position that the event will despawn after lifetime ticks down.
-
The secondary tag is the name of an other event you want to spawn at the same time than this event, for example to spawn zombies around a building or an item.
-
The position value (player or fixed) determines whether distance is counted from the player position or from a fixed position.
-
The limit value (custom, parent, child, mixed) is how the maximum number of children item is counted.
- custom limit refer to an external file like for animals territories.
- child limit refer to the min and max attributes of the each child.
- parent limit refer to the min and max attributes of the event itself.
- mixed limit is a mix of both child et parent.
-
The active value (0 = false, 1 = true) is an indicator to activate or deactivate these events.
-
The children tags are the items that will spawn with the events of this type.
- The lootmax attribute is the maximum number of item that will spawn around this child item.
- The lootmin attribute is the minimum number of item that will spawn around this child item.
This means that you can make item spawn next to spawned children items (like in the helicrashes). The kind of items that will spawn for this particular item is configurable in the file___mapgroupproto.xml___. If not specified it will be random items.
If you are spawning a container item (ex: a backpack) lootmin and lootmax will be used to set the minimum and maximum number of slots in that item that can contain other items. The payload of the container items can be set in the file cfgspawnabletypes.xml (see Loadout and attachments customizations).
- The max attribute is the maximum number of items of this kind that will spawn in all instances of this event type.
- The min attribute is the maximum number of items of this kind that will spawn in all instances of this event type. An event also have some coodinates that tells the game were to spawn this event. Event's coodinates entries are defined in the file cfgeventspawns.xml and looks like this.
<event name="ItemSantasHat">
<pos x="8439.78" z="12895.50" a="180" />
<pos x="6877.84" z="11456.92" a="75" />
<pos x="4468.68" z="13925.41" a="75" />
</event>
- The name element must be the same than your event name.
- The x is the X coordinate.
- The z is the Z coordinate.
- The a is the angle (0-360) of the item. The value 0 means facing north. Setting the value to -1 will randomize the angle of the item.
In Dayz you can spawn items, buildings, NPCs and animals. Developpers also added hidden items you can add to the game.
Here is a list of items you can spawn in version 1.09 : class-dump-1.09-class-names-by-Bhaalshad.txt
in order to spawn for example an item you have to have this item name.
- Open the file type.xml.
- Find the item you want to spawn, for example :
<type name="SantasHat">
<nominal>1</nominal>
<lifetime>3600</lifetime>
<restock>0</restock>
<min>1</min>
<quantmin>-1</quantmin>
<quantmax>-1</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="clothes"/>
<tag name="shelves"/>
<usage name="Town"/>
<usage name="Village"/>
</type>
- Copy the name attribute of the item you want to spawn. In this case SantasHat.
Now you need to define the event that will be used to spawn the item.
- Open the events.xml file.
- Add an event entry like this by adding the name on the item you want to spawn in the type attribute of the child tag :
Be sure to give a unique name to your event
<event name="ItemSantasHat">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>1200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="255" min="60" type="SantasHat"/>
</children>
</event>
The last step is to set the location where you want to spawn you item.
- Open the file cfgeventspawns.xml.
- Add the following entry by setting the x, z, and a attribute to the coordinates of the location where you want the item to spawn.
<event name="ItemSantasHat">
<pos x="8439.78" z="12895.50" a="180" />
</event>
- Save the files and restart your server.
There is hidden NPC caracter you can spawn in the game. Those NPC don't do anything, but it can be funny or usefull to spawn them on the map. You can use them to deliver items, or as alarm for bases to know who raided you (with a killfeed).
Here is a list of all NPC items you can use :
- SurvivorF_Eva
- SurvivorF_Frida
- SurvivorF_Gabi
- SurvivorF_Helga
- SurvivorF_Irena
- SurvivorF_Judy
- SurvivorF_Keiko
- SurvivorF_Linda
- SurvivorF_Maria
- SurvivorF_Naomi
- SurvivorM_Boris
- SurvivorM_Cyril
- SurvivorM_Denis
- SurvivorM_Elias
- SurvivorM_Francis
- SurvivorM_Guo
- SurvivorM_Hassan
- SurvivorM_Indar
- SurvivorM_Jose
- SurvivorM_Kaito
- SurvivorM_Lewis
- SurvivorM_Manua
- SurvivorM_Mirek
- SurvivorM_Niki
- SurvivorM_Oliver
- SurvivorM_Peter
- SurvivorM_Quinn
- SurvivorM_Rolf
- SurvivorM_Seth
- SurvivorM_Taiki
Use How do i spawn something on the map instructions with those items name.
Thanks to Bhaalshad for the tips on how to spawn those NPC
events.xml
<event name="ItemWoodenLog">
<nominal>8</nominal>
<min>8</min>
<max>24</max>
<lifetime>14400</lifetime>
<restock>200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="1" min="1" type="WoodenLog"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemWoodenLog">
<pos x="6878.41" z="11458.24" a="75" />
</event>
events.xml
<event name="ItemMetal">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="8" min="8" type="MetalPlate"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemMetal">
<pos x="6888.41" z="11458.24" a="75" />
</event>
events.xml
<event name="ItemStone">
<nominal>8</nominal>
<min>8</min>
<max>32</max>
<lifetime>14400</lifetime>
<restock>200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="1" min="1" type="Stone"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemStone">
<pos x="6888.41" z="11458.24" a="75" />
</event>
events.xml
<event name="ItemPlanks">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>200</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="10" min="10" type="WoodenPlank"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemPlanks">
<pos x="6888.41" z="11458.24" a="75" />
</event>
events.xml
<event name="ItemPlanksPile">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>600</restock>
<saferadius>1</saferadius>
<distanceradius>1</distanceradius>
<cleanupradius>100</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="255" min="60" type="PileOfWoodenPlanks"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemPlanksPile">
<pos x="6888.41" z="11458.24" a="75" />
</event>
This is more complex, you have to combine the config from the previous section with an event...
events.xml
- restock is set to 1200 in order to resupply the event with a new protector case every 10 minutes.
- lootmin and lootmax are set to the maximum number of slot the container item can contain, in this case 12.
- lifetime is set to 14400 because my server is set to restart every 4 hours. I don't want this event to last too long if I want to change it later.
<event name="ItemProtectorCaseForBuilders">
<nominal>1</nominal>
<min>1</min>
<max>1</max>
<lifetime>14400</lifetime>
<restock>1200</restock>
<saferadius>3</saferadius>
<distanceradius>3</distanceradius>
<cleanupradius>3</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="12" lootmin="12" max="4" min="1" type="SmallProtectorCase"/>
</children>
</event>
cfgeventspawns.xml
<event name="ItemProtectorCaseForBuilders">
<pos x="1760.00" z="9351.00"/>
</event>
type.xml
- Here the nominal and min are set to 0 because you don't want every SmallProtectorCase to spawn everywhere with this loot inside them.
- Also for this example i wanted to have stacks of 99 nails, so i changed quantmin and quantmax of the nails item type.
<type name="SmallProtectorCase">
<nominal>0</nominal>
<lifetime>1200</lifetime>
<restock>0</restock>
<min>0</min>
<quantmin>-1</quantmin>
<quantmax>-1</quantmax>
<cost>50</cost>
<flags count_in_cargo="0" count_in_hoarder="0" count_in_map="0" count_in_player="0" crafted="0" deloot="0"/>
<category name="containers"/>
<usage name="Industrial"/>
<usage name="Town"/>
</type>
<type name="Nail">
<nominal>0</nominal>
<lifetime>3600</lifetime>
<restock>0</restock>
<min>0</min>
<quantmin>99</quantmin>
<quantmax>99</quantmax>
<cost>90</cost>
<flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/>
<category name="tools"/>
</type>
cfgspawnabletypes.xml
- Here I repeat the cargo tag for each item i want in the container even if it is the same item.
<type name="SmallProtectorCase">
<cargo chance="1.00">
<item name="Whetstone" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Whetstone" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
<cargo chance="1.00">
<item name="Nail" chance="1.00" />
</cargo>
</type>
This example spawns lots of cars to make a racing event. It spawns car with racing gear for drivers.
Change the spawn locations of the players
cfgplayerspawnpoints.xml
<generator_posbubbles>
<!-- Novaya -->
<pos x="3352.15" z="13058.36" />
<pos x="3456.15" z="13142.36" />
<pos x="3440.15" z="13037.36" />
<pos x="3420.15" z="12905.36" />
</generator_posbubbles>
Change the loadout of the cars you wanna race with
cfgspawnabletypes.xml
<type name="Sedan_02">
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarRadiator" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarBattery" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="SparkPlug" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_1_1" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_1_2" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_1" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_2" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Hood" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Trunk" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CanisterGasoline" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="TacticalBaconCan" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HockeyHelmet_Blue" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitJacket_Blue" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitPants_Blue" chance="1.00" />
</attachments>
</type>
<type name="Sedan_02_Red">
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarRadiator" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarBattery" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="SparkPlug" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_1_1_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_1_2_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_1_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_2_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Hood_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Trunk_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CanisterGasoline" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="TacticalBaconCan" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HockeyHelmet_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitJacket_Red" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitPants_Red" chance="1.00" />
</attachments>
</type>
<type name="Sedan_02_Grey">
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Wheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarRadiator" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarBattery" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="SparkPlug" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="sedan_02_Door_1_1_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_1_2_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_1_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Door_2_2_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Hood_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Sedan_02_Trunk_Grey" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CanisterGasoline" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="TacticalBaconCan" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HockeyHelmet_Black" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitJacket_Gray" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="JumpsuitPants_Grey" chance="1.00" />
</attachments>
</type>
Create an event that spawns the race cars (in this case 6 race cars)
events.xml
<event name="VehicleSedan02Racing">
<nominal>6</nominal>
<min>6</min>
<max>6</max>
<lifetime>1200</lifetime>
<restock>0</restock>
<saferadius>3</saferadius>
<distanceradius>3</distanceradius>
<cleanupradius>3</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="2" min="2" type="Sedan_02"/>
<child lootmax="0" lootmin="0" max="2" min="2" type="Sedan_02_Grey"/>
<child lootmax="0" lootmin="0" max="2" min="2" type="Sedan_02_Red"/>
</children>
</event>
Set the locations where you want those cars to spawn
cfgeventspawns.xml
<!-- Niboj Race night event-->
<event name="VehicleSedan02Racing">
<pos x="3626.78" z="13072.50" a="35" />
<pos x="3639.78" z="13075.50" a="35" />
<pos x="3653.78" z="13078.50" a="35" />
<pos x="3665.78" z="13080.50" a="35" />
<pos x="3677.78" z="13084.50" a="35" />
<pos x="3689.78" z="13087.50" a="35" />
</event>
Territory flags (flag poles) in Dayz have the hability to refresh to despawn timers on item around them. You can change the behaviors of territory flags with the following configurations.
Territory flag normally take 5 days to get down when it is fully raised. In order to change this behavior :
- Open the file Globals.xml.
- Find the FlagRefreshFrequency tag :
<var name="FlagRefreshFrequency" type="0" value="432000"/>
- Change the value attribute to the value you want
Values are in seconds. Here 432000 means 60 seconds x 60 minutes x 24 hours = 5 days
- Save the file and restart the server.
Territory flag normally when they are not fully down, refreshes the despawn timer of all items (items on the floor, fences, containers items, etc.) 60 meters around them. In order to change this behavior :
- Open the file Globals.xml.
- Find the FlagRefreshMaxDuration tag :
<var name="FlagRefreshMaxDuration" type="0" value="1296000"/>
- Change the value attribute to the value you want
Values are in seconds. Here 1296000 means 60 seconds x 60 minutes x 24 hours = 15 days
- Save the file and restart the server.
In dayz you can change the default player spawn location of new players by following these steps :
- Open the file cfgplayerspawnpoints.xml.
- Fing the tag generator_posbubbles tag inside the fresh tag.
- Add a location by adding a pos tag with the coordinates where you want the player to spawn inside the generator_posbubbles tag. For example :
<pos x="3605.76" z="2406.70" />
- Remove the unwanted locations by deleting the correspoding pos tags.
- Save the file and restart the server.
Dayz for xbox has only 4 car types :
- VehicleCivilianSedan
- VehicleHatchback02
- VehicleOffroadHatchback
- VehicleSedan02 Others like the VS3 truck and the bus are non functionnal.
In order to spawn more cars :
- Open the file events.xml.
- Find the event of the car you want to spawn more.
Vehicule events name always begins with Vehicule
<event name="VehicleOffroadHatchback">
<nominal>4</nominal>
<min>1</min>
<max>8</max>
<lifetime>300</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_Blue"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_White"/>
</children>
</event>
- Change the min, max and nominal tags to the values you want.
- min is the minimum number of this type of car you want on the map.
- max is the maximum number of this type of car you want on the map.
- nominal is the average number of this type of car you want on the map.
<event name="VehicleOffroadHatchback">
<nominal>20</nominal>
<min>10</min>
<max>30</max>
<lifetime>300</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_Blue"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_White"/>
</children>
</event>
- Save the file and restart the server.
In order to make all car, working and broken ones, despawn and respawn brand new :
- Open the file events.xml.
- For each car type you want to despawn find the corresponding event, for example :
<event name="VehicleOffroadHatchback">
3.change the active tag to 0.
<event name="VehicleOffroadHatchback">
<nominal>40</nominal>
<min>20</min>
<max>70</max>
<lifetime>300</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>0</active>
<children>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_Blue"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_White"/>
</children>
</event>
- Save the file and restart your server.
This will make all car despawn.
- For each car event you changed in the events.xml file, change back the active tag to 1.
<event name="VehicleOffroadHatchback">
<nominal>40</nominal>
<min>20</min>
<max>70</max>
<lifetime>300</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_Blue"/>
<child lootmax="0" lootmin="0" max="15" min="3" type="OffroadHatchback_White"/>
</children>
</event>
- Save the file and restart your server.
All cars should know respawn as brand new one.
In order to make car non persistant, by that I mean despawn and respawn after every server restart :
- Despawn all cars.
This is to make sure your cars will spawn as brand new one. Not doing this will make car spawn in their last known state.
- Open the file economy.xml.
- Find the vehicules tag.
- Change the save parameter to 0
<vehicles init="1" load="1" respawn="1" save="0"/>
- Save the file and restart your server.
Cars in dayz spawn with random attachments, in order to make then always fully built :
- Open the file cfgspawnabletypes.xml.
- Find the entry for the car type you want fully built, for example :
<type name="OffroadHatchback">
3.For each attachments tag, change the chance attribute value to 1.00 and also for the following item tag change the chance attribute value to 1.00
<type name="OffroadHatchback">
<attachments chance="1.00">
<item name="HatchbackWheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackWheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackWheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackWheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackWheel" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarRadiator" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CarBattery" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="SparkPlug" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HeadlightH7" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackDoors_Driver" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackDoors_CoDriver" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackHood" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="HatchbackTrunk" chance="1.00" />
</attachments>
</type>
- Save the file and restart your server.
Cars can spawn with cargo in them, for example you may want to provide canteen of water and fuel to your players so they can fill their brand new car.
- Open the file cfgspawnabletypes.xml.
- Find the entry for the car type you want to add items, for example :
<type name="OffroadHatchback">
- Add an attachement tag for each item you want to add in the cars. Remember a car can hold a maximum of 300 slots. For example:
<type name="OffroadHatchback">
<!-- Car parts attachments goes here -->
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="Canteen" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="CanisterGasoline" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="EpoxyPutty" chance="1.00" />
</attachments>
<attachments chance="1.00">
<item name="TacticalBaconCan" chance="1.00" />
</attachments>
</type>
- Save the file and restart your server.
Yes Dayz can have flying cars !!!
- Make your server 70 slots.
- Become very popular so that your server has more than 60 players.
- Drive a car.
Dayz servers become very laggy when there are more thant 60 players playing, this makes car undrivable and sometimes makes them go off in the air.
Mapgrouppos isn't the file that tells the server where to spawn buildings. It's used to tell the server where to spawn loot. It has the centre point of each building and is used along with the mapgroupproto file to mark all the loot spawn points in buildings.
If this tutorial is helpul to you, feel free to contribute to my efforts of documenting how this game works by using the link below :
Here is a list of cool references that showed me how to customize a dayz server.
- DonSibleyGames discord server : has a community of modders and lots of examples.
- Bohemia Interactive Category:DayZ:Editing : provide some informations and examples.
- trugaming.com - DayZ: Other Game Info
- The Dead Return - How-To Customize A DayZ SA Server : basic stuff
- Bohemia interactive Dayz config File Github Repositpry
- You can also find lots of posts in Reddit.
If you wanna come play with me, you can join the server I code for : https://discord.gg/ew8GUwYMpr
See Ya !