Как настроить сервер DayZ: полное руководство по конфигурации и модам
Par Benjamin D. · PDG
· Mis à jour le 6 сентября 2026 г. · Lecture 8 min
Содержание
Настройка сервера DayZ начинается не с панели управления, а с трёх вещей: файла serverDZ.cfg, порядка подключения модов и корректной строки запуска. Ошибка в любой из них — и мир не грузится, персонажи сбрасываются, а игроки вылетают на подключении. Ниже — рабочая последовательность действий, проверенная на Chernarus+ и Livonia, без лишней теории.
Настройка сервера DayZ: структура файлов и первый запуск
Серверная сборка DayZ состоит из нескольких обязательных элементов. Понимание того, что за что отвечает, экономит часы отладки.
| Элемент | Назначение |
|---|---|
DayZServer / DayZServer_x64.exe | Исполняемый файл серверного приложения |
serverDZ.cfg | Главный конфиг: слоты, пароли, время, сеть, логи |
mpmissions/dayzOffline.chernarusplus | Миссия: экономика, спавны лута, зомби, транспорт |
profiles/ | Логи, крашдампы, конфиги некоторых модов |
keys/ | Файлы .bikey модов для проверки подписей |
battleye/ | Конфиг BattlEye и RCON |
storage_1/ | Персистентность: постройки, схроны, состояние мира |
Первый запуск всегда делают в ванильном виде, без единого мода. Если мир поднялся, порт отвечает, а в profiles/ появились логи — база рабочая, и дальше можно наслаивать модификации. Если сразу поставить десяток аддонов, найти виновника падения будет заметно сложнее. Готовую конфигурацию удобно разворачивать через панель Pterodactyl, где консоль, файловый менеджер и автоматические бэкапы находятся в одном интерфейсе — как это устроено у Fly-Serv, можно посмотреть на странице хостинг DayZ.
Порты, которые должны быть открыты
DayZ использует три канала. Если Steam-запрос не отвечает, сервер просто не появится в браузере игры, даже когда мир полностью загружен.
| Порт | Протокол | Роль |
|---|---|---|
| 2302 | UDP | Игровой трафик |
| 2305 | UDP | Steam Query (значение steamQueryPort) |
| 2306 | UDP | BattlEye RCON |
serverDZ.cfg: разбор ключевых параметров
Файл читается один раз при старте. Любая правка требует полного перезапуска процесса — «горячей» перезагрузки конфига в DayZ нет. Ниже базовый шаблон, от которого можно отталкиваться.
hostname = "Chernarus | Hardcore | PVE";
password = "";
passwordAdmin = "СложныйПарольАдмина";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
allowFilePatching = 0;
disableVoN = 0;
vonCodecQuality = 20;
disable3rdPerson = 1;
disableCrosshair = 1;
serverTime = "SystemTime";
serverTimeAcceleration = 6;
serverNightTimeAcceleration = 8;
serverTimePersistent = 0;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
instanceId = 1;
storageAutoFix = 1;
steamQueryPort = 2305;
respawnTime = 5;
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};
Безопасность и целостность сборки
- verifySignatures = 2 — обязательный минимум. Клиент допускается только с подписанными аддонами, чьи
.bikeyлежат в папкеkeys/. - allowFilePatching = 0 — блокирует подключение клиентов с распакованными файлами. Ставить
1имеет смысл только на закрытой тестовой площадке. - forceSameBuild = 1 — не пускает игроков с версией игры, отличной от серверной. Убирает половину непонятных дисконнектов после патчей.
- passwordAdmin — длинный, уникальный, не совпадающий с RCON-паролем. Он даёт доступ к внутриигровым админ-командам.
Время суток и ускорение
serverTimeAcceleration умножает скорость игрового времени: значение 6 означает, что сутки проходят за 4 часа реального времени. serverNightTimeAcceleration дополнительно ускоряет ночь: при 8 ночная фаза пролетает быстрее и не выдавливает игроков с проекта. Если нужен фиксированный старт, вместо SystemTime пишут явное значение вида "2024/06/21/09/00".
serverTimePersistent = 1 заставляет мир помнить время после перезапуска. Полезно для ролевых сообществ, но требует внимания к расписанию рестартов, иначе игроки будут заходить в вечную ночь.
Сетевые параметры и нагрузка
Эти значения напрямую влияют на плавность у клиентов и на потребление CPU. DayZ крайне чувствителен к частоте ядра, поэтому платформа на Ryzen с высокой тактовой частотой и NVMe даёт заметно более ровный тикрейт, чем машина с большим числом медленных ядер.
networkRangeClose = 20;
networkRangeNear = 150;
networkRangeFar = 1000;
networkRangeDistantEffect = 4000;
defaultVisibility = 1375;
defaultObjectViewDistance = 1375;
simulatedPlayersBatch = 20;
multithreadedReplication = 1;
speedhackDetection = 10;
Если при 50+ игроках FPS сервера проседает ниже 20, первым делом снижают networkRangeFar и defaultObjectViewDistance, а simulatedPlayersBatch опускают до 10–15. Это уменьшает объём симуляции на тик ценой чуть меньшей дальности прорисовки объектов у клиентов.
Логи и админ-инструменты
timeStampFormat = "Short";
logAverageFps = 1;
logMemory = 1;
logPlayers = 1;
logFile = "server_console.log";
adminLogPlayerHitsOnly = 0;
adminLogPlacement = 1;
adminLogBuildActions = 1;
adminLogPlayerList = 1;
enableDebugMonitor = 0;
disableRespawnDialog = 0;
disableBaseDamage = 0;
disableContainerDamage = 0;
pingWarning = 200;
pingCritical = 250;
maxPing = 300;
adminLogPlacement и adminLogBuildActions критичны для разбора жалоб на грифинг: в profiles/ появляется AdminLog с координатами и никами. maxPing автоматически выкидывает игроков с нестабильным каналом — на PvP-проектах это снижает количество «телепортов».
Моды из Steam Workshop: установка и порядок загрузки
Модификации DayZ не устанавливаются автоматически — их скачивают через SteamCMD, копируют в корень серверной папки и подключают ключами и параметром запуска.
Загрузка через SteamCMD
./steamcmd.sh +force_install_dir /home/container/dayz \
+login ВАШ_STEAM_ЛОГИН \
+workshop_download_item 221100 1559212036 \
+workshop_download_item 221100 1564026768 \
+quit
ID берётся из адреса страницы аддона в Workshop. Скачанные файлы попадают в steamapps/workshop/content/221100/<ID>. Оттуда папку копируют в корень и переименовывают в человекочитаемый вид с символом @:
cp -r steamapps/workshop/content/221100/1559212036 ./@CF
cp -r steamapps/workshop/content/221100/1564026768 ./@Community-Online-Tools
На Linux регистр имён имеет значение. Если в строке запуска написано @CF, а папка называется @cf, мод молча не подключится. Многие администраторы приводят все имена к нижнему регистру и делают то же самое в параметре -mod.
Ключи подписей
Без .bikey при verifySignatures = 2 игроки получат отказ в подключении. Копируем ключи всех аддонов в общую папку:
cp ./@CF/keys/*.bikey ./keys/
cp ./@Community-Online-Tools/keys/*.bikey ./keys/
Порядок подключения имеет значение
Фреймворки грузятся первыми, зависимые модификации — после них. Классическая последовательность: @CF, затем библиотеки вроде @Dabs Framework, потом контентные аддоны (оружие, транспорт, базы), и только в конце — карты и кастомные миссии. Нарушение порядка даёт ошибки вида «Cannot compile script module» уже на старте.
types.xml и подключение экономики модов
Большинство модов с предметами кладут свои types.xml в подпапку Extras или ServerFiles. Их не нужно вклеивать в основной types.xml миссии — гораздо чище подключить отдельным блоком в mpmissions/dayzOffline.chernarusplus/cfgeconomycore.xml:
<economycore>
<classes>
<rootclass name="DefaultWeapon" />
</classes>
<ce folder="ModCE">
<file name="weapons_types.xml" type="types" />
<file name="vehicles_types.xml" type="types" />
</ce>
</economycore>
Папку ModCE создают внутри миссии и складывают туда XML модов. Такой подход позволяет обновлять аддоны без переписывания основного файла экономики. Если предметы не спавнятся, проверьте profiles/ — при ошибке в XML сервер пишет точную строку и имя класса.
Серверные моды и клиентские
Параметр -mod подключает аддоны, которые обязаны быть и у игрока. Параметр -serverMod грузит только серверную часть: админ-инструменты, античит-надстройки, кастомные скрипты спавна. Их не нужно скачивать клиенту, и ключи для них не требуются.
Параметры запуска и стабильная работа под нагрузкой
Строка запуска — то место, где чаще всего теряют логи и профили. Рабочий вариант для Linux:
./DayZServer \
-config=serverDZ.cfg \
-port=2302 \
-BEpath=/home/container/battleye \
-profiles=/home/container/profiles \
-mod=@CF\;@Community-Online-Tools\;@BuilderItems \
-serverMod=@AdminTools \
-cpuCount=4 \
-dologs -adminlog -netlog -freezecheck
| Параметр | Что делает |
|---|---|
-profiles | Путь к логам и крашдампам. Без него отладка практически невозможна |
-dologs | Включает запись серверных логов |
-adminlog | Логирует действия игроков: строительство, убийства, подбор предметов |
-netlog | Пишет сетевой трафик и помогает ловить проблемы с пингом |
-freezecheck | Перезапускает процесс при зависании основного потока |
-cpuCount | Ограничивает число используемых ядер |
-filePatching | Только для разработки модов, на боевом мире не используется |
RCON и удалённое администрирование
BattlEye RCON настраивается в battleye/BEServer_x64.cfg:
RConPassword ДлинныйУникальныйПароль
RestrictRCon 0
RConPort 2306
Пароль должен отличаться от passwordAdmin и не пересекаться с паролями от панели. Через RCON подключаются внешние инструменты для кика, бана и рассылки сообщений. Права на файл конфигурации стоит ограничить, а доступ к панели раздавать через суб-пользователей с минимальным набором прав, а не общим логином.
Перезапуски, персистентность и резервные копии
DayZ стабильно держит 3–4 часа непрерывной работы, после чего производительность деградирует из-за накопления объектов и утечек памяти. Стандартная практика — автоматический рестарт каждые 3–4 часа с предупреждением игроков за 10 и 5 минут.
Персистентность живёт в mpmissions/<миссия>/storage_1. Именно эту папку нужно включать в резервные копии вместе с XML-файлами экономики. Автоматические бэкапы на стороне панели снимают снапшот целиком, но перед крупным обновлением модов ручной архив лишним не будет:
tar -czf backup_$(date +%F_%H%M).tar.gz \
mpmissions/dayzOffline.chernarusplus/storage_1 \
mpmissions/dayzOffline.chernarusplus/db \
serverDZ.cfg
Если после обновления аддона персонажи сбросились, чаще всего виноват изменившийся класс предмета: движок не смог восстановить инвентарь и обнулил профиль. Поэтому крупные обновления модов всегда выкатывают вместе с рестартом и предварительным архивом.
Что делать, когда мир не грузится
- Открыть последний файл в
profiles/и найти строку сERRORилиCannot compile script module. - Проверить порядок в
-mod: фреймворки идут первыми. - Убедиться, что регистр имён папок совпадает со строкой запуска.
- Проверить XML экономики валидатором — одна незакрытая скобка ломает загрузку миссии целиком.
- Отключить моды по одному, начиная с последнего установленного.
Точные значения всех директив и актуальный список параметров есть в официальной документации Bohemia Interactive. Если вы администрируете сразу несколько проектов, подходы к конфигурации во многом пересекаются — подборка технических материалов по другим играм собрана в разделе Все наши игровые серверы, а разборы отдельных кейсов публикуются в Блог Fly-Serv.
Заключение
Стабильный мир DayZ держится на трёх опорах: аккуратный serverDZ.cfg, правильный порядок аддонов с подключённой экономикой и строка запуска с включёнными логами. Добавьте расписание рестартов, регулярные архивы storage_1 и раздельные пароли для админ-доступа и RCON — и большинство проблем будет решаться за минуты, а не за вечер.
FAQ
Почему игроки не видят мир в браузере DayZ, хотя он запущен?Чаще всего закрыт или неверно указан Steam Query порт. Проверьте, что steamQueryPort в serverDZ.cfg совпадает с открытым UDP-портом (обычно 2305), а игровой порт 2302 доступен. Также убедитесь, что версия сборки совпадает с текущей версией игры — при forceSameBuild = 1 устаревшая сборка не попадёт в список.
Создайте папку ModCE внутри миссии, положите туда XML-файлы аддона и подключите их блоком <ce folder="ModCE"> в cfgeconomycore.xml. Так обновление мода не потребует переписывания основного файла экономики, а ошибки будут локализованы в одном месте.
Проверьте логи в profiles/ на ошибки классов предметов. Если мод изменил или удалил класс, движок не может восстановить инвентарь и обнуляет профиль. Откатитесь на предыдущую версию аддона, восстановите архив папки storage_1 и обновляйте моды только вместе с плановым перезапуском.