Глава 9.3: Полный справочник serverDZ.cfg
Главная | << Назад: Структура каталогов | Справочник serverDZ.cfg | Далее: Подробно о лут-экономике >>
Краткое содержание: Каждый параметр
serverDZ.cfgс описанием назначения, допустимых значений и поведения по умолчанию. Этот файл управляет идентификацией сервера, сетевыми настройками, правилами игрового процесса, ускорением времени и выбором миссии.
Содержание
- Формат файла
- Идентификация сервера
- Сеть и безопасность
- Правила игрового процесса
- Время и погода
- Производительность и очередь входа
- Персистентность и экземпляр
- Выбор миссии
- Полный пример файла
- Параметры запуска, переопределяющие конфигурацию
Формат файла
serverDZ.cfg использует формат конфигурации Bohemia (похожий на C). Правила:
- Каждое присвоение параметра заканчивается точкой с запятой
; - Строки заключаются в двойные кавычки
"" - Комментарии используют
//для однострочных - Блок
class Missionsиспользует фигурные скобки{}и заканчивается}; - Файл должен быть в кодировке UTF-8 или ANSI -- без BOM
Отсутствие точки с запятой приведёт к тому, что сервер молча сломается или проигнорирует последующие параметры.
Идентификация сервера
hostname = "My DayZ Server"; // Имя сервера в браузере
password = ""; // Пароль для подключения (пусто = публичный)
passwordAdmin = ""; // Пароль для входа администратора через внутриигровую консоль
description = ""; // Описание в деталях браузера серверов| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
hostname | string | "" | Отображается в браузере серверов. Максимум ~100 символов. |
password | string | "" | Оставьте пустым для публичного сервера. Игроки должны ввести его для подключения. |
passwordAdmin | string | "" | Используется с командой #login в игре. Установите его на каждом сервере. |
description | string | "" | Многострочные описания не поддерживаются. Пишите коротко. |
Сеть и безопасность
maxPlayers = 60; // Максимальное количество слотов для игроков
verifySignatures = 2; // Проверка подписей PBO (поддерживается только значение 2)
forceSameBuild = 1; // Требовать совпадения версий клиента/сервера
enableWhitelist = 0; // Включить/отключить белый список
disableVoN = 0; // Отключить голосовую связь
vonCodecQuality = 20; // Качество звука VoN (0-30)
guaranteedUpdates = 1; // Сетевой протокол (всегда используйте 1)| Параметр | Тип | Допустимые значения | По умолчанию | Примечания |
|---|---|---|---|---|
maxPlayers | int | 1-60 | 60 | Влияет на использование ОЗУ. Каждый игрок добавляет ~50-100 МБ. |
verifySignatures | int | 2 | 2 | Поддерживается только значение 2. Проверяет PBO-файлы по ключам .bisign. |
forceSameBuild | int | 0, 1 | 1 | При значении 1 клиенты должны иметь точно такую же версию исполняемого файла сервера. Всегда оставляйте 1. |
enableWhitelist | int | 0, 1 | 0 | При значении 1 подключаться могут только Steam64 ID, указанные в whitelist.txt. |
disableVoN | int | 0, 1 | 0 | Установите 1 для полного отключения внутриигрового голосового чата. |
vonCodecQuality | int | 0-30 | 20 | Более высокие значения означают лучшее качество голоса, но больше трафика. 20 -- хороший баланс. |
guaranteedUpdates | int | 1 | 1 | Настройка сетевого протокола. Всегда используйте 1. |
Shard ID
shardId = "123abc"; // Шесть буквенно-цифровых символов для приватных шардов| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
shardId | string | "" | Используется для серверов с приватным хайвом. Игроки на серверах с одинаковым shardId разделяют данные персонажей. Оставьте пустым для публичного хайва. |
Правила игрового процесса
disable3rdPerson = 0; // Отключить камеру от третьего лица
disableCrosshair = 0; // Отключить прицел
disablePersonalLight = 1; // Отключить окружающий свет игрока
lightingConfig = 0; // Яркость ночи (0 = светлее, 1 = темнее)| Параметр | Тип | Допустимые значения | По умолчанию | Примечания |
|---|---|---|---|---|
disable3rdPerson | int | 0, 1 | 0 | Установите 1 для серверов только от первого лица. Самая распространённая настройка "хардкора". |
disableCrosshair | int | 0, 1 | 0 | Установите 1 для удаления прицела. Часто совмещается с disable3rdPerson=1. |
disablePersonalLight | int | 0, 1 | 1 | "Персональный свет" -- это слабое свечение вокруг игрока ночью. Большинство серверов отключают его (значение 1) для реализма. |
lightingConfig | int | 0, 1 | 0 | 0 = более светлые ночи (виден лунный свет). 1 = кромешно-тёмные ночи (требуется фонарик/ПНВ). |
Время и погода
serverTime = "SystemTime"; // Начальное время
serverTimeAcceleration = 12; // Множитель скорости времени (0-24)
serverNightTimeAcceleration = 1; // Множитель скорости ночного времени (0.1-64)
serverTimePersistent = 0; // Сохранять время между перезапусками| Параметр | Тип | Допустимые значения | По умолчанию | Примечания |
|---|---|---|---|---|
serverTime | string | "SystemTime" или "YYYY/MM/DD/HH/MM" | "SystemTime" | "SystemTime" использует локальные часы машины. Задайте фиксированное время, например "2024/9/15/12/0", для сервера с постоянным днём. |
serverTimeAcceleration | int | 0-24 | 12 | Множитель внутриигрового времени. При 12 полный цикл 24 часа занимает 2 реальных часа. При 1 время реальное. При 24 полный день проходит за 1 час. |
serverNightTimeAcceleration | float | 0.1-64 | 1 | Умножается на serverTimeAcceleration. При значении 4 с ускорением 12 ночь проходит со скоростью 48x (очень короткие ночи). |
serverTimePersistent | int | 0, 1 | 0 | При 1 сервер сохраняет внутриигровые часы на диск и восстанавливает их после перезапуска. При 0 время сбрасывается к serverTime при каждом перезапуске. |
Распространённые конфигурации времени
Постоянный день:
serverTime = "2024/6/15/12/0";
serverTimeAcceleration = 0;
serverTimePersistent = 0;Быстрый цикл дня/ночи (2-часовые дни, короткие ночи):
serverTime = "SystemTime";
serverTimeAcceleration = 12;
serverNightTimeAcceleration = 4;
serverTimePersistent = 1;Реальное время дня/ночи:
serverTime = "SystemTime";
serverTimeAcceleration = 1;
serverNightTimeAcceleration = 1;
serverTimePersistent = 1;Производительность и очередь входа
loginQueueConcurrentPlayers = 5; // Игроков, обрабатываемых одновременно при входе
loginQueueMaxPlayers = 500; // Максимальный размер очереди входа| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
loginQueueConcurrentPlayers | int | 5 | Сколько игроков могут загружаться одновременно. Более низкие значения уменьшают пики нагрузки на сервер после перезапуска. Увеличьте до 10-15, если ваше оборудование мощное и игроки жалуются на время ожидания в очереди. |
loginQueueMaxPlayers | int | 500 | Если столько игроков уже находятся в очереди, новые подключения отклоняются. 500 достаточно для большинства серверов. |
Персистентность и экземпляр
instanceId = 1; // Идентификатор экземпляра сервера
storageAutoFix = 1; // Автоматическое восстановление повреждённых файлов персистентности| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
instanceId | int | 1 | Определяет экземпляр сервера. Данные персистентности хранятся в storage_<instanceId>/. Если вы запускаете несколько серверов на одной машине, дайте каждому свой instanceId. |
storageAutoFix | int | 1 | При 1 сервер проверяет файлы персистентности при запуске и заменяет повреждённые пустыми файлами. Всегда оставляйте 1. |
Выбор миссии
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};Значение template должно точно совпадать с именем папки внутри mpmissions/. Доступные ванильные миссии:
| Шаблон | Карта | Требуется DLC |
|---|---|---|
dayzOffline.chernarusplus | Чернарусь | Нет |
dayzOffline.enoch | Ливония | Да |
dayzOffline.sakhal | Сахаль | Да |
Пользовательские миссии (например, от модов или карт сообщества) используют собственное имя шаблона. Папка должна существовать в mpmissions/.
Полный пример файла
Полный файл serverDZ.cfg по умолчанию со всеми параметрами:
hostname = "EXAMPLE NAME"; // Имя сервера
password = ""; // Пароль для подключения к серверу
passwordAdmin = ""; // Пароль для входа администратора
description = ""; // Описание в браузере серверов
enableWhitelist = 0; // Включить/отключить белый список (значение 0-1)
maxPlayers = 60; // Максимальное количество игроков
verifySignatures = 2; // Проверяет .pbo по файлам .bisign (поддерживается только 2)
forceSameBuild = 1; // Требовать совпадения версий клиента/сервера (значение 0-1)
disableVoN = 0; // Включить/отключить голосовую связь (значение 0-1)
vonCodecQuality = 20; // Качество кодека голосовой связи (значения 0-30)
shardId = "123abc"; // Шесть буквенно-цифровых символов для приватного шарда
disable3rdPerson = 0; // Переключает вид от третьего лица (значение 0-1)
disableCrosshair = 0; // Переключает прицел (значение 0-1)
disablePersonalLight = 1; // Отключает персональный свет для всех клиентов
lightingConfig = 0; // 0 для светлой, 1 для тёмной ночи
serverTime = "SystemTime"; // Начальное внутриигровое время ("SystemTime" или "YYYY/MM/DD/HH/MM")
serverTimeAcceleration = 12; // Множитель скорости времени (0-24)
serverNightTimeAcceleration = 1; // Множитель скорости ночного времени (0.1-64), также умножается на serverTimeAcceleration
serverTimePersistent = 0; // Сохранять время между перезапусками (значение 0-1)
guaranteedUpdates = 1; // Сетевой протокол (всегда используйте 1)
loginQueueConcurrentPlayers = 5; // Игроков, обрабатываемых одновременно при входе
loginQueueMaxPlayers = 500; // Максимальный размер очереди входа
instanceId = 1; // ID экземпляра сервера (влияет на именование папки хранения)
storageAutoFix = 1; // Автовосстановление повреждённой персистентности (значение 0-1)
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};Параметры запуска, переопределяющие конфигурацию
Некоторые настройки могут быть переопределены через параметры командной строки при запуске DayZServer_x64.exe:
| Параметр | Переопределяет | Пример |
|---|---|---|
-config= | Путь к файлу конфигурации | -config=serverDZ.cfg |
-port= | Игровой порт | -port=2302 |
-profiles= | Каталог вывода профилей | -profiles=profiles |
-mod= | Клиентские моды (через точку с запятой) | -mod=@CF;@VPPAdminTools |
-servermod= | Серверные моды | -servermod=@MyServerMod |
-BEpath= | Путь к BattlEye | -BEpath=battleye |
-dologs | Включить логирование | -- |
-adminlog | Включить логирование администратора | -- |
-netlog | Включить сетевое логирование | -- |
-freezecheck | Автоперезапуск при зависании | -- |
-cpuCount= | Количество ядер CPU | -cpuCount=4 |
-noFilePatching | Отключить file patching | -- |
Полный пример запуска
start DayZServer_x64.exe ^
-config=serverDZ.cfg ^
-port=2302 ^
-profiles=profiles ^
-mod=@CF;@VPPAdminTools;@MyMod ^
-servermod=@MyServerOnlyMod ^
-dologs -adminlog -netlog -freezecheckМоды загружаются в порядке, указанном в -mod=. Порядок зависимостей важен: если Мод B требует Мод A, указывайте Мод A первым.
Назад: Структура каталогов | Главная | Далее: Подробно о лут-экономике >>
