Central Economy Configuration – DayZ

From Bohemia Interactive Community
Jump to navigation Jump to search
Line 2: Line 2:
== cfgEconomyCore.xml ==
== cfgEconomyCore.xml ==
=== Root Classes ===
=== Root Classes ===
Root classes are parent classes of entities which will be used by the central economy. This allows you to specifically define what you want to be a part of the economy and what should stay omitted.
'''Attributes:'''
* '''name''' - name of entity type
* '''reportMemoryLOD''' - default is yes, this allows to turn off console messages about missing memory LODs
* '''act''' - sets entity type (none/character/car)
If "act" type of entity is set to none (or is missing), the entity is considered to be loot. Make sure to properly define entities as character/car where needed since economy sets them up in a different way.
Default setup:
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<economycore>
<economycore>

Revision as of 16:20, 6 March 2019

Template:Stub

cfgEconomyCore.xml

Root Classes

Root classes are parent classes of entities which will be used by the central economy. This allows you to specifically define what you want to be a part of the economy and what should stay omitted.


Attributes:

  • name - name of entity type
  • reportMemoryLOD - default is yes, this allows to turn off console messages about missing memory LODs
  • act - sets entity type (none/character/car)

If "act" type of entity is set to none (or is missing), the entity is considered to be loot. Make sure to properly define entities as character/car where needed since economy sets them up in a different way.


Default setup:

<economycore>
    <classes>
<!--
These are rootclasses to be used by economy.
Do not forget to add attribute act="character", if root class represents character (player, infected, animal)
Do not forget to add attribute act="car", if root class represents moveable vehicles
-->
        <rootclass name="DefaultWeapon" /> <!-- weapons -->
        <rootclass name="DefaultMagazine" /> <!-- magazines -->
        <rootclass name="HouseNoDestruct" reportMemoryLOD="no" /> <!-- houses, wrecks -->
        <rootclass name="Inventory_Base" /> <!-- inventory items -->
        <rootclass name="SurvivorBase" act="character" /> <!-- player characters -->
        <rootclass name="DZ_LightAI" act="character" /> <!-- infected, animals -->
        <rootclass name="Car_DZ" act="car" /> <!-- cars (sedan, hatchback, transitBus, V3S, ...) -->
    </classes>
</economycore>

Default Values

All variables have some hard-coded "default", for gameplay balancing, testing or mod support.

<defaults>
    <default name="world_segments" value="1" />
    <default name="dyn_radius" value="20" />
    <default name="dyn_smin" value="0" />
    <default name="dyn_smax" value="0" />
    <default name="dyn_dmin" value="0" />
    <default name="dyn_dmax" value="5" />
    <default name="save_events_startup" value="false" />
    <default name="save_types_startup" value="false" />
</defaults>
Variable Type Default Description
world_segments Integer 12 Defines how in many segments world will be split by CE - this affects save, load, cleanup and other processing events - it's performance wide for huge maps (note that default value is for Chernarus map!)
backup_period Integer 60 Period of regular backup creation (minutes)
backup_count Integer 12 Count of backups to keep - folders
backup_startup Boolean false Process backup at startup of server
dyn_radius Float 20 Default value for dynamic infected zone - size of the zone (meters)
dyn_smin Float 0 Default value for dynamic infected zone - minimal static count
dyn_smax Float 0 Default value for dynamic infected zone - maximal static count
dyn_dmin Float 0 Default value for dynamic infected zone - minimal dynamic count
dyn_dmax Float 5 Default value for dynamic infected zone - maximal dynamic count
save_events_startup Boolean on If disabled, no data/events.bin is created at startup (usefull for minimal hive setup)
save_types_startup Boolean on If disabled, no data/types.bin is created at startup (usefull for minimal hive setup)
log_hivewarning Boolean on enable/ disable some of the hive warning messages in console
log_storageinfo Boolean off enable/ disable periodic storage info messages in console (if CE stores files)
log_missionfilewarning Boolean on enable/ disable console warning messages about mission files (typically sandbox mode does not require them all)
log_celoop Boolean off enable/ disable logging of CE loop timing and basic statistical info
log_ce_dynamicevent Boolean off enable/ disable logging of CE specific - dynamic events specific
log_ce_vehicle Boolean off enable/ disable logging of CE specific - vehicle specific
log_ce_lootspawn Boolean off enable/ disable logging of CE specific - loot spawn specific
log_ce_lootcleanup Boolean off enable/ disable logging of CE specific - cleanup specific (not just loot actually)
log_ce_lootrespawn Boolean off enable/ disable logging of CE specific - loot respawn specific
log_ce_statistics Boolean off enable/ disable logging of CE specific - statistical data
log_ce_zombie Boolean off enable/ disable logging of CE specific - infected related
log_ce_animal Boolean off enable/ disable logging of CE specific - animal related

Persistence backups

Chernarus is a large map which contains a vast amount of objects which need to be controlled by the central economy. In order to do so in a performance-friendly fashion, map is split into segments which are then individually saved in a periodic intervals. Since most of the server uptime a segment of Chernarus is in the process of being saved, a server crash or other technical difficulties may corrupt the segment and in turn compromise the persistence. For this reason, an automated backup system has been created which can be configured by the following variables of the cfgEconomyCore.xml:

world_segments

Defines the number of world segments.

Default value "12" is set with a Chernarus in mind, if you are running another map with a different size/loot economy/amount of entities, you may want to adjust the amount of segments to its specifications.

backup_period

This configures how often are persistence backups created.

Every X minutes, a new backup of the current persistence will be created, overriding the oldest backup based on the backup_count variable. Minimum value "15", default is "60".

backup_count

This determines the amount of kept persistence backups.

If set to "3" with a backup_period of "20", it will keep 3 backups made over period of one hour, and after 80 minutes it will override the oldest one. Default value is "12".

backup_startup

This will create backup on the server immediately after server finished load operations and initial/additional respawn.

Default is "false".