Skip to content

Install Custom Keycards on a DayZ server

By

Updated

Install Custom Keycards and CF on the server and joining clients, then configure one door before adding loot or more locations. Use Evgeny__N’s original Custom Keycards package, Workshop item 2810212624. DNA Keycards is a separate mod with different configuration files.

The author’s wiki describes version 4.1.3, dated 2 January 2025. Check the installed package against that documentation before applying the settings below. The current package and gameplay have not been tested here.

Install the mod and find its configuration

Section titled “Install the mod and find its configuration”

Stop the server and back up the active mission, world storage, profiles and launch settings. Use a separate instance to try the configuration before adding it to a world players use.

Install the original package and CF (1559212036) through VXPanel Mods with client-visible loading. The author’s listing names CF as a required item; check for any changed requirements before installing. For a manual host, follow the mod installation and signing-key procedure. Keep signature checks enabled and match the client and server releases. The author’s listing prohibits repacking, reuploading and monetizing the mod’s content.

Start the server once, check for loading errors, then stop it before editing. The configuration reference places these files beneath the active profiles directory:

CustomKeycards/
0_Logs/
Locations/
LootTables/
Static_Locations/
itemsRename.json

Locations defines added keycard doors. Static_Locations configures doors in existing buildings. LootTables holds the item presets used by their crates. Check the active profiles path and startup log if these folders don’t appear.

An empty configuration folder causes the mod to generate its default example at startup. Review those examples before players join. Clearing a folder is therefore unsuitable as a way to disable its locations.

Start with the generated Locations/0_DefaultLocation.json. Keep its outer LocationName and KeycardDoors structure, then configure one door using the door reference.

Choose the door’s ClassName from the installed package’s .INFO/ClassNames.txt. If the package lacks .INFO, get matching instructions from the author before using an older classname list. Supply the door’s measured Position and Orientation; the repeated 1234.567... coordinates in the wiki are placeholders. Keep Scale at 1.0 for the first check.

The author warns that placing Custom Keycards doors through DayZ Editor or VPP produces ordinary doors. Let the mod’s location configuration create the keycard door. Remove any duplicate editor placement before checking whether the closed door blocks passage.

Set ItemsToOpen to the exact classnames of the cards you intend to distribute. The wiki’s example accepts evg_keycards_Tisy01 and evg_keycards_Red. Verify those names against the installed release. The setting accepts item classnames, so a wrong or overly broad choice changes who can open the door.

AutoCloseTime is measured in seconds. The documented example uses 60; 0 leaves the door open until a server restart. DamageToItem applies health damage to the opening item. A value of 30 does not mean 30 percent, and it does not establish a fixed number of uses for every card.

Leave alarms, notifications and crates disabled or empty while checking the first door. Validate the JSON, restart and look for the loaded-location count in script.log. Use an ordinary player account with the intended card, a different card and no card. Check card condition after opening, the closing delay, collision and access after reconnecting.

For an existing map building, use a file in Static_Locations with the KeycardBuildings structure. Each entry identifies a building by BuildingClassName and BuildingPosition, then lists its doors in BuildingDoors.

The author’s building instructions use EVG_CustomKeycardsHelper to collect those values. On your separate instance, spawn the helper with your admin tool and hold it near the building. Its building-data action copies the details to the clipboard. Near a door, another action displays that door’s ID.

Paste the building details into your configuration and put the observed ID in DoorId. Replace CoolBuilding_ClassName and the placeholder coordinates from the example. If the building cannot be found, the wiki says script.log records an error. Recheck the classname and position before changing the door’s access settings.

The door uses the same card, damage and closing settings described above. Check every entrance players can reach; configuring one door doesn’t establish that the whole building is secured.

Add a crate inside the working door’s LootCrates array. Choose its classname from .INFO/ClassNames.txt, measure its position and orientation, and set its own SpawnChance. That chance is a percentage from 0 to 100.

Choose when the crate appears:

SpawnType Documented behavior
0 Creates the crate at server startup.
1 Creates it when the door opens and removes it when the door closes.
2 Creates it when the door opens, without the close-triggered removal.
Scroll to see all columns →

With SpawnType: 1, treat the door’s closing timer as a deadline for collecting loot. Check what happens to remaining contents on your installed release. The wiki doesn’t define a refill cooldown or promise that type 2 preserves a crate across restarts.

The crate’s UnlockTime, ItemsToOpen and DamageToItem control a separate unlocking action. The documented example uses a lockpick and a five-second unlock; UnlockTime: 0 leaves the crate unlocked. These settings don’t change which card opens the door.

Create LootTables/FirstRoom.json with a small preset, such as this one adapted from the author’s loot-table format:

{
"LootTable": [
{
"SpawnChance": 100.0,
"VariantsClassNames": [
"NailBox"
],
"MinAmount": 1,
"MaxAmount": 1,
"MinQuantity": -1.0,
"MaxQuantity": -1.0,
"MinHealth": 100.0,
"MaxHealth": 100.0,
"Attachments": [],
"Cargo": []
}
]
}

Set the crate’s LootTableNames to ["FirstRoom"], without the .json extension. If you list several presets, the author says the mod chooses one at random. A guaranteed item chance does not override the crate’s own spawn chance.

MinAmount and MaxAmount set the item count. Quantity uses the item’s own units: magazine rounds, for example. -1 requests maximum quantity. Health uses a percentage from 0 to 100; 100 requests full health. Keep each minimum no greater than its maximum.

For a larger preset, fill EVG_LootCrateHelper with the intended items, attachments and cargo. Hold EVG_CustomKeycardsHelper and use its loot-table action. The result goes to your clipboard; paste it into a JSON file in LootTables and validate it before restarting. Keep both helper items out of ordinary player distribution.

Use the installed package’s .INFO/types.xml with the custom loot registration procedure. Merge only the definitions you need, retain your existing economy files and avoid duplicate item entries. Registering a card in the economy doesn’t add it to a door’s ItemsToOpen list.

To change card labels, use itemsRename.json. Set Enabled to 1 and edit the matching ItemRenames entries. ItemNewName and ItemNewDescription change the displayed text; continue using the original ItemClassName in door and loot configuration. The documented renaming feature applies to keycards only.

Custom textures require a separate addon following the author’s retexture instructions. Keep that addon within the author’s usage terms and check its classnames separately before using them in a location.

When upgrading from a version before 4.1.0, copy the entire CustomKeycards folder outside the active profiles directory first. The author describes an automatic conversion of the old config.json into Locations/0_ConvertedConfig.json, with the old file renamed to config.old. Compare the converted doors and settings with your backup before admitting players. The renamed file alone is not a complete server backup.

After a configuration or package update, repeat the ordinary-player checks for the door, card damage, crate unlock, item contents and restart behavior. Read CustomKeycards/0_Logs alongside the server log; the mod logs door openings, automatic closing and crate unlocking. Redact player names and Steam64 IDs before sharing those logs.

Restore the matching mission, world storage, profiles and mod versions on the separate instance, then repeat the same checks. Keep the version numbers and results with the backup so the next update has a known configuration to compare against.

The author’s seven wiki pages were read on 7 October 2026 at revision aba413818d1e1b7b398c2f96c233066f70add514, dated 2 January 2025. Four complete configuration examples parse as JSON. This is an AI-assisted, documentation-based procedure; current package contents, game behavior, permissions and backup recovery remain untested here.

DayZ hosting for your community.

Review DayZ plans with VxShield DDoS protection and no added player-slot fee.