Как установить моды(mods) на сервер DayZ

Гайд рассчитан на выделенный сервер на Windows или Linux, который запускается через SteamCMD. Все примеры можно повторить один в один. Что нужно заранее У...

Гайд рассчитан на выделенный сервер на Windows или Linux, который запускается через SteamCMD. Все примеры можно повторить один в один.

Что нужно заранее

  1. Установленный и рабочий сервер DayZ (Steam App ID сервера: 223350).
  2. Установленный SteamCMD.
  3. Аккаунт Steam, на котором куплена DayZ. Анонимный вход для загрузки модов из Workshop не работает. Лучше завести отдельный аккаунт под сервер и отключить на нём Steam Guard или заранее разобраться с кодами входа.
  4. ID мода из Steam Workshop. Это число в конце ссылки, например 1559212036.

Шаг 1. Скачайте мод через SteamCMD

Workshop-контент DayZ качается по ID игры 221100 (не серверной 223350):

 
steamcmd +force_install_dir C:\dayzserver +login ВАШ_ЛОГИН +workshop_download_item 221100 1559212036 validate +quit

Файлы окажутся здесь:
C:\dayzserver\steamapps\workshop\content\221100\1559212036

Чтобы скачать несколько модов за раз, добавьте несколько блоков +workshop_download_item 221100 ID validate подряд.

Шаг 2. Скопируйте мод в папку сервера

  1. Создайте в корне сервера папку с именем мода и знаком @, например @CF.
  2. Скопируйте в неё всё содержимое папки с ID мода.

Если хотите, чтобы моды обновлялись без ручного копирования, вместо копирования можно сделать символическую ссылку (mklink /J на Windows, ln -s на Linux).

Для Linux: имена файлов и папок внутри мода должны быть в нижнем регистре, иначе мод может не загрузиться.

Шаг 3. Установите ключи (.bikey)

Это самый частый источник ошибок у новичков: без ключа игроки не смогут зайти на сервер.

  1. Откройте папку @CF\keys (у некоторых модов она называется key или Keys).
  2. Скопируйте файл .bikey в папку keys в корне сервера.

Делайте так для каждого мода отдельно.

Шаг 4. Пропишите моды в параметрах запуска

Откройте батник или скрипт запуска и добавьте параметры -mod и, если нужно, -servermod:

 
DayZServer_x64.exe -config=serverDZ.cfg -port=2302 "-mod=@CF;@VPPAdminTools;@Trader" "-servermod=@ServerOnlyMod" -profiles=profiles -dologs -adminlog -freezecheck

Шаг 5. Настройте сам мод (если требуется)

Многим модам этого недостаточно. Обычно нужно сделать одно или несколько из этого:

  1. Добавить предметы в лут. Скопируйте записи из файлов мода (types.xml) в свой файл в mpmissions\dayzOffline.chernarusplus\db\types.xml или подключите отдельный файл через cfgeconomycore.xml.
  2. Изменить init.c в папке миссии, если мод этого требует (по инструкции автора).
  3. Отредактировать конфиги мода, которые создаются в папке profiles после первого запуска. Для этого запустите сервер один раз, остановите его и правьте появившиеся файлы.

Шаг 6. Запустите сервер и проверьте

  1. Запустите сервер и подождите полной загрузки.
  2. Откройте лог в папке profiles (файлы .RPT) и поищите слова error, missing, cannot load. Если мод не загрузился, причина обычно указана там.
  3. Зайдите на сервер клиентом и убедитесь, что мод подгрузился и работает.

Частые ошибки

  1. Игрока кикает с «Signature check failed»: не скопирован .bikey в папку keys.
  2. Сервер падает при старте: нарушен порядок модов или не установлена зависимость.
  3. Мод есть, а предметов в игре нет: не добавлены записи в types.xml.
  4. Игроки не могут подключиться после обновления мода: у сервера и клиентов разные версии. Перекачайте мод на сервер (шаг 1), обновите ключи и перезапустите сервер.
  5. Неверный ID игры: для скачивания модов используется 221100, а не 223350.

Как обновлять моды

  1. Остановите сервер.
  2. Повторите шаг 1 (SteamCMD скачает свежую версию).
  3. Обновите файлы в папке @Мод и проверьте, не появился ли новый .bikey.
  4. Запустите сервер.

Хорошая привычка перед любыми изменениями: делать копию папки mpmissions и папки profiles. Тогда при ошибке можно быстро откатиться.