RE:NODE

Руководства12 мин чтения

Кастомные карты DayZ: Deer Isle и Namalsk

Как запустить карту сообщества DayZ: моды рельефа, папки миссий, строка template, Deer Isle и Namalsk по шагам, persistence, файлы лута и обновления.

0 прочтений

Карта сообщества в DayZ - это две вещи, которые должны совпадать: мод рельефа, который скачивает каждый игрок, и папка миссии, которая есть только на сервере и содержит экономику лута этой карты, точки спавна и позиции событий. Чтобы запустить такую карту, нужно добавить её моды в -mod= вместе с ключами, скопировать её папку миссии в mpmissions, указать на эту папку в строке template в serverDZ.cfg и стартовать с новой папкой persistence. Deer Isle требует Community Framework, мод @DeerIsle и его миссию empty.deerisle; Namalsk требует @Namalsk Island и @Namalsk Survival, а также одну из миссий - regular.namalsk или hardcore.namalsk. Всё остальное в этом руководстве - о том, как сделать это и не получить пустую карту, бесконечные падения или вайп, которого вы не планировали.

Общая механика модов - ключи, порядок загрузки, -mod= против -servermod= - описана в полном руководстве по серверу DayZ. Этот пост предполагает, что у вас уже работает ванильный сервер и вы хотите перевести его на другую карту.

Из чего на самом деле состоит карта сообщества#

Любая карта DayZ, включая официальные, - это рельеф плюс миссия. На официальных картах вы этого разделения не замечаете, потому что обе части идут вместе с игрой. У карты сообщества они приходят из разных мест, и большинство неудачных установок - это несовпадение между ними.

ЧастьОткуда берётсяКуда кладётсяКому нужна
Мод рельефаSteam WorkshopВ корень сервера как @Name и на каждый клиентВсем
Вспомогательные модыSteam WorkshopВ корень сервера и на клиентыВсем
Файлы .bikeyВнутри папки keys каждого модаВ папку keys сервераСерверу
Папка миссииЗагрузка от автора карты, часто GitHubmpmissions/Только серверу

Мод рельефа содержит сам мир: карту высот, здания, дороги, текстуры. Он большой - карты сообщества нередко занимают несколько гигабайт, - и каждый игрок скачивает его через DayZ Launcher, прежде чем сможет зайти.

Папка миссии маленькая, но в ней весь геймплей карты. Её db/types.xml определяет, какой лут существует, mapgrouppos.xml и mapgroupproto.xml - где в каждом здании может лежать лут, cfgeventspawns.xml перечисляет координаты для машин и мест крушения, а cfgplayerspawnpoints.xml определяет, где появляются новые персонажи. Миссия Chernarus на рельефе Namalsk - это сервер, где каждая точка спавна находится в море, а каждая позиция лута относится к зданию, которого там нет.

папки @Mapкопировать всю папкуserverDZ.cfgте же версиивходSteam Workshopрельеф и зависимостиАвтор картызагрузка миссииИгрокDayZ LauncherПапка mpmissionsстрока templateСервер DayZ-mod= и ключи
Что должно совпасть, чтобы карта сообщества работала

Выбор карты#

Официальным картам моды вообще не нужны:

  • Chernarus - миссия dayzOffline.chernarusplus. Карта по умолчанию, и её знает большинство игроков.
  • Livonia - миссия dayzOffline.enoch. Меньше, с более густыми лесами, официальная DLC-карта.
  • Sakhal - карта Frostline, миссия dayzOffline.sakhal в сборках, где она есть. Выживание в холоде со своими механиками. Что именно игрокам нужно купить, чтобы зайти на DLC-карту, смотрите на страницах магазина.

Карты сообщества, о которых спрашивают чаще всего:

  • Deer Isle - большая островная карта с множеством интересных мест, популярная как для PvP, так и для PvE и ролевой игры. Требует Community Framework.
  • Namalsk - маленький, холодный и суровый остров от Sumrak, со своим слоем выживания во втором моде. Есть обычная и хардкорная миссии.
  • Другие - Banov, Esseker, Takistan Plus, Chiemsee, Pripyat и Alteria, у всех есть живые серверы. Схема установки та же; имена папок и зависимости указаны на странице каждой карты в Workshop.

Выбор определяют не столько пейзажи, сколько два практических вопроса. Первый - насколько велика загрузка: каждый новый игрок должен скачать карту перед первым входом, и большая карта теряет часть игроков ещё на пороге. Второй - есть ли у карты поддерживаемая миссия и активный автор. Карту, чьи файлы миссии в последний раз обновлялись три версии игры назад, вам придётся чинить самостоятельно.

Установка Deer Isle#

  1. Остановите сервер и сделайте backup всего сервера, включая текущую папку миссии и её папку storage_*.
  2. Скачайте элементы Workshop для Community Framework и Deer Isle и положите их в корень сервера как @CF и @DeerIsle. На своей машине это делается через SteamCMD с app id клиента 221100; на хостинге скачайте их один раз и загрузите папки по SFTP.
  3. Скопируйте .bikey из папки keys каждого мода в папку keys сервера.
  4. Скачайте файлы миссии Deer Isle из официального репозитория карты и скопируйте папку empty.deerisle в mpmissions/.
  5. Укажите шаблон:
serverDZ.cfg
class Missions{    class DayZ    {        template = "empty.deerisle";    };};
  1. Задайте строку модов, фреймворки первыми:
code
-mod=@CF;@DeerIsle
  1. Запустите сервер и следите за логом. При нормальном старте миссия загружается, экономика инициализируется, и сервер доходит до момента, когда принимает игроков. При неудачном - обычно уже на первом экране названы недостающий мод или файл.

Использовать нужно то имя папки миссии, которое было в вашей загрузке. Если автор переименует её в следующем релизе, template придётся поменять вместе с ней - шаблон, указывающий на несуществующую папку, останавливает сервер при запуске.

Установка Namalsk#

Namalsk делится на мод рельефа и мод геймплея, и нужны оба:

  1. Остановите сервер и сделайте backup, как выше.
  2. Добавьте элементы Workshop в корень сервера как @Namalsk Island и @Namalsk Survival и скопируйте оба ключа в keys.
  3. Скачайте официальные серверные файлы из репозитория Sumrak. Папки миссий называются regular.namalsk и hardcore.namalsk; скопируйте нужную в mpmissions/.
  4. Укажите template = "regular.namalsk"; или template = "hardcore.namalsk";.
  5. Задайте строку модов. В именах папок есть пробел, поэтому, если пишете строку запуска вручную, возьмите весь параметр в кавычки:
code
"-mod=@Namalsk Survival;@Namalsk Island"

Сверьтесь с порядком, который указан в документации самой карты: если один мод зависит от другого, зависимость загружается первой, и главный источник здесь - документация той версии, которую вы скачали. Если вы также используете Community Framework или другие моды на базе CF, @CF ставится в начало.

Хардкорная миссия действительно сложнее: лута меньше, погода опаснее, а собственные механики Namalsk Survival, такие как бури EVR и давление холода, усилены. Выбирайте её для группы, которая этого хочет, а не потому, что «hardcore» красивее смотрится в названии сервера. Переключиться между ними позже, фактически не начав заново, нельзя, потому что их экономики отличаются.

Persistence при смене карты#

Persistence хранится отдельно для каждой миссии, в storage_<instanceId> внутри папки миссии. Поэтому новая папка миссии начинается без storage и со свежим миром. При смене карты именно это и нужно: базы, машины и тайники с Chernarus ссылаются на позиции, которые на Deer Isle ничего не значат.

С персонажами вопрос другой. Они хранятся в players.db в той же папке storage, так что по умолчанию тоже не переезжают на новую карту. Некоторые админы пытаются перенести players.db, чтобы игроки сохранили снаряжение. Это может сработать при переезде на равноценную карту, но персонажи, сохранённые посреди города на Chernarus, загрузятся на новом рельефе в тех же координатах - в поле, если повезёт, под землёй или в море, если нет. При смене карты объявите вайп персонажей: так чище, и игроки этого ожидают.

Если хотите сохранить старую карту - чтобы вернуться на неё или держать обе на двух серверах, - оставьте старую папку миссии как есть. Сервер, снова направленный на dayzOffline.chernarusplus, найдёт свой старый storage_1 нетронутым. Двум одновременно работающим серверам нужны свои порты и свой instanceId; ключи описаны в статье serverDZ.cfg по строкам. Вайпы в целом, включая частичные, - в статье Вайпы и persistence в DayZ.

Лут, события и спавны на карте сообщества#

Миссия сообщества приходит со своей экономикой, и её значения по умолчанию отражают вкус автора. Скорее всего, её придётся подстраивать, используя те же файлы и правила, что и на Chernarus. Подробная механика описана в руководстве по types.xml в DayZ; вот что специфично для карт.

  • Имена usage и value отличаются. Каждая карта определяет свои допустимые зоны лута и тиры в cfglimitsdefinition.xml. Запись types, скопированная из руководства по Chernarus, может ссылаться на тир, которого на карте нет, а запись, не ссылающаяся ни на что допустимое, никогда не спавнится. Прежде чем что-то вставлять, проверьте файл карты.
  • Координаты событий у каждой карты свои. Машины, крушения вертолётов и другие события появляются только в позициях, перечисленных в cfgeventspawns.xml миссии. Событие, скопированное с Chernarus без новых координат, либо ничего не делает, либо спавнит машины внутри скал.
  • Точки спавна определяют первые десять минут. cfgplayerspawnpoints.xml управляет тем, где появляются новые персонажи. Авторы часто раскидывают их щедро; если каждого нового игрока убивает один и тот же кемпер на побережье, править нужно этот файл.
  • Зданиям нужны позиции лута. Лут в здании появляется, только если mapgroupproto.xml миссии описывает позиции для его класса. Для новых зданий, добавленных в более поздних версиях карты, нужны обновлённые proto-файлы от автора; вручную вы их писать не будете.

Как и при любой работе с экономикой, держите свои изменения в отдельной папке, зарегистрированной в cfgeconomycore.xml, а не правьте файлы автора напрямую. Когда автор карты выпустит новую версию миссии, вы замените его файлы, а ваша папка останется.

Другие моды на карте сообщества#

Большинство популярных модов DayZ не привязаны к карте: оружие, одежда, строительство баз, инструменты администратора. Они работают на любом рельефе, но с двумя оговорками.

Предметам, которые добавляет мод, нужны записи в экономике, и эти записи должны использовать имена usage и value этой карты. У оружейного пака, чей файл types написан под Chernarus, может понадобиться отредактировать строки usage и value под тиры Namalsk, прежде чем хоть что-то появится.

Моды, которые размещают объекты в мире, - торговцы, безопасные зоны, патрули AI, кастомные базы - содержат координаты, а координаты у каждой карты свои. Файл торговца, написанный для Chernarus, поставит торговца на Deer Isle в случайное место. Крупные фреймворки вроде DayZ Expansion именно поэтому публикуют файлы миссий для каждой карты; как совместить его с картой, описано в руководстве по DayZ Expansion.

Собственные постройки - лагерь торговцев, новую военную базу - можно добавить и без мода. В последних сборках в cfggameplay.json есть список спавнера объектов, который читает JSON-файлы с объектами и позициями, экспортированные из инструмента расстановки вроде DayZ Editor от сообщества. Так дополнения карты остаются в папке миссии, где им и место, а не в скрипте, который вам придётся поддерживать.

Обновление карты сообщества#

Карты обновляются по собственному графику, и обновление рельефа тянет за собой последствия:

  • Клиенты и сервер должны совпадать. Когда мод рельефа обновляется в Workshop, игроки получают его автоматически через лаунчер, а сервер со старой версией их не пускает. Обновите копию мода на сервере и его ключ в тот же день.
  • Обновления миссии ставятся вручную. Новый релиз миссии - новые позиции лута, новые события - приходит как загрузка, которую вы объединяете со своей. Прежде чем перезаписывать, сравните её с текущей папкой; ваша кастомная папка ce и отредактированный serverDZ.cfg остаются как есть.
  • Сначала обновляется игра. После патча DayZ авторам модов карт часто нужно пересобрать их. Пока этого не произошло, модовый сервер может не запуститься. Не включайте автообновление на сервере с картой сообщества в день патча; порядок действий описан в статье что делать, когда обновление мода всё сломало.

Делайте backup перед каждым обновлением. На RE:NODE слоты для backup на тарифах DayZ хранятся вне машины, которую они защищают, восстанавливаются одной кнопкой, а backup можно заблокировать, чтобы плановая ротация никогда не удалила тот, что вы сделали перед обновлением.

Ресурсы и диск#

Карта сообщества обходится дороже ванильного сервера в двух местах. Первое - диск: установка сервера занимает несколько гигабайт, а большая карта сообщества с зависимостями может добавить ещё столько же, не считая других модов. Убедитесь, что диска на тарифе хватает на карту, все остальные моды, логи и запас на пару backup.

Второе - память и CPU. Плотные карты с большим количеством зданий и позиций лута дороже в симуляции, чем открытая местность, а слои выживания, которые добавляют некоторые карты, запускают собственные скрипты. Сервер Deer Isle или Namalsk на 30-40 игроков чувствует себя комфортно там же, где и аналогичный ванильный, с небольшим запасом памяти на дополнительные моды; карта сообщества с большим количеством модов относится к верхней части таблицы требований DayZ. Если сервер замедляется, когда заполняется, сначала посмотрите на записанный серверный FPS, а потом уже покупайте память - почему, объясняет статья CPU или RAM для игровых серверов.

Устранение неполадок#

Сервер останавливается при запуске с ошибкой миссии. template указывает на несуществующую папку или отличается регистр. Сравните его посимвольно с папкой в mpmissions.

Игроков выкидывает с ошибкой подписи. В keys не хватает ключа карты или зависимости, либо мод обновился и пришёл с новым ключом. Скопируйте все ключи заново.

Игроки появляются в море или умирают сразу после появления. Миссия не соответствует рельефу - обычно осталась миссия Chernarus при новом моде карты. Проверьте template.

На карте нет лута. Экономика не загрузилась или не подходит к карте. Поищите ошибки XML в логе .RPT и убедитесь, что все добавленные вами types используют имена usage и value этой карты.

Машины так и не появляются. У их событий нет допустимых позиций в cfgeventspawns.xml этой миссии, или на карте низкое значение nominal по умолчанию.

Лаунчер не скачивает карту игрокам. Сервер не объявляет мод - часто потому, что он указан в -servermod=, а не в -mod=. Рельеф должен быть в -mod=.

FAQ#

Нужно ли игрокам скачивать карту?

Да. Мод рельефа и его зависимости - клиентские моды; DayZ Launcher скачивает их, когда игрок заходит через него на ваш сервер. На сервере остаётся только папка миссии.

Можно ли перевести сервер с Chernarus на Deer Isle без вайпа?

По сути - нет. Новая миссия начинается со своим пустым persistence, а перенесённые персонажи окажутся в координатах Chernarus на новом рельефе. Планируйте смену как новый старт и объявите о ней.

Чем regular.namalsk отличается от hardcore.namalsk?

Это две миссии для одного рельефа. В хардкорной экономика суровее, а механики окружающей среды Namalsk Survival усилены. Выбирайте до запуска; переключение позже означает новый мир.

Где взять файлы миссии для карты сообщества?

У автора карты - ссылка обычно есть на странице в Workshop, а сами файлы часто лежат на GitHub. Не используйте папку миссии из случайного перезалива: она может быть устаревшей или изменённой.

Можно ли запустить две карты на одном сервере?

Один процесс сервера загружает одну миссию. Чтобы предложить две карты, запустите два сервера с отдельными портами и instance id, у каждого свои моды.

Почему лут из мода не появляется на новой карте?

Его записи types используют имена usage или value с другой карты. Проверьте имена в cfglimitsdefinition.xml карты и исправьте записи мода соответственно.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000