Конфигурационный файл serverDZ.cfg является центральным элементом управления сервером DayZ. Грамотное управление его версиями и структурированный подход к настройкам обеспечивают стабильную работу и простоту обслуживания игрового сервера.


// ===== ОСНОВНЫЕ НАСТРОЙКИ =====
hostname = "EXAMPLE NAME"; // Название сервера
password = ""; // Пароль для подключения к серверу
passwordAdmin = ""; // Пароль для входа как администратор
maxPlayers = 60; // Максимальное число игроков

// ===== БЕЗОПАСНОСТЬ =====
verifySignatures = 2; // Проверка .pbo или .bisign файлов (поддерживается только значение 2)
forceSameBuild = 1; // Когда включено, сервер будет разрешать подключение игрокам только с такой же версией .exe файла как у сервера
enableWhitelist = 0; // Включает-отключает встроенную систему whitelist сервера. Для добавления в него указывайте в whitelist.txt игроков построчно по их ID из ADM файлов или UID из консоли сервера. (значения 0-1)
disableBanlist = false; // Отключает использование ban.txt (значения true/false)
disablePrioritylist = false; // Отключает использование priority.txt (значения true/false)

// ===== ГОЛОСОВОЙ ЧАТ =====
disableVoN = 0; // Включение\отключение возможности разговаривать (0 или 1)
vonCodecQuality = 7; // Качество кодека передачи голоса (параметры от 0 до 30, где 20 - максимальное качество)

// ===== ГЕЙМПЛЕЙ =====
disable3rdPerson = 0; // Включение\отключение вида от третьего лица (0 или 1)
disableCrosshair = 0; // Включение\отключение прицела (0 или 1)
enableDebugMonitor = 1; // Показывает информацию об игроке, используя дебаг окно в углу экрана (0 или 1)
disableRespawnDialog = 0; // Отключить диалог респавна (1 - отключить, новые персонажи будут появляться случайно)

// ===== ВРЕМЯ И КЛИМАТ =====
serverTime = "SystemTime"; // Начальное игровое время на сервере. "SystemTime" - время, установленное на хост-машине. Также можно устанавливать значения времени в формате "ГОД/МЕСЯЦ/ДЕНЬ/ЧАСЫ/МИНУТЫ", например "2015/4/8/17/23".
serverTimeAcceleration = 24; // Множитель ускорения игрового времени (параметры от 0.1 до 64). При значении 24 игровое время будет идти в 24 раза быстрее реального, так что целый день пройдёт за один час.
serverNightTimeAcceleration = 1; // Множитель ускорения ночного времени (параметры от 0.1 до 64). Умножается на serverTimeAcceleration.
serverTimePersistent = 0; // Постоянное время (0 или 1). Фактическое время сервера сохраняется в хранилище, поэтому при следующем запуске сервера будет использоваться значение сохраненного времени.

// ===== ОСВЕЩЕНИЕ =====
lightingConfig = 0; // Определяет темность ночи на сервере (светлая - 0, темная - 1, Sakhal-specific - 2)
disablePersonalLight = 1; // Отключает персональный свет (фонарики) для всех клиентов, подключенных к серверу (0 или 1)

// ===== СЕТЬ И ПРОИЗВОДИТЕЛЬНОСТЬ =====
guaranteedUpdates = 1; // Протокол связи с сервером игры (использовать только значение 1)
loginQueueConcurrentPlayers = 5; // Количество игроков, одновременно обрабатываемых сервером в процессе их входа. Должен предотвратить массовое падение производительности во время подключения игроков, когда одновременно подключается много людей.
loginQueueMaxPlayers = 500; // Максимальное количество игроков, которые могут ждать в очереди на вход на сервер
simulatedPlayersBatch = 20; // Установить лимит количества игроков, которые могут быть смоделированы за кадр (для повышения производительности сервера)
multithreadedReplication = 1; // Включает многопоточную обработку системы репликации сервера. Количество рабочих потоков определяется настройками jobsystem в dayzsettings.xml по параметрам "maxcores" и "reservedcores" (значение 0-1)

// ===== СЕТЕВЫЕ ДИАПАЗОНЫ =====
networkRangeClose = 20; // Дистанция появления объектов в руках или рядом с игроком (рюкзаки, вещи под ногами). Объекты появляются, когда игрок подходит на 20 метров.
networkRangeNear = 150; // Дистанция появления объектов с инвентарём (палатки, ящики, машины). Объекты появляются на 150 метрах и исчезают на 165 метрах (+10%).
networkRangeFar = 1000; // Дистанция появления статических объектов (здания, заборы, деревья). Объекты появляются на 1 км и исчезают на 1.1 км (+10%).
networkRangeDistantEffect = 4000; // Дистанция, на которой слышны звуки (выстрелы, взрывы). Только для звуковых эффектов.
defaultVisibility = 1375; // Максимальное расстояние отрисовки ландшафта (земля, трава, дороги). Если у игрока в настройках меньше — используется его значение.
defaultObjectViewDistance = 1375; // Максимальное расстояние отрисовки объектов (здания, деревья). Если у игрока в настройках меньше — используется его значение.

// ===== ПОРТЫ =====
steamport = 27015; // Порт для отображения сервера в списке серверов игры и Steam. Необходимо также его открыть!
steamQueryPort = 2305; // Определяет порт опроса доступности и мониторинга в Steam, должен устранить проблему с сервером, не видимым в браузере клиент-сервера. Порт используется для добавления мониторинга сервера на разных сайтах и в сервисах, а также в DZSA launcher.
clientPort = 2304; // Порт, используемый клиентами для подключения к серверу

// ===== ДИСТАНЦИИ ОТРИСОВКИ =====
defaultVisibility = 1375; // Максимальное расстояние рендеринга terrain на сервере (если выше, чем "viewDistance=" в профиле клиента DayZ, применяется параметр clientside)
defaultObjectViewDistance = 1375; // Максимальное расстояние рендеринга объекта на сервере (если больше, чем "preferredObjectViewDistance=" в профиле клиента DayZ, применяется параметр clientside)

// ===== ПЕРСИСТЕНТНОСТЬ И СОХРАНЕНИЯ =====
instanceId = 1; // ID инстанса сервера (используется при запуске нескольких серверов на одной машине для разделения файлов сохранений)
lootHistory = 1; // Сколько файлов истории сохранений должно храниться в инстансе
storeHouseStateDisabled = false; // Включает\отключает запоминание состояния построек\дверей (значения true/false), используется в случае проблем с сохранением
storageAutoFix = 1; // Проверяет, повреждены ли файлы сохраняемости, и заменяет поврежденные пустыми (0 или 1)

// ===== РЕСПАВН И СООБЩЕНИЯ =====
respawnTime = 5; // Устанавливает задержку появления игрока, перед тем как игрок сможет создать нового персонажа после смерти предыдущего (в секундах)
motd[] = {"line1","line2"}; // Сообщения, выводящиеся в игровом чате (можно несколько строк)
motdInterval = 1; // Интервал времени между сообщениями (в секундах)

// ===== ЗАЩИТА ОТ ЧИТОВ =====
speedhackDetection = 1; // Включить обнаружение читов скорости, значения 1-10 (1 строгий, 10 снисходительный, может быть дробным)
shotValidation = 1; // Включить валидацию выстрелов (1 - включить, 0 - отключить)

// ===== ЛИМИТЫ ПРОИЗВОДИТЕЛЬНОСТИ =====
pingWarning = 200; // Пинг, при котором появляется желтое предупреждение (в миллисекундах)
pingCritical = 250; // Пинг, при котором появляется красное предупреждение (в миллисекундах)
maxPing = 300; // Максимальный пинг игрока, разрешённый на сервере (при превышении - кик)
serverFpsWarning = 15; // Значение FPS сервера, при котором появляется предупреждение (минимальное значение 11)

// ===== ЛОГИРОВАНИЕ =====
timeStampFormat = "Short"; // Формат временных отметок в .rpt файле (Full или Short)
logAverageFps = 1; // Логирование среднего FPS сервера (параметр в секундах), требует активации параметра -dologs в параметрах запуска
logMemory = 1; // Логирование использования памяти сервера (значение в секундах), требует активации параметра -dologs в параметрах запуска
logPlayers = 1; // Логирование количества игроков на сервере (значение в секундах), требует активации параметра -dologs в параметрах запуска
logFile = "server_console.log"; // Сохраняет консоль сервера в файл в папке с другими логами

// ===== ЛОГИРОВАНИЕ АДМИНИСТРАТОРА =====
adminLogPlayerHitsOnly = 0; // Переключение записей в ADM логах. 1 - логировать только попадания по игрокам / 0 - логировать все попадания (животные/инфицированные)
adminLogPlacement = 0; // Переключение записей в ADM логах. 1 - логировать установку объектов (ловушки, палатки)
adminLogBuildActions = 0; // Переключение записей в ADM логах. 1 - логировать действия строительства (построить, разобрать, уничтожить)
adminLogPlayerList = 0; // Переключение записей в ADM логах. 1 - логировать периодический список игроков с их позицией каждые 5 минут

// ===== ПРОЧИЕ НАСТРОЙКИ =====
allowFilePatching = 1; // Если установлено значение 1, это позволит подключать клиентов с включенным параметром запуска "-filepatching"
disableMultiAccountMitigation = false; // Отключает защиту от мультиаккаунтов на консолях, когда true (по умолчанию: false)
disableBaseDamage = 0; // Установите 1, чтобы отключить урон/разрушение забора и сторожевой башни
disableContainerDamage = 0; // Установите 1, чтобы отключить урон/разрушение палаток, бочек, деревянных ящиков и морских сундуков

// ===== МИССИЯ =====
class Missions {
class DayZ {
template = "dayzOffline.chernarusplus"; // Миссия, загружаемая при старте сервера. <НазваниеМиссии>.<НазваниеКарты>
};
};

// ===== ДОПОЛНИТЕЛЬНЫЕ СЕТЕВЫЕ НАСТРОЙКИ (для оптимизации) =====
networkObjectBatchLogSlow = 5; // Максимальное время, которое может занять обработка пузыря в секундах, прежде чем он будет записан в консоль
networkObjectBatchEnforceBandwidthLimits = 1; // Включает ограничитель создания объектов на основе статистики пропускной способности
networkObjectBatchUseEstimatedBandwidth = 0; // Переключает метод определения использования пропускной способности соединения. Если установлено значение 0, будет использоваться сумма фактически отправленных данных с момента последнего кадра сервера, а если установлено значение 1, будет использоваться приблизительная оценка
networkObjectBatchUseDynamicMaximumBandwidth = 1; // Определяет, должен ли предел пропускной способности быть фактором максимальной пропускной способности, которая может быть отправлена, или жестким пределом. Максимальная пропускная способность, которая может быть отправлена, колеблется в зависимости от спроса в системе.
networkObjectBatchBandwidthLimit = 0.8; // Фактический лимит, может быть значением [0,1] или [1,inf] в зависимости от networkObjectBatchUseDynamicMaximumBandwidth
networkObjectBatchCompute = 1000; // Количество объектов в списках создания/уничтожения, которые проверяются за один кадр сервера
networkObjectBatchSendCreate = 10; // Максимальное количество объектов, которые могут быть отправлены для создания за кадр
networkObjectBatchSendDelete = 10; // Максимальное количество объектов, которые могут быть отправлены для удаления за кадр