← Blog

Как настроить сервер 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-запрос не отвечает, сервер просто не появится в браузере игры, даже когда мир полностью загружен.

ПортПротоколРоль
2302UDPИгровой трафик
2305UDPSteam Query (значение steamQueryPort)
2306UDPBattlEye 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

Если после обновления аддона персонажи сбросились, чаще всего виноват изменившийся класс предмета: движок не смог восстановить инвентарь и обнулил профиль. Поэтому крупные обновления модов всегда выкатывают вместе с рестартом и предварительным архивом.

Что делать, когда мир не грузится

  1. Открыть последний файл в profiles/ и найти строку с ERROR или Cannot compile script module.
  2. Проверить порядок в -mod: фреймворки идут первыми.
  3. Убедиться, что регистр имён папок совпадает со строкой запуска.
  4. Проверить XML экономики валидатором — одна незакрытая скобка ломает загрузку миссии целиком.
  5. Отключить моды по одному, начиная с последнего установленного.

Точные значения всех директив и актуальный список параметров есть в официальной документации Bohemia Interactive. Если вы администрируете сразу несколько проектов, подходы к конфигурации во многом пересекаются — подборка технических материалов по другим играм собрана в разделе Все наши игровые серверы, а разборы отдельных кейсов публикуются в Блог Fly-Serv.



Заключение

Стабильный мир DayZ держится на трёх опорах: аккуратный serverDZ.cfg, правильный порядок аддонов с подключённой экономикой и строка запуска с включёнными логами. Добавьте расписание рестартов, регулярные архивы storage_1 и раздельные пароли для админ-доступа и RCON — и большинство проблем будет решаться за минуты, а не за вечер.



FAQ

Почему игроки не видят мир в браузере DayZ, хотя он запущен?

Чаще всего закрыт или неверно указан Steam Query порт. Проверьте, что steamQueryPort в serverDZ.cfg совпадает с открытым UDP-портом (обычно 2305), а игровой порт 2302 доступен. Также убедитесь, что версия сборки совпадает с текущей версией игры — при forceSameBuild = 1 устаревшая сборка не попадёт в список.

Как добавить предметы мода в лут без правки основного types.xml?

Создайте папку ModCE внутри миссии, положите туда XML-файлы аддона и подключите их блоком <ce folder="ModCE"> в cfgeconomycore.xml. Так обновление мода не потребует переписывания основного файла экономики, а ошибки будут локализованы в одном месте.

Что делать, если после установки модов персонажи сбрасываются при каждом рестарте?

Проверьте логи в profiles/ на ошибки классов предметов. Если мод изменил или удалил класс, движок не может восстановить инвентарь и обнуляет профиль. Откатитесь на предыдущую версию аддона, восстановите архив папки storage_1 и обновляйте моды только вместе с плановым перезапуском.