Глобальный мод (overhaul) для 7 Days to Die - это совсем другая игра на том же движке: новые предметы, рецепты, зомби, классы, прогрессия и часто новая генерация мира. Самые известные - Darkness Falls, Undead Legacy, Rebirth, Ravenhearst и сборка War3zuk's all-in-one. Запустить такой мод на выделенном сервере несложно, но у него есть пять правил, которых нет у маленького модлета. Сервер должен работать ровно на той версии игры, под которую собран мод. Easy Anti-Cheat должен быть выключен. Каждый игрок должен поставить тот же мод той же версии. Почти всегда начинается новый мир и новое сохранение. И стоит заложить на 2-4 GB памяти больше, чем для ванили. Соблюдите эти пять правил, а дальше остаётся следовать инструкциям самого мода.
В этом руководстве разобрано, чем глобальный мод отличается от модлета, какие есть основные моды и чем они различаются с точки зрения владельца сервера, установка, как привести всех игроков к одной версии, как закрепить версию игры, чтобы обновление не сломало сервер, и какие сбои вы увидите на практике. О небольших модлетах, патчах XPath и порядке загрузки читайте в руководстве по админ-командам и модлетам.
Чем глобальный мод отличается от модлета#
Моды 7 Days to Die - это папки в каталоге Mods, у каждой из которых есть ModInfo.xml. Модлет обычно небольшой: несколько XML-патчей лута, рецептов или спавнов, и часто он работает без всякой установки у игроков, потому что сервер отправляет свою XML-конфигурацию подключающимся игрокам.
Глобальный мод - тот же механизм, но в таком масштабе, что правила меняются:
- В нём есть код. Почти каждый глобальный мод содержит скомпилированные файлы
.dll, которые патчат игру во время работы через Harmony. Код - причина, по которой нужно выключать EAC, и причина, по которой мод работает только на той сборке игры, под которую скомпилирован. - В нём есть ассеты. Новые модели, иконки, звуки, интерфейс и блоки лежат в бандлах ассетов Unity. Ассеты нельзя отправить с сервера, поэтому они должны быть у каждого клиента.
- Он переписывает прогрессию. Деревья навыков, станки, уровни лута и списки зомби заменяются целиком, а не подправляются. Сохранение, сделанное с ванильной прогрессией, не переносится.
- Он часто меняет генерацию мира. Собственные POI, правила биомов или дополнительные префабы означают, что в случайном мире, построенном без мода, не будет того, что мод ожидает найти.
- У него обычно есть зависимости. Многие глобальные моды построены на общих библиотеках - чаще всего это
0-SCore- и поставляют их в своём архиве. Не добавляйте отдельно скачанную копию библиотеки, которая уже входит в мод.
Поэтому глобальный мод - это решение для сервера, которое принимается в начале сезона, а не то, что добавляют во вторник.
Основные глобальные моды с точки зрения владельца сервера#
Каждый из них поддерживает свой автор или команда, по своему графику. Какую версию игры поддерживает каждый, со временем меняется, поэтому первым делом всегда открывайте страницу самого мода.
| Мод | Характер | Заметки для сервера |
|---|---|---|
| Darkness Falls | Сложнее, мрачнее, классы и новые враги | Давно живёт, популярен у групп; нужен новый мир |
| Undead Legacy | Глубокая переработка крафта и предметов | Очень большой объём контента; исторически отставал от релизов игры |
| Rebirth | Большой современный по ощущениям мод с множеством систем | Большая загрузка для клиентов; много памяти |
| Ravenhearst | Долгая прогрессия с гриндом и новые POI | Сделан для длинных сезонов; собственный контент мира |
| War3zuk AIO | Большая сборка всё-в-одном | Очень большой; закладывайте память и диск с запасом |
Некоторые практические различия важнее списков возможностей.
Темп обновлений. Когда выходит крупная версия игры, каждый мод нужно переделывать, и у некоторых это занимает недели или месяцы. Если ваша группа хочет конкретный мод, версию игры на сервере выбирает этот мод, а не Steam. На сервере с новейшей сборкой игры совместимой версии нужного мода может просто ещё не быть.
Размер загрузки. Какие-то моды весят несколько сотен мегабайт, самые большие - несколько гигабайт. Скачивает его каждый игрок, а серверу нужно место под мод, увеличившееся сохранение и резервные копии того и другого.
Распространение. Несколько модов ставятся через лаунчер сообщества - давно известный вариант 7D2D Mod Launcher, - который создаёт отдельную копию игры с применённым модом, так что ванильная установка игрока остаётся чистой. Другие - это zip, который распаковывают в папку Mods. Выясните, как ставится выбранный мод, прежде чем объяснять игрокам, как подключиться.
Требования: память, CPU и диск#
| Конфигурация | RAM | Диск | Заметки |
|---|---|---|---|
| Ваниль, мир 6k, 4 игрока | 8 GB | 40 GB | Базовая точка |
| Лёгкий мод, мир 8k, 4-6 игроков | 10-12 GB | 55 GB | Больше предметов и сущностей |
| Большой мод, мир 8k, 6-8 игроков | 12-14 GB | 70 GB | Ассеты и дополнительные системы |
| Самые большие моды, мир 10k, 8+ | 14 GB и больше | 80 GB и больше | Протестируйте, прежде чем обещать полный сервер |
Глобальные моды расходуют память в трёх местах: дополнительные ассеты и определения, загружаемые при старте, более крупные и разнообразные таблицы зомби и лута в игре и более сложные системы, работающие каждый тик. CPU они расходуют в основном через орду, потому что многие моды добавляют более крепких и разнообразных врагов, и проявляется это в ночь орды. Первый запуск сервера с модом тоже медленнее ванильного, особенно если он заодно генерирует случайный мир, так что готовьтесь к долгому ожиданию и смотрите на консоль, а не на часы.
Тарифы 7 Days to Die в RE:NODE - от 8 GB до 14 GB с NVMe до 100 GB, и этого хватает для большинства глобальных модов для группы. Для самых больших сборок с полным публичным сервером проведите тестовый прогон, прежде чем обещать определённое число игроков.
Установка глобального мода на сервер#
Ниже - общая схема. Если инструкции самого мода отличаются, правы они.
- Проверьте версию. Найдите на странице мода точную сборку игры, под которую он сделан. Узнайте сборку сервера командой
versionв консоли. Если они не совпадают, сначала закрепите версию сервера (следующий раздел). - Сделайте резервную копию. Сохраните весь сервер - установку,
Modsи папку пользовательских данных с сохранениями. В RE:NODE заблокируйте копию, чтобы она пережила ротацию; она понадобится, если сезон пойдёт не так. - Остановите сервер.
- Очистите старую папку `Mods`. Перенесите все имеющиеся модлеты в другое место. Глобальные моды тестируются в одиночку, а смешивание их со случайными модлетами - путь к ошибкам, с которыми никто не сможет помочь.
- Загрузите мод. Большинство модов поставляются с папкой
Mods, внутри которой несколько подпапок. Эти подпапки кладутся прямо в каталогModsсервера, и у каждойModInfo.xmlлежит на её собственном верхнем уровне. Если можете, загружайте zip и распаковывайте на сервере - это гораздо быстрее, чем тысячи мелких файлов по SFTP. - Выключите EAC. Установите
EACEnabledвfalseвserverconfig.xml. - Начните новое сохранение. Новый
GameNameи новый мир, если мод меняет генерацию или POI, - а большинство меняют. Обычный выбор -GameWorldRWGс новым сидом. - Запустите сервер и прочитайте лог. Дождитесь генерации. Затем просмотрите вывод при запуске: каждый мод должен сообщить о загрузке, и ищите красные ошибки.
Mods/ 0-SCore/ ModInfo.xml 0-OverhaulCore/ ModInfo.xml Config/ Resources/ 1-OverhaulPOIs/ ModInfo.xml Prefabs/Числовые префиксы в именах папок стоят не случайно. Моды загружаются в алфавитном порядке папок, и авторы модов с помощью префиксов делают так, чтобы библиотеки загружались раньше зависящего от них контента. Не переименовывайте их.
<property name="EACEnabled" value="false"/><property name="GameWorld" value="RWG"/><property name="WorldGenSeed" value="Darkness Season 1"/><property name="WorldGenSize" value="8192"/><property name="GameName" value="DFSeason1"/>Некоторые моды публикуют отдельный серверный пакет или указывают, какие папки нужны только клиентам. Если ваш мод так делает, пользуйтесь этим: серверу не нужны клиентские интерфейс и звук, а меньшая папка Mods быстрее стартует.
EAC и что значит его выключить#
EACEnabled в значении false - не опция для мода с кодом. Файлы .dll мода патчат игру именно так, как Easy Anti-Cheat и должен блокировать, и с включённым EAC сервер либо откажется от мода, либо будет кикать клиентов, которые его загружают.
Игроки тоже должны запускать игру без EAC. В собственном лаунчере игры есть вариант запуска без EAC; с лаунчером сообщества модифицированная копия обычно и так запускается без него.
Цена этого реальна. EAC - основная защита игры от читов на стороне клиента: полётов, спавна предметов, зрения сквозь стены. На приватном сервере для группы знакомых людей эта цена близка к нулю. На публичном сервере с модом ваша защита - модерация и логи. Для всего, что не является по-настоящему публичным, используйте пароль или вайтлист через serveradmin.xml, а о модерации читайте в статье правила сервера, модерация и команда.
Как привести всех игроков к одной версии#
Самая частая проблема с глобальными модами - не сервер. Это один игрок с другой версией мода.
- Опубликуйте точную версию. Закрепите в своём Discord сообщение с названием мода, номером версии и сборкой игры, на которой он работает, и обновляйте его при каждом обновлении сервера.
- Используйте один источник. Если мод ставится через лаунчер, отправляйте всех туда. Если это zip, давайте ссылку на тот самый релиз, который вы поставили, а не на главную страницу мода, которая уйдёт вперёд.
- Обновляйтесь вместе. Когда у мода выходит обновление, игроки должны обновиться одновременно с сервером. Объявите время, обновите сервер и ждите волну сообщений «не могу зайти» от тех, кто не прочитал объявление.
- Проверяйте обновления посреди сезона. Многие обновления модов совместимы с сохранениями в пределах одной ветки версий, но не все. Это написано в чейнджлоге автора. Если там сказано, что нужна новая игра, значит, нужна.
Как выглядит несовпадение, зависит от того, что именно различается. Отсутствующие ассеты проявляются ошибками при загрузке или киком с сообщением о несовпадении; несовпадающий XML часто пускает игрока, а потом ломается странным образом - предметы не крафтятся, рецепты не появляются, игра падает при взгляде на что-то конкретное. Если у одного игрока странные проблемы, которых нет ни у кого больше, сравните его версию мода, прежде чем отлаживать что-либо ещё.
Как закрепить версию игры#
Глобальные моды компилируются под одну сборку игры. Когда Steam обновляет игру, сервер обновляется вместе с ней, если его не остановить, и мод ломается, пока автор не догонит - а после крупного релиза это может занять много времени.
Решение - закрепить сервер на ветке. 7 Days to Die публикует старые версии как бета-ветки, и SteamCMD умеет устанавливать их:
$ steamcmd +force_install_dir /home/7dtd/server +login your_spare_account \ +app_update 294420 -beta <branch_name> validate +quitИмена веток меняются по мере появления и ухода версий, поэтому берите список во вкладке Betas игры в клиенте Steam или в инструкциях мода, где обычно указано, какую ветку использовать. Игроки должны выбрать ту же ветку в своём клиенте Steam. Ветки, validate и скрипты обновления подробно разобраны в статье SteamCMD по-простому.
У хостера с панелью ветка обычно задаётся переменной на вкладке Startup, а не командой, которую вы набираете, а автоматическое обновление при перезапуске для сервера с модами нужно выключить - или направить на закреплённую ветку. Проверьте и то, и другое до первого перезапуска по расписанию, а не после.
Тестирование мода перед ночью запуска#
Запустить глобальный мод для группы без тестового прогона - верный способ провести ночь запуска за чтением логов.
- Установите мод и запустите сервер, оставаясь на нём единственным.
- Прочитайте весь лог запуска. Каждый мод должен сообщить о загрузке; ищите
ERRиException. - Зайдите с клиента той же версии. Скрафтите что-нибудь из ранних уровней мода, откройте его новые меню и зайдите в POI, который добавляет мод.
- Устройте кровавую луну через
settimeи следите за строкой статистики сервера в консоли - как её читать, объясняет руководство по кровавой луне. - Остановите сервер командой
shutdown, запустите снова и убедитесь, что сохранение загружается с вашим прогрессом. - Сделайте резервную копию и один раз восстановите её, чтобы убедиться, что она работает.
Если можете, делайте это на отдельном тестовом сервере, чтобы настоящий оставался нетронутым до запуска. Более общие привычки описаны в статье как держать сервер с модами в чистоте, а что делать, когда обновление мода всё сломало - порядок действий на тот день, когда мод и игра перестанут договариваться.
Решение проблем#
Сервер запускается, но мод не активен. Папки вложены на уровень глубже, чем нужно. Каждая папка мода с её ModInfo.xml должна лежать прямо в Mods/, а не в Mods/Overhaul/Mods/.
Красные ошибки XML при запуске. Обычно это несовпадение версий мода и игры или оставшийся модлет, который патчит то, что мод удалил. Сначала проверьте версию, затем оставьте в папке Mods только сам мод.
Исключения с упоминанием Harmony или DLL мода. Сборка игры не совпадает с той, под которую скомпилирован код. Закрепите сервер на правильной ветке.
Игроков сразу кикает. EAC всё ещё включён на сервере или у них в клиенте, или у них другая версия мода.
У некоторых игроков сломаны рецепты или пропали предметы. Их версия мода отличается от серверной или у них локально стоит лишний модлет. Сравните версии.
Первый запуск длится очень долго, а потом сервер перезапускается. Генерация мира с большим модом требует больше памяти, чем работа. Если сервер дошёл до лимита памяти тарифа, его остановили и перезапустили. Генерируйте мир, когда никого нет онлайн, возьмите мир поменьше или перейдите на тариф выше; в RE:NODE смена тарифа сохраняет тот же сервер и файлы.
После обновления Steam всё сломалось. Сервер обновился дальше сборки, которую поддерживает мод. Восстановите резервную копию, закрепите ветку и выключите автоматические обновления.
FAQ#
Можно ли добавить Darkness Falls в наш существующий мир?
Нет. Глобальные моды заменяют прогрессию, предметы и обычно контент мира, поэтому им нужно новое сохранение и, как правило, новый мир. Сохраните резервную копию старого мира, если захотите к нему вернуться.
Нужно ли игрокам устанавливать мод?
Да. Глобальные моды содержат ассеты и код, которые нельзя отправить с сервера. Каждому игроку нужен тот же мод той же версии - обычно через лаунчер мода или его релизный zip.
Можно ли запустить глобальный мод с включённым EAC?
Нет, если в нём есть код, а он есть почти во всех. Установите EACEnabled в false и попросите игроков запускать игру без EAC. Защищайте сервер паролем или вайтлистом.
Можно ли совместить два глобальных мода?
Как правило, нет. Каждый заменяет одни и те же базовые системы, и вместе их не тестируют. Выберите один. Небольшие модлеты поверх иногда поддерживаются автором мода; если он публикует список совместимых дополнений, не выходите за его пределы.
Сколько дополнительной памяти нужно глобальному моду?
Закладывайте на 2-4 GB больше, чем тот же мир требовал бы в ванили, и ещё больше для самых крупных сборок. Генерация нового мира с модом - это пик, поэтому оставьте запас на первый запуск.
Что будет, когда игра обновится?
Если сервер обновится дальше сборки, которую поддерживает мод, мод сломается. Закрепите сервер на ветке, которую называет мод, держите автоматические обновления выключенными и переходите на новую версию игры, только когда мод объявит о её поддержке.




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