CrimsonZamboniDeathmatch Setup Guide¶
Installation Instructions¶
- Install the mod from the Steam workshop as you normally would. Game Server Providers usually provide a UI for installing mods from the workshop. Use SteamCMD if you don't have a GSP.
- Configure your server's command line to load the mod as a
server-side mod, using the
-servermod=option. This is important in order to prevent clients from needing to install the mod! DO NOT add the mod to the-mod=option. - Install the deathmatch mission files. Compressed mission files are provided
in the mod's
Extrasfolder. Extract the correct mission ZIP file into a correspondingdeathmatch.<mapname>folder inside your server'smpmissionsfolder. - Edit the
DayZ server configuration file
(typically
serverDZ.cfgbut configurable with the‑configcommand line option) to load your desired deathmatch mission. For example:
The mod ships with missions for Chernarus+, Livonia (a.k.a. Enoch), Namalsk, Deer Isle, Esseker, TakistanPlus, Banov, and Valning. Support for other maps may be added in the future.
Info
Please use the #deathmatch channel on my Discord to report
bugs, request features, and ask questions. I do not respond to direct
messages.
Recommended Server Settings¶
Players normally do not spawn with light sources or night vision, so setting the server time is recommended to avoid frustrating players with darkness. For example:
Player characters are intended to be randomized, so disabling the respawn dialog for selecting a custom character is also recommended to avoid confusing players and to make respawning faster:
Optional Server Settings¶
Optional deathmatch settings can be configured by creating a JSON file, named
settings.json in a directory called deathmatch under your
server's profile directory. For example: profile\deathmatch\settings.json
Note that it is only necessary to specify the settings whose defaults you want to override.
Downloadable example file: settings.json (contains all default settings)
Round Duration¶
The duration, in minutes, of each round can be changed by including a
roundMinutes setting in the settings.json file. For example, the following
changes the duration to 45 minutes:
The default is 20 minutes.
Maximum Rounds¶
The server can be configured to automatically terminate after a desired number
of rounds using the maxRounds setting. By default, the server will never
automatically terminate based on the number of rounds completed. To stop after
every 4 rounds:
This setting is intended to be used in conjunction with a script that automatically restarts the server after it exits. Game Server Providers usually handle this for you but self-hosting may require a batch file or PowerShell script.
Maximum Uptime¶
The server can be configured to automatically terminate after it has been
running for a specified number of hours using the maxUptimeHours setting. By
default, the server will never automatically terminate based on uptime. To stop
after 8 hours of uptime:
Like the Maximum Rounds setting, this setting is intended to be used in conjunction with a script that automatically restarts the server after it exits.
Arena Rotation¶
By default, the server will randomly choose an arena at the beginning of each
round. A specific arena order can be forced by changing the arenaRotation
setting. For example:
Note that arena names can be repeated within the rotation. An empty
arenaRotation array will result in the default behavior of picking arenas
randomly.
Exclude Arenas¶
Sometimes server admins may want to exclude certain arenas from the random
arena rotation. This can be accomplished by adding the arena name to the
excludeArenas array. For example:
Note that excludeArenas only excludes the arenas when the arena rotation is
random. It does not prevent the arenas from being chosen when a fixed rotation
is configured using the arenaRotation setting, nor does it prevent the arena
from being chosen when a special event specifies it as a forced arena.
This setting may be useful for configuring specific arenas to be used only in special events.
Infected Spawning¶
Infected can be configured to spawn as a percentage chance at the beginning of each round using
the "infectedChance" setting. By default, infected have a 0% chance of spawning. To
give infected a 50% chance of spawning at the beginning of each round:
Servers can be configured to override the infectedChance setting to force
infected to spawn when the number of players on the server is below the
forceInfectedPlayerLimit setting. By default, the forceInfectedPlayerLimit
is 0, meaning infectedChance controls whether infected spawn, regardless of
how many players are on the server. To force the server to spawn infected
whenever the server has less than 2 players:
The number of infected spawned per player can also be customized using the
infectedPlayerFactor setting. By default, 5 infected are spawned for each
player. For example, to spawn 10 infected per player:
The minimum and maximum number of infected to spawn is also configurable. The
defaults are 25 and 50, respectively. For example:
Note that the minimum and maximum infected counts will override the infected
player factor. For example, if maximumInfected is 10,
infectedPlayerFactor is 5, and there are 20 players on the server, no more
than 10 infected will spawn.
Also note that if infectedChance is 0, which is the default value, then
infected will never spawn, regardless of how the other settings are configured.
Auto-Respawn¶
By default, players must respawn manually after they are killed. To enable an
experimental auto-respawn feature, change the autoRespawn setting to true.
Some players have reported issues when auto-respawn is enabled.
Save Leaderboards¶
To enable leaderboards to be written to files at the end of each round, set the
saveLeaderboards setting to true. By default, leaderboards are not saved.
When enabled, the leaderboards will be written to files in the
$profile:deathmatch/scores directory.
Disable Walls¶
By default, deathmatch arenas are enclosed in walls to prevent players from
going out of bounds, since going out of bounds causes health loss. Walls can be
disabled globally by setting the disableWalls setting to true.
See Arena Customization Guide: Disable Walls and Mission Customization Guide: Walls for a way to disable walls on individual arenas.
Events¶
Events are special game rounds where players spawn with weapons and clothes
that are different from regular rounds. There are currently six different types
of built-in events: Cowboy Rounds, Bambi Rounds, Hotshot Rounds, Toxic Rounds,
Halloween Rounds, and Medieval Rounds. In Cowboy Rounds (cowboy), players
spawn with revolvers, repeaters, and cowboy attire. In Bambi Rounds
(bambi), players spawn with new-spawn clothes and pistols. In Halloween
Rounds (halloween), players are given blades and SMGs with a limited amount
of ammo. Hotshot Rounds (hotshot) are, conceptually, the opposite of Bambi
Rounds, as players spawn with high-end weapons and gear. In Toxic Rounds
(toxic), the arena contains toxic gas and players with NBC gear. In Medieval
Rounds (medieval), players spawn in chain mail and are given crossbows and
swords or maces.
By default, events are disabled but can be enabled by setting a floating-point chance between 0.0 and 1.0. For example, to give events a 25% chance of happening:
In addition to setting a non-zero events chance, it is necessary to specify
at least one event type with a non-zero chance. Types are specified as an array
of objects with names, chances, and optional duration values. For example, to
make events Cowboy Rounds 50% of the time, Bambi Rounds 30% of the time, and
Hotshot Rounds 20% of the time:
{
"events": {
"chance": 0.25,
"types": [
{
"name": "cowboy",
"chance": 0.5
},
{
"name": "bambi",
"chance": 0.3
},
{
"name": "hotshot",
"chance": 0.2
}
]
}
}
The name must be either one of the built-in special round types (i.e.
cowboy, bambi, hotshot, toxic, halloween, or medieval) or the
name of one of the custom events defined in the events.json file, as
documented in the Custom Events section.
Event type chances should add up to 1.0.
By default, special event rounds have the same duration as regular rounds, as
determined by the roundMinutes setting. Each event type can be given its own
separate duration, if desired. For example, to make cowboy rounds last for 22
minutes:
{
"events": {
"chance": 0.25,
"types": [
{
"name": "cowboy",
"chance": 1.0,
"roundMinutes": 22
}
]
}
}
By default, special event rounds will have their arenas selected in the same
way as regular rounds, as defined by the Arena Rotation
setting. To force an event type to choose from a particular set of arenas,
configure the arenas setting with an array of one or more arena names. For
example, to make Bambi rounds only happen at either Kamyshovo or Solnichniy:
{
"events": {
"chance": 0.25,
"types": [
{
"name": "bambi",
"chance": 1.0,
"arenas": [
"Kamyshovo",
"Solnichniy"
]
}
]
}
}
When specified, event arenas are chosen randomly, but arenas that can accomodate the current player count are preferred.
Christmas¶
Enabling Christmas mode causes a large Christmas tree to spawn near the center of the arena, surrounded by gift boxes containing festive loot for spreading Christmas cheer and having a silent night. It also causes players to spawn with Santa hats, Santa beards, and clothing with holiday colors. Infected will also spawn with Santa hats.
Set the christmas setting to one of the following values to enable or disable
Christmas:
0- disable Christmas1- enable Christmas2- enable Christmas if it is currently December
For example, to enable Christmas:
Voting¶
Players can start votes to select the next arena, the next event, and to end
the round early by typing /arenavote, /eventvote, and /endvote,
respectively, into proximity chat. By default, at least two players must be
connected to the server in order for a vote to be able to start, and the voting
period lasts one minute. These parameters can be overridden by setting the
voteMinimumPlayers and voteMinutes settings. For example:
To disable voting entirely, set voteMinimumPlayers to a value higher than
your server's maximum player limit.
Tip
Note: DayZ proximity chat from players is not received by the server when the player sending the chat is close to another player. This can make chat commands unreliable. To improve the likelihood of chat commands being received by the server, set your in-game VOIP distance to the "whisper" minimum distance. The default key binding for changing VOIP distance is the Up key.
Ignore Night¶
By default, players will be equipped with night vision goggles automatically
when the in-game time is considered to be during "night" hours. To disable
this, set the ignoreNight setting to true.
Info
Note that this setting does not affect arenas that have been marked dark. Players are always equipped with night vision when an arena is marked "dark", regardless of the in-game time.
Disable Sprint Leaning¶
To prevent players from sprinting while also leaning, set the
disableSprintLeaning setting to true. The default is false. When true,
players will trip and fall when they attempt to lean and sprint at the same
time.
Max Idle Seconds¶
To kick dead players who remain idle at the "You are dead" screen, set the
maxIdleSeconds setting to the number of seconds after which idle dead players
should be kicked. By default, idle players are not kicked from the server. For
example, to kick dead players after 5 minutes of inactivity:
Kill Feed¶
By default, kills are reported in-game using DayZ's notification system, which
displays a box at the top-center of the screen. Alternatively, kills may be
reported in the text chat area of the screen, or kill reporting may be disabled
completely. Set the killFeed setting to one of the following values to change
how kills are reported:
0- kill reporting disabled1- kills reported as notifications2- kills reported in chat area
For example, to completely disable the in-game kill feed:
Command Character¶
The leading character identifying a chat message as a command is configurable
using the commandCharacter setting. This setting can be set to any
single-character string and is case-sensitive. For example:
The default command character is /. Some DayZ mods, including
VPPAdminTools
and
Community-Online-Tools
prevent this character from working.
Administrators¶
Administrator-only chat commands can be enabled for specific players by listing them as admins. By default, no players are admins. Admin players must be identified by their DayZ GUIDs, which are 44-character strings. There are numerous resources on the web explaining how to retrieve or calculate these GUIDs, but the easiest method may be to find them in your DayZ Server's administration logs.
You can also calculate DayZ GUIDs using this tool: (Note: requires a modern browser)
| SteamID64 (Dec): | (steamid.io) |
| DayZ GUID: | Copied! |
The admins setting is specified as an array of objects, where each object
contains an id string attribute. Other attributes are currently ignored.
{
"admins": [
{"id": "AAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBCCCCCDDDD"},
{"id": "XXXXYYYYYZZZZZZZZZZZWWWWWWWWWWWWWWWWWWWWWW"},
{"id": "MMMMMMMNNNNNNNNNNNNOOOOOOOOOOOPPPPPPPPPPPP"}
]
}
Kill Feed Webhook¶
It is possible to configure the server to send kill feed messages and leaderboards to a Discord channel using a webhook. Use your Discord server's settings to create a webhook URL for the channel you want kill feed messages to go to.
A typical webhook configuration will look something like this:
{
"killFeedWebhook": {
"type": "discord",
"url": "https://discordapp.com/api/webhooks/XXXXXXXX/YYYYYYYYYYYYYYYY"
}
}
Note that you must set the type to discord in order for the webhook to
work. Other webhook type support may be added in the future.
Player join and leave messages do not get sent to the webhook, by default. To
enable these messages, set the playerTracking setting to true::
{
"killFeedWebhook": {
"type": "discord",
"url": "https://discordapp.com/api/webhooks/XXXXXXXX/YYYYYYYYYYYYYYYY",
"playerTracking": true
}
}
Primary Weapons¶
The primary weapons that spawn on players can be overridden by specifying the
primaryWeapons setting. This setting is defined as an array of objects, where
each object contains three keys: variants, attachments, and accessories.
The variants attribute should contain an array of strings naming one or more
weapon types. One of the variants will be randomly chosen when this weapon
configuration used.
The attachments attribute should contain an array of zero or more arrays of
one or more strings naming attachment types. These may include optics,
handguards, buttstocks, and suppressors. Each inner array should contain
related types, so optics should be in one array, handguards should be in a
separate array, etc.
The accessories attribute should contain an array of zero or more strings
naming items that should be spawned in the player inventory. These are
typically magazines or stacks of ammunition.
Example:
{
"primaryWeapons": [
{
"variants": ["AK101", "AK101_Black", "AK101_Green"],
"attachments": [
["AK_WoodHndgrd", "AK_WoodHndgrd_Black", "AK_WoodHndgrd_Camo"],
["AK_WoodBttstck", "AK_WoodBttstck_Black", "AK_WoodBttstck_Camo"]
],
"accessories": [
"Mag_AK101_30Rnd",
"Mag_AK101_30Rnd",
"Mag_AK101_30Rnd",
"Mag_AK101_30Rnd"
]
}
]
}
Secondary Weapons¶
The secondary weapons that spawn on players can be overridden by specifying the
secondaryWeapons setting. This setting uses the same structure as the
primaryWeapons setting.
Knives¶
The knives that spawn on players' belt sheaths can be overridden by specifying
the knives setting. This setting is defined as an array of strings, where
each string names a knife type. For example:
Weapons Crate Contents¶
One of the three sea chests that spawn at random, high risk locations in the
arena is intended to contain high-tier weapons. The weapons that spawn inside
this chest can be overridden by specifying the crateWeapons setting. This
setting is uses the same structure as the
primaryWeapons setting.
By default, the weapons crate spawns with either a VSS, FAL, or SVD.
Armor Crate Contents¶
One of the three sea chests that spawn at random, high risk locations in the
arena is intended to contain armor. The items that spawn inside this chest can
be overridden by specifying the crateArmor setting. This setting is defined
as an array of arrays of strings. Each inner array represents a slot (e.g.
helmet, vest, gloves) and the strings inside the arrays represent choices for
each slot.
By default, the armor crate spawns with either one helmet, one vest, and one pair of gloves.
Other Crate Contents¶
One of the three sea chests that spawn at random, high risk locations in the
arena is intended to contain traps and grenades. The items that spawn inside
this chest can be overridden by specifying the crateOther setting. This
setting is defined as an array of arrays of strings. Each inner array
represents a slot (e.g. trap or grenade) and the strings inside the arrays
represent choices for each slot.
By default, the other crate spawns with two traps (i.e. bear traps or land mines) and three grenades (i.e. fragmentation, smoke, or flashbang).
Outfits¶
Player clothing can be configured by specifying an array of one or more
outfits. Each individual outfit is an array of objects, where each object
contains a choices array of strings and an optional integer (between 1 and
100, defaulting to 100) chance, which determines the percentage chance that
one of the types listed in choices will be chosen.
For example, the following configuration defines two different outfits. The first outfit gives the player a green top, green pants, green footwear, and a 50% chance of thick framed glasses. The second outfit gives the player a black top, black pants, black footwear, and a 25% chance of getting a Great Helm:
{
"outfits": [
[
{
"choices": ["Hoodie_Green", "BomberJacket_Olive"]
},
{
"choices": ["CargoPants_Green", "Jeans_Green"]
},
{
"choices": ["Sneakers_Green", "AthleticShoes_Green"]
},
{
"chance": 50,
"choices": ["ThickFramesGlasses"]
}
],
[
{
"choices": ["Hoodie_Black", "BomberJacket_Black"]
},
{
"choices": ["CargoPants_Black", "Jeans_Black"]
},
{
"choices": ["Sneakers_Black", "MilitaryBoots_Black"]
},
{
"chance": 25,
"choices": ["GreatHelm"]
}
]
]
}
Tip
It is important that players have a 100% chance of being given shirts and pants to ensure that they have sufficient inventory space for ammunition, bandages, etc. Footwear should also be assigned a 100% chance unless you want players to get cuts from running around barefoot.
By default, players will spawn with a random assortment of clothes.
Infected Types¶
When infected spawns are enabled, infected will spawn from the complete list of
infected types defined by the server. Types are chosen randomly. To constrain
the set of infected types that should be spawned, define the infectedTypes
attribute as an array of infected type name strings. For example:
Custom Events¶
Server owners can define their own custom events to be used along with, or
instead of, the built-in special events (Cowboy rounds, Bambi rounds, Hotshot
rounds). Custom events are defined in a separate JSON configuration file, named
events.json, located in the deathmatch directory under your server's
profile directory. For example: profile\deathmatch\events.json
Custom events are defined as an array of objects under the custom property at
the root of the JSON:
Downloadable example custom events file: events.json
The valid properties of individual events are described in the following sections.
Event Name¶
The name property is a string used to uniquely identify the custom event.
This name is not visible to players. It must be at least one character long and
must only contain letters, numbers, and underscores. Use this same name to
configure the chance of the event happening and its round duration, as
documented in the Events section.
Example:
Event Display Name¶
The displayName property is a string used to show the name of the custom
event to players. Example:
Event Greeting¶
The greeting property is an object describing the notification to be shown to
players when a round is started with this custom event type. It contains two
properties: title and details. The title property is a string that should
contain brief text identifying the round type. The details property is also a
string and should contain any additional information to display to the players.
Example:
{
"custom": [
{
"name": "clue",
"greeting": {
"title": "=== CLUE ROUND ===",
"details": "I didn't do it!"
}
}
]
}
Event Primary Weapons¶
The primaryWeapons property determines what primary weapons players will
spawn with during this custom event type. It uses the same format as
Primary Weapons.
Event Secondary Weapons¶
The secondaryWeapons property determines what secondary weapons players will
spawn with during this custom event type. It uses the same format as
Secondary Weapons.
Event Knives¶
The knives property determines what knives players will spawn with during
this custom event type. It uses the same format as Knives.
Event Weapons Crate¶
The crateWeapons property determines what weapons will spawn in the weapon
crate during this custom event type. It uses the same format as
Weapons Crate Contents.
Event Armor Crate¶
The crateArmor property determines what items will spawn in the armor crate
during this custom event type. It uses the same format as
Armor Crate Contents.
Event Other Crate¶
The crateOther property determines what items will spawn in the other crate
during this custom event type. It uses the same format as
Other Crate Contents.
Event Outfits¶
The outfits property determines what clothing players will spawn with during
this custom event type. It uses the same format as Outfits.
Event Infected Types¶
The infectedTypes property determines what types of infected will spawn
during this custom event type. It uses the same format as
Infected Types.
Arena Customization¶
Further customization can be made by editing the server mission
custom-arenas.json file. See the Arena Customization Guide for
more information.
Mission Customization¶
Further customization can be made by editing the server mission init.c
scripts. See the Mission Customization Guide for more
information.