How to install DNA Keycards and configure DayZ key rooms
Install DNA Keycards and CF to build keycard encounters on a DayZ PC server. Generate the profile, place one crate or strongroom, and configure its loot and reset conditions. Then join as a player and check the card interaction from arrival through a return visit.
This guide uses the original DNA Keycards, Workshop item 2714183642, by Dirty and Arrakis. It applies to Steam PC servers; console hosting cannot load this Workshop package.
Prepare one encounter and preserve the world
Section titled “Prepare one encounter and preserve the world”Start with one tier at a measured location. Write down the card it should accept, the rewards it should provide and the conditions for resetting it. A small vanilla loot set makes the first check easier to diagnose. Leave mobs disabled until placement and access work.
Use a restricted instance running the intended map. With the service stopped, back up the mission, persistence, profiles, packages, keys and startup arguments. When adding CF to an existing world, account for its author’s wipe requirement. Preserve that world’s save and use separate persistence for the rehearsal.
The configuration references have different dates: the reviewed wiki revision is July 2023, the public code snapshot is October 2022, and the Workshop listing records a September 2025 update. Compare the field names below with your installed release’s generated files and bundled help. Official configuration wiki
Install the original package and generate profiles
Section titled “Install the original package and generate profiles”In VXPanel’s Mods tab, search 2714183642 while the service is stopped. Confirm the Steam link and author, then select Install. Check Install all required mods for CF, item 1559212036, and retain the server-and-client scope for both packages. VXPanel mod controls
For manual installation, give each subscribed package its own server mod folder. Copy its supplied .bikey files into keys and retain signature verification. When the folders have these names, the argument is:
"-mod=@CF;@DNA Keycards"Add those entries to the complete mod list without dropping other required packages. Clients must load matching releases. The authors prohibit repacking DNA into a server pack, so retain the original distribution. Start the test instance to generate its files, inspect the RPT/script logs, and stop before editing.
Open DNA_Keycards in the active -profiles directory. The reviewed author code assigns the following files:
File beneath DNA_Keycards/ |
Job |
|---|---|
System/Main/KeyCard_Main_System_Config.json |
Choose placement modes, tier access and encounter behavior |
System/LootContainers/KeyCard_LootContainers_System_Config.json |
Limit quantities within each loot tier/category |
Loot/General/KeyCard_General_Config.json |
Assign general item classes to tiers and categories |
Loot/Weapons/KeyCard_Weapons_Config.json |
Define weapons with ammunition and attachments |
Loot/Clothing/KeyCard_Clothing_Config.json |
Define the clothing sets |
System/Other/ResetTimer_Config.json |
Enable resets and set delays and player-distance conditions |
System/Mobs/KeyCard_Mob_System_Config.json |
Select mob classes for strongrooms |
Save a copy of the whole generated directory, including files outside this table and all version fields. The dated author path definitions corroborate these paths. They describe that source revision, which predates the Workshop update.
Choose one placement owner
Section titled “Choose one placement owner”Crates and strongrooms have separate placement controls in the main configuration. Work on the family you selected for the first encounter and preserve the other families’ settings.
| Mode in the author’s placement reference | Result |
|---|---|
0 |
Use an external map-editing system to place objects; DNA placement is disabled |
1 |
Select the configured number of locations from the candidate list |
2 |
Spawn objects at every location supplied for that family |
Read the entry’s dna_Option label before changing dna_Setting. Preserve the generated entry order, since an option number taken from another release can point to a different setting. Author’s placement reference
To let DNA place the first encounter, choose static placement and keep one location in the selected tier’s array. Yellow crates use m_DNAYellow_Crate_Locations in the reference; yellow strongrooms use m_DNAYellow_Strongroom_Locations. Match those names to your generated file. A location entry holds its world vector in dna_Location and orientation string in dna_Rotation.
Measure position and orientation on your active map with a permitted editor or admin tool. Position uses x, height y and z; the orientation vector has a different purpose. Place the first object on open ground, then inspect the reader and the building’s entrances and exits. Measure new positions for DeerIsle or Namalsk rather than importing the bundled Chernarus coordinates.
Keep an unused tier’s property and empty its array. This fragment shows that shape; retain the rest of the main file:
{ "m_DNAYellow_Crate_Locations": []}The author warns against deleting the tier property. Avoid a 0.0 0.0 0.0 placeholder too: the empty array expresses the intended absence of locations. Before enabling random placement, make the usable candidate count at least equal to the requested spawn count and test the selection.
Place a room or door with DayZ Editor
Section titled “Place a room or door with DayZ Editor”When DayZ Editor Loader owns placement, disable DNA placement for that object family. Record the export containing the building and remove any second placement source. An editor export combined with DNA’s static list can load the room twice.
Choose the functional class for the intended tier from the installed help. In the author’s FAQ, _ColourBase identifies a base model without the tier function. A red encounter needs its concrete _Red class. Check the full name before exporting the object. Author’s FAQ
Some map-editing systems filter these assets for persistence, according to the placement wiki. Check the loader’s documented setting while retaining world persistence. Use the editor procedure for keycard doors and assets outside DNA’s placement families. For older double-door replacements, measure the position: the author’s change notes warn that a class-name swap can move them. Door-placement change notes
Configure the loot set and its quantities
Section titled “Configure the loot set and its quantities”Open the encounter before inspecting its rewards. The author describes cargo generation when a keycard crate is used, with a reward crate spawned as a strongroom opens. An unopened object can therefore have no cargo even when the configuration is valid. Encounter contents and opening behavior
Configure selection in KeyCard_General_Config.json and quantities in KeyCard_LootContainers_System_Config.json. Place each class under the intended tier/category, then inspect that category’s count limits. A disabled category can leave an encounter empty despite a valid item list.
For a medical reward, insert this single entry into the existing general-loot array without replacing its surrounding structure:
{ "dna_Tier": "yellow", "dna_Category": "medical", "dna_Type": "BandageDressing"}The fields follow the author’s general-entry schema, and the item is a vanilla class. Set the category’s count in the quantity file. Its documented controls use minimum/maximum quantities, with a maximum of 0 disabling the category. Ensure the minimum does not exceed the maximum. General loot fields, quantity controls
Begin with vanilla items the client can identify and remove sample classes from unloaded mods. Weapon packages and clothing sets use their own fields. Consult those schemas before editing their lists, then open an encounter to check the tier, attachments and cargo.
For scarce rewards, account for category behavior. The documented proprietary category spawns all listed entries, including repeats, while valuable has a chance control. Decide what card progression the reward permits. Returning cards to players can create a repeatable reward loop unless that outcome is part of your design.
Set up cards that receive the intended uses
Section titled “Set up cards that receive the intended uses”Spawn the inactive variant of a configurable colored card, hold it in your hands and use the Activate action shown by your installed release. Activation assigns its configured uses; the wiki gives DNA_Keycard_Yellow_Inactive as the yellow example. If a card shows a fixed zero or ten uses, check whether you spawned a pre-activated class. Keycard activation and usage
For natural card loot, register the selected types from the package in the active mission. Preserve other definitions and reconcile duplicate imports. To sell cards, use the format expected by your TraderPlus or Expansion Market installation. Each trader system needs its own configuration.
As an ordinary player, insert the card and remove it to open the crate or vault, following the author’s interaction sequence. Try the matching tier, a nonmatching tier and a spent card. Record uses after each interaction, then reconnect and compare. Treat the orange card as its documented single-use variant rather than applying the colored-card activation procedure to it.
Configure resets and check a return visit
Section titled “Configure resets and check a return visit”Open ResetTimer_Config.json alongside your installed instructions. Match its settings to the author’s documented controls:
| Setting | Meaning |
|---|---|
dna_UseResetTimer |
Turn on the reset timer |
dna_TimeBetweenChecks |
Set how long the timer waits between checks |
dna_ResetCrates / dna_ResetStrongrooms |
Activate resetting for that object family |
dna_TimeUntilYellowCrateResets |
Set the minimum wait after a yellow crate opens |
dna_Min_Distance_Between_Nearest_Player |
Require the nearest player to be beyond this distance |
Time values use whole minutes, and distances use meters in the reference. Pick an observable test delay, move beyond the configured distance and allow both the delay and check interval to pass before returning. Remaining beside the encounter can prevent the reset. Reset timer reference
Repeat the test for each family you enable. The documented timer groups wood and keycard crates together, but gives small crates separate options. Record a small-crate result if you intend to use that family.
The Workshop author recommends a restart at least every four hours, citing unreliable functions during longer runs. Build that constraint into your operating plan with VXPanel restart schedules. This interval comes from the author; VYKIX has not measured it as a capacity limit.
The October 2022 source also contains a midnight warning in its generated timer defaults. Check whether your installed timer file retains that warning and test a return visit across the affected clock boundary. That dated warning does not establish the current binary’s behavior. Dated timer defaults
Diagnose the encounter and recover
Section titled “Diagnose the encounter and recover”Before updating the package, save a stopped backup outside the active DNA directory. The reviewed public code migrates older configurations by backing them up under DNA_Keycards/ConfigBackups and generating replacement defaults. If the update log reports this action, compare the new defaults with your saved settings before reopening access. Reapply supported settings without overwriting the new schema with an obsolete file. Dated author migration implementation
| Symptom | Check first |
|---|---|
| No crate or room appears | Inspect the family mode and tier property, then the position and active profile |
| Rooms overlap or readers are duplicated | Compare editor exports with DNA placement and remove the second source |
| Card uses differ from the setting | Check the inactive class and hand activation against the tier configuration |
| Matching color fails to open it | Confirm the functional class, access rules, remaining uses and insert/remove sequence |
| Cargo is empty or incomplete | Check loaded classes and JSON errors, then tier/category selection and count limits |
| An opened encounter stays open | Check timer/family activation, minute values, nearest-player distance and check interval |
| Mobs fail or spawn inside walls | Disable mobs while checking their classes, counts and placement geometry |
The strongroom mob file has its own class slots, which the author says do not support armed AI. Configure Expansion AI patrols through that mod’s separate system. Verify interactions, rewards, resets and escape routes with a joined player; a server startup cannot cover those checks. Strongroom mob reference
Before release, ask an ordinary player to complete the encounter and return after leaving. Check a reconnect and a stop/start for room placement, card state and cargo. Record the build, map, package versions and results. To roll back configuration or placement, stop the service and restore matching DNA profiles and changed mission/editor files. Retain the world backup and follow mod removal before removing DNA or a shared dependency.