TeaHost

обновлено 5 мин чтения

Как создать сервер DayZ: настройка и моды

Собираем сервер DayZ с нуля: установка через SteamCMD, разбор serverDZ.cfg, порты 2302 и 27016, установка модов с ключами, правка types.xml и лута

Кратко

Сервер DayZ ставится через SteamCMD (App ID 223350, только под аккаунтом Steam, без анонимного входа) и настраивается в serverDZ.cfg: слоты, пароль админа, ускорение времени и миссия. Нужны открытые UDP 2302–2305 и 27016, моды подключаются через -mod= с обязательным копированием .bikey в папку keys, а количество лута регулируется полями nominal и min в types.xml.

Свой сервер DayZ — это единственный способ играть по своим правилам: настроить лут так, чтобы патроны были ценностью, поставить Namalsk вместо Черноруси, добавить машины и базы через моды. Порог входа выше, чем у большинства выживалок: конфиг разбросан по нескольким файлам, моды требуют ручного копирования ключей, а экономика лута описана XML-ками на несколько тысяч строк. Разберём тот минимум, который выводит сервер в рабочее состояние.

Настройка выделенного сервера DayZ и файлы конфигурации

Что нужно по железу

DayZ на движке Enfusion нагружает сервер симуляцией предметов: каждая банка тушёнки на карте — объект, который живёт в экономике и отслеживается.

  • 4 ГБ RAM — 20–30 игроков на ванильной Черноруси;
  • 8 ГБ — 60 слотов или модовая сборка среднего размера;
  • 12–16 ГБ — тяжёлые сборки с Expansion, машинами и картой вроде Deer Isle.

Процессор критичен и должен быть быстрым в однопотоке — Enfusion плохо распараллеливается, и при 60 игроках всё упирается в одно ядро. SSD обязателен: экономика лута постоянно пишет состояние на диск.

Установка сервера DayZ через SteamCMD

Серверное приложение — App ID 223350, оно бесплатное, но требует входа под аккаунтом Steam (анонимный логин не сработает).

код
steamcmd +force_install_dir /opt/dayz +login ВАШ_ЛОГИН +app_update 223350 validate +quit

Запуск на Linux:

код
cd /opt/dayz
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles \
  -BEpath=battleye -dologs -adminlog -netlog -freezecheck

-freezecheck полезен: сервер сам перезапустится, если основной поток зависнет. -profiles=profiles кладёт логи и служебные данные в отдельную папку, иначе они разбредутся по установке.

Разбор serverDZ.cfg

Главный конфиг лежит в корне установки.

код
hostname = "TeaHost DayZ";
password = "";
passwordAdmin = "длинный_пароль";
maxPlayers = 40;

verifySignatures = 2;
forceSameBuild = 1;

disableVoN = 0;
vonCodecQuality = 20;

disable3rdPerson = 0;
disableCrosshair = 1;

serverTime = "SystemTime";
serverTimeAcceleration = 8;
serverNightTimeAcceleration = 16;
serverTimePersistent = 0;

instanceId = 1;
storeHouseStateDisabled = false;
storageAutoFix = 1;

class Missions
{
    class DayZ
    {
        template = "dayzOffline.chernarusplus";
    };
};

Что здесь действительно важно.

verifySignatures = 2 проверяет подписи модов — не выключайте, это базовая защита от подмены файлов.

serverTimeAcceleration = 8 означает, что игровое время идёт в 8 раз быстрее реального: сутки проходят за три часа. serverNightTimeAcceleration отдельно ускоряет ночь — именно этим параметром лечат жалобы «на сервере вечно темно». Значение 16 при общем ускорении 8 делает ночь вдвое короче дня.

storageAutoFix = 1 чинит битую персистенцию автоматически. Включайте: DayZ известен тем, что при некорректном выключении теряет базы игроков.

template указывает на папку миссии в mpmissions/. Для Черноруси это dayzOffline.chernarusplus, для Ливонии — dayzOffline.enoch.

Порты

DayZ занимает несколько портов:

код
ufw allow 2302:2305/udp
ufw allow 27016/udp
ПортПротоколНазначение
2302UDPИгровой порт
2303–2305UDPСлужебные
27016UDPSteam query: через него сервер попадает в браузер лаунчера

Именно закрытый 27016 обычно и означает, что сервер работает, но его никто не находит. Игроки подключаются через DayZ Launcher по прямому IP с портом 2302.

Установка модов

Тут DayZ отличается от почти всех современных игр: автоматической доставки модов на сервер нет, всё делается руками.

  1. Скачайте моды через SteamCMD (+workshop_download_item 221100 <WorkshopID>) либо через DayZ Launcher на своей машине и залейте на сервер.
  2. Положите папку мода в корень сервера с именем вида @CF, @Community-Online-Tools, @DayZ-Expansion-Core.
  3. Скопируйте файлы .bikey из папки keys каждого мода в общую папку keys/ сервера. Пропустите этот шаг — игроки получат отказ на подключении при verifySignatures = 2.
  4. Добавьте моды в строку запуска через точку с запятой:
код
-mod=@CF;@Community-Online-Tools;@DayZ-Expansion-Core;@DayZ-Expansion-Vehicles

Порядок в строке имеет значение: библиотеки-зависимости (@CF для большинства сборок) идут первыми. Серверные моды, которые не нужны клиенту, подключаются отдельным параметром -serverMod=.

Игроки должны подписаться на те же моды в Мастерской — DayZ Launcher обычно подтягивает список автоматически при подключении к серверу.

Настройка лута через types.xml

Экономика живёт в mpmissions/dayzOffline.chernarusplus/db/. Основной файл — types.xml, где каждый предмет описан блоком:

код
<type name="AKM">
    <nominal>15</nominal>
    <lifetime>14400</lifetime>
    <restock>0</restock>
    <min>8</min>
    <quantmin>-1</quantmin>
    <quantmax>-1</quantmax>
    <cost>100</cost>
    <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    <category name="weapons"/>
    <usage name="Military"/>
</type>

Ключевые поля: nominal — сколько экземпляров экономика старается держать на карте, min — порог, ниже которого запускается респавн, lifetime — сколько секунд предмет пролежит нетронутым, прежде чем исчезнет.

Поднять лут на сервере = увеличить nominal и min. Только не увлекайтесь: суммарное количество объектов напрямую влияет на производительность, и сервер с утроенным лутом начинает подтормаживать при том же онлайне.

Соседние файлы тоже пригодятся: events.xml управляет спавном машин и вертолётных крушений, cfgspawnabletypes.xml — тем, с каким обвесом появляется оружие.

Что настроить в первую неделю

Рестарты по расписанию. DayZ традиционно перезапускают каждые 3–4 часа: это сбрасывает утечки памяти и заново раскладывает лут. Большинство серверов живёт именно так.

Бэкапы persistence. Папка mpmissions/.../storage_1/ содержит все базы и машины игроков. Потерять её — значит потерять сервер вместе с аудиторией; про схему копий писал в зачем нужны автобэкапы.

BattlEye и админ-инструменты. BattlEye включён по умолчанию, но реальную модерацию даёт мод Community Online Tools: телепорт, спавн, просмотр инвентаря, логи.

Защита канала. Популярный DayZ-сервер притягивает атаки от забаненных, как магнит — что с этим делают на стороне хостинга, разбирал в тексте что такое DDoS-защита.

Итог

Минимальный рабочий путь: установить приложение 223350 через SteamCMD под своим аккаунтом, отредактировать serverDZ.cfg (слоты, ускорение времени, пароль админа), открыть UDP 2302–2305 и 27016, при необходимости добавить моды с обязательным копированием .bikey, затем крутить types.xml под желаемый уровень лута.

Если разворачивать вручную не хочется, готовая сборка ставится из панели, а моды подключаются в пару кликов — тарифы посмотрите здесь.

ПоделитьсяTelegramVK
Все статьи рубрики