Documentation menu

Server Configuration

config/servers.js exports an array of server objects — one per DayZ server you manage. Every command and feature is configured per-server, so you can run many servers from one bot. Copy servers.example.js to servers.js to start.

module.exports = [
  { /* server 1 */ },
  { /* server 2 */ }
];

When a command accepts a server option, the first entry is the default.

Server data

KeyTypeWhat
NAMEstringDisplay name (shown in command pickers and embeds)
CFTOOLS_SERVER_API_IDstringThe server's CFTools Server API ID — used by most data commands
SERVER_IPV4stringPublic IPv4 — used by /server-info
SERVER_PORTnumberGame port (e.g. 2302) — used by /server-info
CFTOOLS_WEBHOOK_CHANNEL_IDstringChannel that receives CFTools webhook messages (chat/killfeed source)
CFTOOLS_WEBHOOK_USER_IDstringThe Discord user/webhook id that posts those messages

[!WARNING] ID. If SERVER_IPV4/SERVER_PORT are wrong or left at 0.0.0.0, the embed comes back empty. Every other CFTools command uses CFTOOLS_SERVER_API_ID.

Command display

KeyDefaultWhat
STATISTICS_INCLUDE_ZONES_HEATMAPtrueRender the hit-zone heat map in /statistics
STATISTICS_HIDE_PLAYER_NAME_HISTORYtrueHide previous names in /statistics
SERVER_INFO_INCLUDE_MOD_LISTtrueInclude the mod list in /server-info

Live chat feed

Relays Discord messages into the DayZ server. See Features → Chat Feed.

KeyDefaultWhat
USE_CHAT_FEEDtrueEnable the feed
CHAT_FEED_CHANNEL_IDS[]Channels to relay from
CHAT_FEED_REQUIRED_ROLE_IDS[]If set, only these roles are relayed
CHAT_FEED_USE_DISCORD_PREFIXtruePrefix in-game messages with a Discord tag
CHAT_FEED_USE_DISPLAY_NAMEtrueUse server display name vs username
CHAT_FEED_MESSAGE_COOLDOWN2.5Per-user cooldown (seconds)
CHAT_FEED_MAX_DISPLAY_NAME_LENGTH20Truncate long names
CHAT_FEED_DISCORD_TAGSarrayRole → in-game tag mapping (see below)

CHAT_FEED_DISCORD_TAGS maps roles to colored tags shown in-game:

CHAT_FEED_DISCORD_TAGS: [
  { roleIds: [ clientConfig.permissions.ownerId ], displayTag: '[OWNER]', color: colors.red },
  { roleIds: clientConfig.permissions.administratorRoleIds, displayTag: '[ADMIN]', color: colors.red },
  { roleIds: clientConfig.permissions.moderatorRoleIds, displayTag: '[MOD]', color: colors.blue },
  { roleIds: [], displayTag: '[SURVIVOR]', enabled: false } // [] matches everyone
]

Teleport locations

KeyDefaultWhat
USE_TELEPORT_LOCATIONStrueEnable named (autocomplete) teleport destinations
TELEPORT_LOCATIONS_FILE_NAME'chernarus'File under config/teleport-locations/<name>.json

See Features → Teleport.

Watch list

KeyWhat
WATCH_LIST_CHANNEL_IDChannel for watch-list login notifications
WATCH_LIST_NOTIFICATION_ROLE_IDRole pinged when a watched player logs in

Killfeed

KeyDefaultWhat
USE_KILL_FEEDtrueEnable the delayed killfeed
KILL_FEED_DELAY5Delay (minutes) before forwarding a kill
KILL_FEED_CHANNEL_IDPublic channel to forward kills to
KILL_FEED_MESSAGE_IDENTIFIER' got killed by 'Substring that marks a kill message
KILL_FEED_REMOVE_IDENTIFIERfalseStrip the identifier from the forwarded text

Leaderboard

KeyDefaultWhat
OVERALL_RANKING_STAT'KILLS'Stat used for the OVERALL ranking
LEADERBOARD_DEFAULT_SORTING_STAT'OVERALL'Default sort in /leaderboard
LEADERBOARD_PLAYER_LIMIT25Players shown in /leaderboard
LEADERBOARD_BLACKLIST[]CFTools IDs to exclude
LEADERBOARD_STATSarrayStats selectable in /leaderboard

Available stats: OVERALL, KILLS, KILL_DEATH_RATIO, LONGEST_KILL, PLAYTIME, LONGEST_SHOT, DEATHS, SUICIDES.

Automatic leaderboard

Posts a leaderboard to a channel on boot, then on an interval. See Features → Leaderboards.

KeyDefaultWhat
AUTO_LB_ENABLEDtrueEnable automatic posting
AUTO_LB_CHANNEL_IDChannel to post into
AUTO_LB_INTERVAL_IN_MINUTES60Repost interval
AUTO_LB_REMOVE_OLD_MESSAGEStrueClean the bot's old messages first (needs Manage Messages)
AUTO_LB_PLAYER_LIMIT100Players included
AUTO_LB_STAT'OVERALL'Stat to rank by

Citadel storefront relay

Applies priority-queue / whitelist grants when players buy perks on a Citadel storefront. Full details in Storefront Relay.

KeyDefaultWhat
CITADEL_RELAY_ENABLEDfalseEnable the relay client for this server
CITADEL_API_URLhttps://api.citadel-hub.comCitadel API base
CITADEL_SERVICE_IDExternalService id (Citadel dashboard → Relays)
CITADEL_API_KEYThe csk_ key (shown once)

Next: Commands.