Гайд рассчитан на выделенный сервер на Windows или Linux, который запускается через SteamCMD. Все примеры можно повторить один в один.
Что нужно заранее
- Установленный и рабочий сервер DayZ (Steam App ID сервера: 223350).
- Установленный SteamCMD.
- Аккаунт Steam, на котором куплена DayZ. Анонимный вход для загрузки модов из Workshop не работает. Лучше завести отдельный аккаунт под сервер и отключить на нём Steam Guard или заранее разобраться с кодами входа.
- 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. Скопируйте мод в папку сервера
- Создайте в корне сервера папку с именем мода и знаком
@, например@CF. - Скопируйте в неё всё содержимое папки с ID мода.
Если хотите, чтобы моды обновлялись без ручного копирования, вместо копирования можно сделать символическую ссылку (mklink /J на Windows, ln -s на Linux).
Для Linux: имена файлов и папок внутри мода должны быть в нижнем регистре, иначе мод может не загрузиться.
Шаг 3. Установите ключи (.bikey)
Это самый частый источник ошибок у новичков: без ключа игроки не смогут зайти на сервер.
- Откройте папку
@CF\keys(у некоторых модов она называетсяkeyилиKeys). - Скопируйте файл
.bikeyв папкуkeysв корне сервера.
Делайте так для каждого мода отдельно.
Шаг 4. Пропишите моды в параметрах запуска
Откройте батник или скрипт запуска и добавьте параметры -mod и, если нужно, -servermod:
DayZServer_x64.exe -config=serverDZ.cfg -port=2302 "-mod=@CF;@VPPAdminTools;@Trader" "-servermod=@ServerOnlyMod" -profiles=profiles -dologs -adminlog -freezecheck
-mod: моды, которые нужны и серверу, и клиентам. Игроки скачают их сами при подключении.-servermod: моды, работающие только на сервере. Игроку их ставить не нужно, ключ тоже не нужен.- Моды разделяются точкой с запятой, без пробелов. Весь параметр берите в кавычки.
- Порядок важен: сначала библиотеки и зависимости (
@CF,@Dabs Frameworkи т. п.), затем моды, которые их используют. Читайте описание мода на странице Workshop, там указаны зависимости.
Шаг 5. Настройте сам мод (если требуется)
Многим модам этого недостаточно. Обычно нужно сделать одно или несколько из этого:
- Добавить предметы в лут. Скопируйте записи из файлов мода (
types.xml) в свой файл вmpmissions\dayzOffline.chernarusplus\db\types.xmlили подключите отдельный файл черезcfgeconomycore.xml. - Изменить
init.cв папке миссии, если мод этого требует (по инструкции автора). - Отредактировать конфиги мода, которые создаются в папке
profilesпосле первого запуска. Для этого запустите сервер один раз, остановите его и правьте появившиеся файлы.
Шаг 6. Запустите сервер и проверьте
- Запустите сервер и подождите полной загрузки.
- Откройте лог в папке
profiles(файлы.RPT) и поищите словаerror,missing,cannot load. Если мод не загрузился, причина обычно указана там. - Зайдите на сервер клиентом и убедитесь, что мод подгрузился и работает.
Частые ошибки
- Игрока кикает с «Signature check failed»: не скопирован
.bikeyв папкуkeys. - Сервер падает при старте: нарушен порядок модов или не установлена зависимость.
- Мод есть, а предметов в игре нет: не добавлены записи в
types.xml. - Игроки не могут подключиться после обновления мода: у сервера и клиентов разные версии. Перекачайте мод на сервер (шаг 1), обновите ключи и перезапустите сервер.
- Неверный ID игры: для скачивания модов используется 221100, а не 223350.
Как обновлять моды
- Остановите сервер.
- Повторите шаг 1 (SteamCMD скачает свежую версию).
- Обновите файлы в папке
@Моди проверьте, не появился ли новый.bikey. - Запустите сервер.
Хорошая привычка перед любыми изменениями: делать копию папки mpmissions и папки profiles. Тогда при ошибке можно быстро откатиться.