Моды DayZ на сервер: серверные и клиентские, порядок и ошибки
Как добавить моды DayZ на сервер EGN: папки @мод, переменные MODIFICATIONS и SERVERMODS, ключи в /keys, одинаковый набор у игроков, память и почему моды ставятся вручную.
Содержание 18
- Коротко
- Два типа модов
- Шаги: установка модов на сервер EGN
- Пример: три мода и проверка
- Память и первый запуск
- Обновление и смена набора
- Пример: структура папок с модами
- Проверка на клиенте
- Что делать при смене карты
- Пример: что записать в журнал
- Частые ошибки
- Итог
- Вопросы и ответы
- Нужны ли серверные моды игрокам?
- Зачем копировать .bikey в keys?
- Сколько памяти нужно для модов DayZ?
- Почему мод из мастерской не скачивается на сервер сам?
- Можно ли удалить мод с живым миром?
Моды DayZ — это новые карты, оружие, системы выживания, админ-панели и ИИ-противники. Но ставятся они не так, как на Minecraft: DayZ различает моды, которые нужны игроку, и моды, которые работают только на сервере. Ошибка в этом различии даёт либо сервер, который падает при первом спавне, либо игроков, которые не проходят проверку подписи. Разберём, как устроен набор модов, как поставить его на сервер EGN и какие подводные камни ждут при обновлении.
Коротко
Моды DayZ делятся на два типа. Клиентские нужны и серверу, и игрокам: папка @ИмяМода лежит в корне сервера, её ключ подписи (.bikey) копируется в keys, а имя перечисляется в переменной запуска MODIFICATIONS. Серверные моды (их игрокам не ставят) перечисляются в SERVERMODS. На EGN сервер не умеет сам скачивать моды из мастерской Steam, поэтому папки загружаются вручную через «Файлы» или SFTP. Память: Nasdara + 15 модов у нас занимала 7,8 ГБ без игроков, поэтому для модов берите тариф от 10 ГБ.
Два типа модов
Клиентский мод меняет то, что видит и использует игрок: оружие, одежду, интерфейс, предметы. Чтобы игрок мог зайти, он должен установить этот мод сам, а сервер должен загрузить те же файлы. Серверный мод меняет поведение мира: ИИ, спавн, экономику, админ-функции. Игрокам его ставить не нужно.
Для клиентского мода создаётся папка @ИмяМода на сервере и у игрока. Внутри неё лежат addons с .pbo-файлами, а также meta.cpp и обычно папка keys с .bikey. Ключ подписи мода копируется в папку keys сервера: сервер проверяет подписи (в serverDZ.cfg для этого стоит verifySignatures = 2) и без ключа отклонит файлы или игрока.
Серверные моды указываются отдельно — в переменной SERVERMODS (в игре это параметр запуска -servermod). Их не нужно передавать игрокам. После старта проверьте по «Консоль», что сервер подхватил каждый мод.
SERVERMODS — это список, а не папкаВ образе EGN
MODIFICATIONSиSERVERMODS— переменные в разделе «Запуск». Они хранят имена папок через точку с запятой (например@CF;@Expansion), а сами папки лежат в корне сервера.
Шаги: установка модов на сервер EGN
Мастерская DayZ отдаёт моды только аккаунту, который владеет игрой. Служебный аккаунт EGN, которым ставится сервер, DayZ не покупал, поэтому команда скачивания мода из мастерской на нём завершается ошибкой. Практический путь один: мод берёте у себя (из мастерской на своём компьютере) и загружаете на сервер.
- Соберите список модов и версий, которые будут у игроков. Без этого списка у вас не будет точки отсчёта.
- На своём компьютере найдите папки модов:
steamapps/workshop/content/221100/<ID мода>— внутри каталоги с@-именем илиaddons. Переименуйте папку в@ИмяМода. - Сделайте бэкап через «Бэкапы». Это особенно важно, если сервер уже играется.
- Откройте «Файлы» и загрузите папки
@ИмяМодав корень сервера. Крупные моды (десятки и сотни мегабайт) загружайте по SFTP: загрузка через веб-панель ограничивает размер файла. - Скопируйте все
.bikeyв папкуkeys. - В разделе «Запуск» впишите в
MODIFICATIONSклиентские моды через;, а неподписанные серверные — вSERVERMODS. Порядок: библиотеки и зависимости (например CF) раньше зависящих от них модов. - Сохраните и перезапустите сервер. В «Консоль» смотрите ошибки о ключах и модах. Зайдите сами и проверьте, что мод работает.
Пример: три мода и проверка
Допустим, вы ставите мод оружия, мод ИИ и админ-панель. Мод оружия — клиентский: папка @ИмяОружия, ключ в keys, имя в MODIFICATIONS. Мод ИИ — серверный: имя в SERVERMODS. Админ-панель — серверная, но она пишет файлы конфигурации, поэтому после установки проверьте её папку конфигурации. Ставьте их по одному, перезапуская сервер после каждого. Так проще найти конфликт.
После каждой установки заходите в игру и проверяйте: оружие появилось, ИИ спавнится, админ-панель отвечает на команду. Если что-то не работает, откатите последний мод и смотрите лог.
Память и первый запуск
Моды увеличивают объём памяти, которую займёт сервер. Мы измеряли DayZ на карте Nasdara (DLC Badlands): без игроков 7,3 ГБ, а с пятнадцатью модами (ИИ, рейды, экономика) 7,8 ГБ. На 6 ГБ такой сервер уходит в цикл перезапусков из-за нехватки памяти при первом спавне лута. Для модов берите тариф от 10 ГБ («Портал»), а при больших наборах следите за потреблением в «График нагрузки» (новая панель) или по консоли. Для ванильной Чернаруси точных замеров у нас нет.
Первый запуск с модами длится дольше: сервер проверяет файлы и готовит карту. Не перезапускайте его в процессе, иначе вы получите ошибки в середине подготовки.
Не кладите файлы модов в корень mpmissionsМы встречали случай, когда после распаковки мода файлы
mod.cpp,meta.cpp,LICENSEи другие оказались в корне папкиmpmissions, и сервер падал с ошибкой сегментации сразу после загрузки PBO, даже без модов. Лечение — убрать посторонние файлы изmpmissionsв отдельную папку. Всегда кладите моды в свои папки и проверяйте структуру после распаковки.
Обновление и смена набора
Смена набора модов портит сохранение, если моды меняют предметы или структуры. На практике после удаления модов из сборки сервер при загрузке пишет Corrupt modstorage header на каждый предмет (у нас набралось около 24 тысяч таких строк): предметы, сохранённые со старым набором, не читаются и пропадают вместе с лутом, инвентарями и базами. Поэтому перед удалением мода предупреждайте игроков, делайте бэкап и не удаляйте моды с живым миром без нужды.
Обновляйте моды вместе с клиентами. Если вы обновили мод на сервере, игроки должны получить ту же версию. Перед обновлением попросите игроков прислать список их модов или сверьте его по своей копии.
Держите копию клиентского набораСохраните архив с клиентскими модами на вашем компьютере. Если игрок пришлёт папку
steamapps/workshop/content/221100, вы сможете сверить версии без догадок.
Пример: структура папок с модами
Для клиентского мода и серверного набора структура выглядит так:
server/
@ИмяОружия/
addons/
...pbo-файлы мода
meta.cpp
keys/
ИмяОружия.bikey
@ИмяСерверногоМода/
addons/
...Имена @ИмяОружия и @ИмяСерверногоМода записываются в MODIFICATIONS и SERVERMODS соответственно.
Точные имена папок зависят от мода, поэтому ориентируйтесь на его описание. Главное правило: все моды лежат в @-папках, ключи подписанных модов — в keys, а то, какой это мод (клиентский или серверный), определяется переменной, в которую вы вписали его имя. Если файлы лежат не там или ключа нет, сервер либо не загрузит мод, либо загрузит, но игрок не сможет войти.
После распаковки проверяйте структуру: не должно быть лишней вложенной папки внутри @-папки и файлов мода в корне mpmissions. Это частая причина падения при спавне, о которой мы уже писали.
Проверка на клиенте
Клиент игрока должен иметь ту же папку @-мода с теми же файлами. Самый быстрый способ сверить — попросить игрока прислать список папок @ и версию. Если версии не совпадают, вход не пройдёт, и это нормальное поведение проверки подписи, а не сбой сервера.
Перед тем как открывать сервер, зайдите сами с чистого клиента. Проверьте загрузку, спавн, работу оружия и админ-команды, если они есть. Только после этого приглашайте игроков.
Что делать при смене карты
Смена карты или дополнения — отдельная история, потому что карта меняет и мир, и сохранение. Перед сменой сделайте бэкап, предупредите игроков и не меняйте карту на сервере, где уже есть их постройки и предметы: они могут не перенестись. Если карта большая, загрузите её заранее, а в день смены только переключите параметры и перезапустите.
Если переключаете миссию вручную, проверьте, что имя миссии совпадает с папкой внутри mpmissions, а сами файлы лежат в правильной структуре. Ошибка в имени даёт падение при старте, и она выглядит как проблема с модом, хотя дело в путях.
Пример: что записать в журнал
Для каждого мода в журнале записывайте: название, версию, папку на сервере, наличие ключа в keys, тип (клиентский или серверный), дату проверки и результат. Для карт — название миссии и дату смены. Такой журнал экономит часы, когда нужно понять, почему сломался вход после обновления у одного из игроков.
Частые ошибки
| Симптом | Причина | Решение |
|---|---|---|
| Сервер падает при спавне | Мало памяти или посторонние файлы в корне mpmissions |
Поднять тариф и проверить структуру папок |
| Игрок не проходит проверку | Другой набор модов или версия | Выровнять список у всех |
| Ошибка о ключе подписи | .bikey не скопирован в keys |
Скопировать ключ и перезапустить |
| Мод не работает | Серверный мод записан в MODIFICATIONS (или наоборот) |
Перенести имя в нужную переменную |
| Предметы пропали после смены набора | Сохранение читалось с другим набором | Вернуть набор из бэкапа |
Итог
Моды DayZ ставятся по двум типам: клиентские — @мод, keys и переменная MODIFICATIONS, серверные — переменная SERVERMODS. Игроки должны получить тот же клиентский набор. Для модов берите тариф от 10 ГБ, ставьте их по одному и проверяйте консоль после каждого перезапуска. Перед сменой набора делайте бэкап. Установку самого сервера и вопросы со Steam Guard разбираем в гиде по DayZ. Для модов другой игры смотрите установку модов Project Zomboid, а для памяти — расчёт RAM (там цифры по PZ и 7DTD; по DayZ — раздел «Память» выше).
Вопросы и ответы
Нужны ли серверные моды игрокам?
Нет. Серверные моды перечисляются в SERVERMODS и игрокам не передаются. Клиентские нужны всем.
Зачем копировать .bikey в keys?
Сервер проверяет подпись файлов мода по этим ключам. Без ключа мод не загрузится или игрок будет отклонён.
Сколько памяти нужно для модов DayZ?
Для модов берите тариф от 10 ГБ: Nasdara без игроков у нас занимала 7,3 ГБ, с 15 модами — 7,8 ГБ.
Почему мод из мастерской не скачивается на сервер сам?
Мастерская DayZ отдаёт моды только аккаунту, который владеет игрой, а служебный аккаунт хостинга её не покупал. Поэтому моды загружаются вручную из вашей копии.
Можно ли удалить мод с живым миром?
Лучше не удалять без бэкапа. Предметы, сохранённые с модом, могут пропасть.
Сервер DayZ подключаем по запросу через поддержку — egnetwork.ru
Читать далее
Вся рубрика →DayZ: сервер и Steam Guard — почему установка не идёт и что делать
Почему установка DayZ упирается в Steam-аккаунт, как мобильный Steam Guard ломает установку и обновление через SteamCMD, и что нужно знать о памяти, портах и модах.
Популярные модпаки Valheim для сервера: что ставить и что убрать
Какие моды Valheim чаще всего ставят на сервер, какие работают только у игрока и как собрать модпак, который запускается с первого раза.
Сеть в панели EGN: дополнительные порты для плагинов и модов
Как раздел «Сеть» выдаёт порты для голосового чата, карты и Bedrock-игроков, что значат статусы «Нет своего порта» и «Нужен перезапуск» и когда докупить порт.