How to install DayZ Expansion on a PC server
To install DayZ Expansion, choose the features you want, install the matching Workshop packages and dependencies, then configure the active mission. After the mods load, check that players can join, loot spawns naturally and traders work.
This procedure covers DayZ Steam PC with VXPanel or a self-managed server. Xbox and PlayStation servers cannot load these Steam Workshop packages. For a first installation, start with one feature. The example below installs Expansion Market with its required frameworks and Core; add other modules after that installation passes its checks.
Prepare a stopped test copy
Section titled “Prepare a stopped test copy”Start with a server that accepts a client join before adding Expansion. Keep its build, map, launch parameters, mission and installed-mod list in your change record. Follow PC server setup if that baseline is missing.
Take a stopped backup of the active mission, saved world, profiles and mod data. Rehearse on a separate instance with separate persistence. Installing a framework into an existing world can introduce storage compatibility requirements. Review the framework’s current migration instructions before using a live save.
Locate the active mission from the server’s selected template, and resolve the profiles directory from its launch settings. Do not assume that a directory named profile, sc or config is the one this service uses.
If this is the world’s first CF installation, CF’s author requires a server wipe before installing it. Rehearse with a fresh test world and plan the live change with a recoverable backup. Loading the frameworks does not migrate a saved vanilla world.
Choose modules before downloading
Section titled “Choose modules before downloading”Use the feature procedures for Hardline reputation and trader policy, Chat channels and recipients and Name Tags range and zones. With Bundle, configure the included features and avoid loading another package that supplies the same module.
The Expansion installation reference supports individual modules or the Bundle. Core is a foundation package; it does not supply every Expansion feature.
For the Market example, the author’s Workshop page lists these requirements:
| Package | Workshop ID | Job in this installation |
|---|---|---|
| CF | 1559212036 |
Required framework. |
| Dabs Framework | 2545327648 |
Required framework. |
| DayZ-Expansion-Core | 2291785308 |
Expansion foundation. |
| DayZ-Expansion-Market | 2572328470 |
Market system. |
Check the required-item list again when installing. Keep the packages on the same supported release branch; an Experimental item is a different choice from the stable item linked here.
If you want the broader suite, use the Bundle author’s package and its required items. At this review it lists CF, Dabs Framework and Expansion-Licensed. Licensed is a separate package. Avoid loading the Bundle alongside individual packages that duplicate its modules. Expansion-Animations is optional in the installation reference; read its requirements before adding it.
Check Core and the separate framework requirements
Section titled “Check Core and the separate framework requirements”Compare the chosen feature’s own required items with these frameworks. The original listings showed these requirements on 3 October 2026:
| Package | Original ID | Required items shown on that listing |
|---|---|---|
| CF | 1559212036 |
No other required item listed; follow the first-installation wipe requirement |
| Dabs Framework | 2545327648 |
No other required item listed |
| Expansion Core | 2291785308 |
CF and Dabs Framework |
| Expansion Licensed | 2116157322 |
CF and Dabs Framework |
Expansion features use Core as their foundation. Licensed is a separate asset package with its own terms, and supplies neither Core nor every feature. Follow the selected Bundle or individual feature’s requirements as well as this table. An omitted dependency can stop compilation before its trader, vehicle or menu can be tested.
Load the original client/server packages with their supplied keys and required dependency order. Configure the chosen feature after joining with matched client files: frameworks alone do not place a patrol, create a trader or assign administrator permissions. When removing a feature, keep frameworks still required by another installed package.
Install the Expansion Bundle
Section titled “Install the Expansion Bundle”For the suite, select Bundle 2572331007. Its feature modules exclude Licensed and Animations. Supply its required CF, Dabs Framework and Licensed 2116157322 packages, then inspect the proposed test load list for overlapping individual modules. Preserve the requirements and documented order of your other mods.
The author’s Bundle argument uses these manual folder names:
"-mod=@CF;@Dabs Framework;@DayZ-Expansion-Bundle;@DayZ-Expansion-Licensed"In VXPanel, use the Workshop IDs and compare Installed mods with that scope. Core, Market, AI and Quests are already in Bundle. Remove separate copies of those modules from the list, then follow the key, matching-mission and generated-settings steps below.
Configure and test each feature you enable. Use the procedures for Market transactions, AI patrols and quest acceptance and rewards for their acceptance checks. The recorded Market-only startup test leaves Bundle and these feature behaviors unverified.
Add Expansion Animations to the chosen installation
Section titled “Add Expansion Animations to the chosen installation”Select the stable Animations item 2793893086 if you want this optional package alongside Bundle. The author describes animations for Expansion vehicles; vehicle content and its dependencies come from other packages. Installing Animations alone will not add a helicopter or boat. The stable July 15 change notes name update 1.9.71 and its DayZ 1.29 animation-graph changes.
With the Bundle installation above, install Animations in client-required scope and copy its signing key. Extend the quoted -mod value with the folder name you installed:
"-mod=@CF;@Dabs Framework;@DayZ-Expansion-Bundle;@DayZ-Expansion-Licensed;@DayZ-Expansion-Animations"Review current requirements before an update and distinguish the item ending in Animations-Experimental. Restart, join with matching client files and inspect the intended entry, exit and seating animations on your chosen vehicle. Retain its class and package versions with the result. Test economy spawning and physics as separate behaviors.
The Animations author warns that only one animation mod can be loaded at a time. Check your existing animation packages before adding this one, and follow an explicit compatibility procedure from their authors if available. Don’t assume changing their order will make conflicting packages work together.
Choose the separate DayZ-Expansion feature module
Section titled “Choose the separate DayZ-Expansion feature module”The Main module is the item named DayZ-Expansion 2116151222; Bundle uses 2572331007. The original Main listing requires CF, Dabs Framework and Core and describes Chernarus mapping, grave crosses, autowalk and a player list. The reviewed author page carries no deprecation label.
Use this client-required argument for a separate Main installation with matching folder names:
"-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion"Prepare the matching mission after installing required packages and keys. Review generated GeneralSettings.json before enabling map changes, then test the selected feature on your terrain. Other individual systems need their own packages. Bundle already contains Main, so omit a separate Main item from a Bundle installation. Resolve this package choice before using a load list found through a general “DayZ Expansion” search.
Install in VXPanel
Section titled “Install in VXPanel”- Stop the test service and open Mods.
- Search by Workshop ID. Open the Steam link to confirm the publisher and package.
- Choose Install for each client-required package. If the panel reports dependencies, use Install all required mods, then compare the result with the author’s list.
- Wait until each package appears under Installed mods. Check the client scope and load order.
- Put the frameworks before Core, and Core before Market. Keep the documented order of any other mods you retain.
The VXPanel Mods reference describes those controls. Update catalog refreshes Workshop metadata, and Check updates compares timestamps. Neither action installs an update. Confirm your service’s update workflow before relying on a restart to refresh files.
Use Files and SFTP for the mission edits below. Let the panel manage its mod bindings; a second hand-written launch list can drift from the installed list.
Install on a self-managed server
Section titled “Install on a self-managed server”Copy complete Workshop package folders into your server directory, and deploy their .bikey files into the server’s root keys/ directory. Keep verifySignatures = 2 enabled. The general mod installation guide covers transfers, permissions and signing keys.
For folders named as shown, the Market-only loading argument is:
"-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-Market"Add that argument to the working launch command while retaining its config, ports, mission selection and profiles path. Use the exact installed folder names, including spaces and case. These packages belong in the client-required mod list, rather than -serverMod=.
Launch through the command or service that uses this argument. Starting the server through another shortcut can use a different mod list. Check the actual launch line in that run’s RPT; redact credentials and private paths before sharing it. Copying folders and keys alone does not load the packages.
For a Bundle installation, follow the author’s Bundle loading example and its separate Licensed dependency. Do not append the Market-only list above to a Bundle installation. On a Linux deployment, verify package support and preserve case in every referenced path.
Merge the files for the features you installed
Section titled “Merge the files for the features you installed”Download the current Expansion mission templates. Read README_TUTORIAL.txt, choose the template for your terrain and review its contents against the modules you installed.
For Expansion items, vehicles or weapons that you want in the economy, the template provides an expansion_ce/ directory. Copy the needed files into the active mission and merge their registrations into its existing cfgeconomycore.xml. For a matching installation that supplies all the registered classes, the Chernarus template contains this block:
<ce folder="expansion_ce"> <file name="expansion_types.xml" type="types" /> <file name="expansion_spawnabletypes.xml" type="spawnabletypes" /> <file name="expansion_events.xml" type="events" /></ce>Place it before the existing closing </economycore> tag. Keep the rest of the file. Check that each referenced file exists and that its classes belong to loaded packages. Do not register the full suite’s item and vehicle files for a Market-only installation. That example installs trading, not every class in the Bundle’s economy template.
If you add Expansion vehicle events, merge their terrain-specific spawn positions into the existing cfgeventspawns.xml as the README directs. Preserve the surrounding root and existing events. Measure positions on your map instead of assuming coordinates from another terrain will work.
For Market, review the template’s expansion/ content and follow Expansion Market trader setup. NPC placement, market inventories and trader zones have separate files. Copying economy XML does not create a working trader.
Check what your terrain’s template supplies
Section titled “Check what your terrain’s template supplies”Install the community terrain and its own working mission first, using the map-change procedure. Confirm a player can join before adding Expansion. Merge Expansion’s files into that mission; a directory such as Template/0_INCOMPLETE/DeerIsle is a set of additions, not a replacement mission to select in serverDZ.cfg.
The author’s template tree at revision 248dd215, dated 15 February 2026, contains these groups:
| Template directories | Files supplied in this revision |
|---|---|
Chernarus, Chiemsee, Namalsk, TakistanPlus |
Economy and event-spawn files, plus .map placements under both expansion/objects/ and expansion/traders/. |
Enoch |
Economy and event-spawn files, with no object or trader .map placements. Being outside 0_INCOMPLETE doesn’t mean it includes trader camps. |
0_INCOMPLETE/: Banov, DeerIsle, Esseker, Iztek, Rostow, Valning |
Each directory contains economy and event-spawn files, with no object or trader .map placements. Further terrain-specific setup is required. |
Use the table to locate files, then check the template and terrain versions together. If your terrain’s installation guide lists unresolved requirements, resolve those before adding Expansion. Inspect a newer template’s contents before using it.
Copy trader camps into the active mission
Section titled “Copy trader camps into the active mission”With the server stopped, merge the matching template’s expansion/ directory into the active mission, preserving your existing files. The author’s mission instructions use these two subfolders:
expansion/objects/*.mapplaces the camp’s buildings and props.expansion/traders/*.mapplaces the trader NPCs or objects. Market must be loaded and enabled for the trader loader to run.
If the template has no expansion/ directory, create it in your mission with empty objects/ and traders/ subfolders. Empty folders won’t create a camp: use the trader-placement procedure to choose positions on your terrain and configure the trader inventory and zone. Don’t copy another terrain’s coordinates to fill the gap.
Keep the folder depth exact: <active-mission>/expansion/objects/, rather than an extra Template/<terrain>/ layer. Compare duplicate filenames before merging so you don’t overwrite custom placements or spawn the same camp twice. The release loader reads mission placements separately from Main’s built-in map enhancements; turning on UseCustomMappingModule is not the step that installs these files.
Restart the test service, visit the camp with an ordinary player and check that its props, NPCs and trade interaction work. Complete a purchase and sale, then restart again. If a placement fails, stop and restore the affected mission files from your backup; keep the failure logs and saved world for diagnosis.
Merge template changes after an Expansion update
Section titled “Merge template changes after an Expansion update”Updating the Workshop packages is only part of the job. Review the new matching mission template before reopening, including expansion_ce/, its cfgeconomycore.xml registrations, vehicle positions in cfgeventspawns.xml, and any expansion/objects/ or expansion/traders/ placements you use.
Keep the previous author template, your edited mission and the new author template as three separate copies. Use the three-copy comparison procedure to identify both your customizations and the author’s changes. Merge the required additions into a stopped test copy. Preserve the surrounding XML roots and unrelated entries; check renamed or removed classnames against the new packages instead of restoring the entire old file over the update.
Keep your separate economy override files and confirm that the updated mission still registers them. Review attachment and cargo overrides too: their old lists can hide changes to the corresponding new stock entry. Parse the resulting XML and JSON, then test joins, natural loot, intended vehicle spawns and trading before a restart/recovery check. Retain the old compatible packages, mission, profiles and saved data as one rollback set. A successful Workshop download doesn’t show that the merged mission works.
Check Expansion Weapons before merging its loot
Section titled “Check Expansion Weapons before merging its loot”The author’s installation reference identifies DayZ-Expansion-Weapons as item 2792985069. Check that item’s current requirements and terms before installing it separately. For an existing Weapons installation, compare your package’s classnames with the economy entries you plan to merge. The full-suite mission template contains other modules’ content too.
The Chernarus template at revision 248dd215, dated 15 February 2026, sets both nominal and min to 0 for Expansion_M14, Mag_Expansion_M14_10Rnd and Mag_Expansion_M14_20Rnd. Copying those entries unchanged does not enable their natural loot supply. Choose quantities and locations for the rifle and compatible magazines together, using the loot configuration guide.
Check attachment names before raising those quantities. The same template’s M14 spawnable entry names Mag_Expansion_M1A_20Rnd and Mag_Expansion_M1A_10Rnd. The M14 configuration in release source 1.9.73, dated 6 September 2026, accepts the two Mag_Expansion_M14_… classes instead. Resolve this mismatch against your installed package and matching author files before using the attachment entry. These source snapshots do not establish which classes your current Workshop download supplies.
For optics, the M14 attachment code at that release revision requires Expansion_M1A_RailAtt during normal attachment and prevents removing the rail while an optic is fitted. Check fitting and removal, then reconnect and restart with the equipped rifle to check that its parts survive saved-state loading.
Test natural loot separately from an admin spawn. If you use traders, also check their magazine and attachment classnames through Expansion Market setup. Keep the original saved world while diagnosing a missing item or rejected attachment; deleting persistence will not reconcile mismatched classnames.
Start once and inspect the generated settings
Section titled “Start once and inspect the generated settings”Configure events, attachments and key policy through Expansion vehicles and car keys, then verify the saved world.
Configure the building module through Expansion BaseBuilding and territories. Include the required Licensed package and review access in the installed release.
Start the test service with the selected packages and read the logs from that run. Expansion creates settings under ExpansionMod/ in the active profiles directory; some map-specific settings live under the mission’s expansion/ directory.
Stop before editing generated JSON. Keep its schema fields and m_Version. Prefer the files produced by your installed release over a complete JSON file copied from an old video. Validate syntax before uploading, then change one setting and restart to test it.
For Market-only installs, compare each generated trader’s Categories references with the files under ExpansionMod/Market/. Check for trader references to Spraycans and Launchers when those categories are absent. The author’s default-category code makes those categories conditional on additional modules. In a stopped test copy, remove references to categories you do not intend to provide, preserving the inventory’s other fields. Restart and check the errors again before placing or testing traders.
For startup or join errors, save the RPT, script or crash log and the exact package list. Check missing dependencies, folder names and client versions before deleting settings or persistence. Use missing-PBO troubleshooting for rejected clients.
Configure GeneralSettings.json
Section titled “Configure GeneralSettings.json”With Main installed separately or through Bundle, open ExpansionMod/Settings/GeneralSettings.json in the server’s active profiles directory. Stop and back it up before editing. The release-source settings class defines the controls below. Preserve the structure generated by your installed release and leave m_Version alone.
| Controls | What they affect |
|---|---|
DisableShootToUnlock |
Setting this to true prevents shooting a locked world-building door open. It isn’t a policy for every modded base door; review those mods’ own raid settings separately. |
EnableGravecross, EnableAIGravecross |
Enable grave storage for player or AI deaths respectively. GravecrossDeleteBody controls removal of the body after the cross is created. Test with expendable gear before relying on it to recover a player’s inventory. |
GravecrossSpawnTimeDelay, GravecrossTimeThreshold |
The first is the delay in seconds before cross creation. The second is the playtime threshold used to choose the normal cross instead of the shorter-lived cross; it is not the cross’s lifetime. The creation code selects the short-lived class when recorded playtime is at or below that threshold. |
The Mapping object |
Contains UseCustomMappingModule and its Mapping location list, BuildingInteriors and its Interiors classname list, and BuildingIvys. These are separate controls for built-in map additions, interior props and ivy. Disabling custom mapping alone leaves the other controls unchanged. |
EnableLamps, LampAmount_OneInX, LampSelectionMode, EnableLighthouses |
Control street lighting, the fraction of lamps selected, their distribution and lighthouse beams. For example, LampAmount_OneInX: 3 selects roughly one lamp in three; the release source requires a value of at least 1. Distribution names are RANDOM, FARTHEST and FARTHEST_RANDOM. Inspect overlapping lights and client performance before increasing density. |
EnableAutoRun, EnableEarPlugs, DisableMagicCrosshair |
Control autorun, the earplug feature and Expansion’s alternate hip-fire aiming behavior. The crosshair setting changes aiming behavior, so check it with your weapons and laser attachments instead of treating it as a cosmetic toggle. |
EnableHUDNightvisionOverlay, UseHUDColors, HUDColors |
Select the Expansion night-vision overlay and whether to use the configured HUD colors. Keep color entries inside the existing HUDColors object. Check readability with the actual night-vision item and HUD states you use. |
UseDeathScreen, UseDeathScreenStatistics, UseNewsFeedInGameMenu |
Control the Expansion death screen, its statistics display and the pause-menu news feed. Set UseNewsFeedInGameMenu to true when you want the news configured in SocialMediaSettings.json to appear. |
UseExpansionMainMenuLogo, UseExpansionMainMenuIcons, UseExpansionMainMenuIntroScene, InGameMenuLogoPath |
Control Expansion’s main-menu presentation and the pause-menu logo resource. Use an image resource supplied by a loaded package for the logo path. |
Check older examples against the mapping class. Its controls are nested inside Mapping in this release, although the GeneralSettings wiki lists them as individual headings. The author warns that custom mapping and interiors conflict with NatureOverhaul. Start with those additions disabled when resolving that combination, and test the terrain before enabling either.
The wiki’s lamp values also differ from the release enum, which names four modes: 0 Disabled, 1 RequireGenerator, 2 AlwaysOn and 3 AlwaysOnEverywhere. Keep the generated mode until you have checked your installed version. The wiki marks EnableGenerators as unused; don’t rely on that flag to supply working town generators.
Validate the JSON, restart and check the feature you changed with a connected client. Test map additions where they actually load, and verify grave contents before and after a normal restart when changing death storage. Restore the saved configuration if the result differs from your intended behavior; don’t wipe persistence to diagnose a menu or lighting setting.
Change logs, notifications and player menus
Section titled “Change logs, notifications and player menus”Open ExpansionMod/Settings/ inside the server’s active profiles directory after the first successful start. The five files below use that location in the author’s 1.9.73 path definitions. These are server settings; the player’s local Expansion preferences are separate.
Core loads the logging, notification and core files. The Main module loads the player-list and social-media files. Main is included in Bundle; the Market-only example above doesn’t include it. If a file is missing, check the loaded modules, profiles path and startup errors before creating a file by hand.
| File and author reference | What to change |
|---|---|
| LogsSettings.json | Choose which Expansion actions are recorded. For example, enable Market to record trading actions or VehicleCarKey for key pairing and vehicle locking. Flags such as Party, Chat and Killfeed control their respective logs. A logging flag doesn’t install or enable the feature itself. |
| NotificationSettings.json | Set ShowPlayerJoinServer and ShowPlayerLeftServer for join and leave messages. Their JoinMessageType and LeftMessageType values select chat (0) or an on-screen notification (1). Keep EnableNotification enabled when testing notifications. EnableKillFeed and the individual KillFeed… fields control death announcements; recording those events uses the separate logging file. |
| PlayerListSettings.json | EnablePlayerList lets players view the online list. EnableTooltip controls the player-stat tooltip, including kills and distance travelled. Disable the tooltip if you want the list without those stats. |
| SocialMediaSettings.json | Edit NewsFeedTexts entries using m_Title and m_Text for pause-menu news. In NewsFeedLinks, set m_Label, retain a valid m_Icon, and replace m_URL with your community’s actual destination. Check every link from a connected client; generated placeholder links aren’t your community profiles. |
| CoreSettings.json | Contains core behavior such as EnableInventoryCargoTidy, which enables the inventory’s tidy-cargo control. Leave update-rate and economy-lifetime settings at their existing values unless you are deliberately testing those behaviors. |
Older guides call the last file DebugSettings.json. The author renamed it to CoreSettings.json; the release loader also checks for the legacy filename. Back up both files if an old installation contains both, then inspect the file produced by your installed release. Don’t create another DebugSettings.json to follow an old tutorial. CoreSettings.json isn’t a general debug switch: for example, enabling ForceExactCEItemLifetime changes economy cleanup behavior and carries an author warning about possible performance loss.
Stop the test service and save a copy of the generated file before changing it. Preserve m_Version, field names and the JSON structure, then validate the edited file and restart. For join messages, have a second player connect and leave while you watch; for menus, reconnect and inspect the list, tooltip or pause menu. For logging, perform an action supported by a loaded module and find that event in the new logs. If the change fails, stop, keep the failed run’s logs and restore the saved settings file from the same module version. Keep the saved world intact.
Check the result before opening the server
Section titled “Check the result before opening the server”| Check | Required observation |
|---|---|
| Client join | An updated client loads the advertised packages and joins without a signature or missing-PBO error. |
| Selected feature | The installed module’s feature works. For Market, complete the trader guide’s purchase and sale checks. |
| Economy content, if added | The intended classname appears in a permitted location. An admin spawn alone does not prove natural loot works. |
| Supported restart | The same saved test character, items and module data return after a normal stop and start. |
Record the build, package versions, map, changed paths and observations. Keep the startup log with the player and economy results; a clean log doesn’t replace those in-game checks.
Roll back a failed installation
Section titled “Roll back a failed installation”Stop the test instance and retain its failed logs. Restore the previous launch list, mission and compatible saved data from the same recovery set. Coordinate client-required versions before reopening.
If Expansion content reached an existing world, review mod removal before uninstalling it. Saved objects can depend on the removed classes. A storage-format error needs a compatibility or migration decision; a blanket world wipe would remove the progress you backed up.
Related documentation: Mission-template README.
Configure Market traders or quest setup next. Set up scheduled crates and supply-item calls with Expansion airdrops. Configure team membership with Groups and Book, then choose map access and displays in Navigation maps. Configure new-character destinations and kits through Expansion spawn selection. Find other procedures in the DayZ guide directory.
Source and verification scope
Section titled “Source and verification scope”This guide used AI-assisted research and drafting. On 3 October 2026, the framework review checked the original CF, Dabs, Core and Licensed listings and their dependencies alongside the linked mission and module sources. We did not compare the suite’s current Workshop binaries with those sources or test player joins, features or recovered saved state in this review. No game process was started.
The Weapons reference added on 7 October compares the author’s September release source with selected M14 entries in its February Chernarus template. Current Workshop requirements, permissions and package matching remain unverified for this module. Its installation and the magazine mismatch need that check before use; no weapon, loot, trader or recovery test has run.
The settings reference added on 8 October uses the author’s wiki and release-source revision 1660f7a8 for filenames, fields and module loading. We haven’t tested these settings in the game or matched them to a current Workshop download. Use your installed release’s generated files and complete the client and restart checks before applying changes to a live server.
The GeneralSettings and mission additions use the same release source and the template inventory at 248dd215. Terrain compatibility, template merging, menus, lighting and grave recovery remain untested in the game.