RE:NODE

Моды для строительства Valheim: PlanBuild, Gizmo и Infinity Hammer

Автор Команда RE:NODE
13 мин чтения


Три мода закрывают почти всё, о чём просят строители в Valheim, и стоят они в трёх разных местах. Gizmo (версия ComfyMods) даёт свободное вращение по всем трём осям и работает чисто на клиенте - сервер о его существовании не знает. PlanBuild добавляет плановые призрачные элементы, Plan Totem и Blueprint Rune, которая копирует, сохраняет и вставляет целые здания; он использует Jotunn и должен стоять и на сервере, и на каждом ПК, где им хотят пользоваться, потому что сервер следит за его правилами. Infinity Hammer - инструмент админа: копировать любой объект, строить без затрат и ограничений, отменять и повторять действия, загружать чертежи из файлов. Он ставится на ПК админа вместе с Server Devcommands и World Edit Commands, а обычным игрокам ничего не нужно. Если разместить всё правильно, остальное - вопрос настроек.

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

Какой мод что делает#

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

МодПакет на ThunderstoreЧто решаетКуда ставить
GizmoComfyMods-GizmoВращение по X, Y и Z, более мелкие углы привязкиТолько на ПК каждого строителя
PlanBuildMathiasDecrock-PlanBuildПланы, копирование и вставка, файлы чертежей, инструменты рельефаСервер и ПК строителей
Infinity HammerJereKuusela-Infinity_HammerСтроительство админа без затрат и ограничений, копирование любого объектаПК админов (вместе с двумя зависимостями)

Названия пакетов важны, потому что у каждого мода есть история. Оригинальный Gizmo от Rolo помечен на Thunderstore как устаревший; поддерживается версия ComfyMods, которую всё ещё часто называют ComfyGizmo. Код PlanBuild лежит в репозитории sirskunkalot/PlanBuild, а его файл конфигурации до сих пор назван по одному из первых авторов, но устанавливаемый пакет опубликован как MathiasDecrock-PlanBuild. Рядом лежат старые форки и пакеты переводов, и некоторые из них устарели, так что проверьте, что у вас основной.

Все три - плагины BepInEx. Если на сервере BepInEx ещё нет, статья о модах Valheim с BepInEx на сервере описывает пакет, стартовый скрипт start_server_bepinex.sh и первый запуск, создающий BepInEx/plugins.

Gizmo: свободное вращение на клиенте#

В ванильной игре элемент поворачивается только вокруг вертикальной оси, шагами по 22,5 градуса. Gizmo добавляет к призраку размещения небольшой гизмо из трёх колец и позволяет наклонять элемент вокруг двух других осей. Согласно его README, удержание LeftShift при прокрутке вращает вокруг X, удержание LeftAlt вращает вокруг Z, а V сбрасывает выбранную ось; клавиша сброса всех осей есть, но по умолчанию не назначена. В более поздних версиях появились горячие клавиши для уменьшения и увеличения вдвое числа делений привязки (по умолчанию PageUp и PageDown), режим вращения в локальной системе координат, включаемый обратным апострофом, и возможность скопировать вращение элемента, на который вы смотрите. Клавиши по умолчанию менялись между версиями, поэтому после первого запуска откройте его файл в BepInEx/config, а не доверяйте видео.

Настройка привязки - та, которую нужно знать. Gizmo описывает углы привязки на 180 градусов, настраиваемые от 2 до 256 в недавних версиях. Большое число даёт почти свободное вращение; малое сохраняет выравнивание, как в ванильной игре. Строители, которым нужны изогнутые стены и наклонные стропила, повышают его; большинство оставляет значение около стандартного и меняет горячими клавишами, когда нужно.

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

PlanBuild: планы, Plan Totem и Blueprint Rune#

PlanBuild добавляет два инструмента и несколько элементов. Plan Hammer, создаваемый из одного куска дерева, размещает плановые элементы: прозрачные призраки любого известного вам строительного элемента, которые ничего не стоят при размещении и не требуют опоры. Позже любой может добавить в план материалы, и тогда он становится настоящим элементом - но чтобы завершить его, всё равно нужны обычный Hammer и подходящая станция создания. Планы, которые как настоящие элементы остались бы без опоры, выглядят прозрачнее и не могут быть завершены, пока что-то их не поддержит. Настоящие элементы привязываются к плановым, что делает планы удобными линейками и распорками.

Plan Totem (строится ванильным Hammer из 1 дерева и 1 глаза Грейдвёрфа) - центральный сундук для плана. Положите в него материалы, и он достраивает поддерживаемые планы в своём радиусе, по умолчанию 30 метров. Он также защищает то, за чем следит: элемент, разрушенный врагом (а не убранный молотом), заменяется планом самого себя, так что после рейда остаётся шаблон для ремонта, а не дыра.

Blueprint Rune, создаваемая из одного камня, - это половина копирования и вставки. Её инструменты выделяют элементы в радиусе или заливкой, копируют или вырезают выделение в буфер обмена, который живёт до выхода из игры, и сохраняют его как файл .blueprint с именем, категорией и описанием. Размещённый чертёж появляется как плановые элементы, так что скопированный длинный дом приходит призраком, ожидающим материалов. Она также читает файлы .vbuild старого мода BuildShare. В руне есть и инструменты рельефа: выравнивание по кругу или прямоугольнику, создание склонов, удаление правок рельефа, перекраска земли и удаление растительности или объектов в радиусе.

Большинство действий руны можно отменить командой bp.undo и повторить командой bp.redo. README предлагает привязать их к клавишам:

code
bind mouse3 bp.undobind mouse4 bp.redo

Чертежи хранятся как файлы на собственном ПК каждого игрока. Каталог сохранения по умолчанию - BepInEx/config/PlanBuild/blueprints относительно папки игры, и мод рекурсивно сканирует папку игры на файлы .blueprint и .vbuild. Чертёж, скачанный с сайта обмена, кладётся в эту папку и появляется в руне после перезапуска или повторного сканирования.

Установка PlanBuild на сервер и клиенты#

PlanBuild зависит от BepInExPack и Jotunn; начиная с версии 0.19.0 ему больше не нужен HookGenPatcher. На сервере:

  1. Остановите сервер и сделайте резервную копию мира.
  2. Загрузите Jotunn в BepInEx/plugins, затем распакуйте весь архив PlanBuild в BepInEx/plugins/PlanBuild - целиком, а не только .dll, потому что мод поставляется с пакетами ресурсов.
  3. Запустите сервер один раз, чтобы создался BepInEx/config/marcopogo.PlanBuild.cfg, остановите, измените серверные настройки (следующий раздел) и запустите снова.
  4. Установите те же версии PlanBuild и Jotunn на ПК каждого строителя, лучше через общий профиль менеджера модов - как это сделать, показывает статья о профилях r2modman для группы.

Правила подключения несимметричны. Игрок без PlanBuild может зайти на сервер, где он работает; он просто не видит плановых элементов, что сбивает с толку, когда друг "строит" рядом что-то невидимое. Игрок с PlanBuild не может зайти на сервер без него - мод блокирует это намеренно, чтобы никто не пользовался его инструментами свободного строительства на сервере, который не может их контролировать. Если версии различаются, проверка версий Jotunn останавливает подключение с сообщением, называющим мод; как читать такое сообщение, объясняют статья о библиотеке Jotunn и статья о киках из-за несовпадения версий модов.

На RE:NODE серверная часть - это работа с файлами: загрузите архив через файловый менеджер (архивы распаковываются на месте) или SFTP, затем отредактируйте marcopogo.PlanBuild.cfg во встроенном в браузер редакторе. Установщика модов в один клик и списка разрешённых модов нет - работает то, что вы загрузили.

Настройки PlanBuild, которые стоит закрыть на сервере#

Настройки в разделе Server Settings файла marcopogo.PlanBuild.cfg применяются на каждом подключающемся клиенте, а админы (ID из adminlist.txt) всегда освобождены. Вот значения по умолчанию из README:

НастройкаПо умолчаниюЧто определяет
Allow blueprint runetrueМогут ли не-админы вообще пользоваться Blueprint Rune
Allow direct buildfalseМожно ли размещать чертежи как настоящие элементы без материалов
Allow terrain toolsfalseМогут ли не-админы пользоваться инструментами рельефа руны
Allow serverside blueprintsfalseМогут ли игроки загружать и скачивать чертежи на этом сервере
Allow clients to use the GUI toggle keytrueРаботает ли горячая клавиша маркетплейса у не-админов
Excluded plan prefabsпустоЭлементы, которые планировать могут только админы

Две, которые меняют сервер выживания, - direct build и terrain tools. Direct build превращает сохранённый чертёж в готовые элементы бесплатно - прекрасно на творческом сервере, конец добычи ресурсов на сервере выживания. Оставляйте выключенным, пока группа не договорилась иначе; серверы, где ему место, описаны в статье о творческих серверах без затрат на строительство. Инструменты рельефа по умолчанию выключены не зря: выровнять большую площадь одним щелчком - самый быстрый способ раздуть данные рельефа мира и сделать зону базы тяжёлой для загрузки, как объясняет статья о терраформинге на серверах.

PlanBuild также учитывает ванильные переключатели мира, облегчающие строительство. С nobuildcost планы строятся мгновенно, а Plan Totem достраивает все поддерживаемые планы в радиусе с пустым сундуком; noworkbench убирает требование станции создания. Они задаются модификаторами мира или setkey, о чём говорит статья о глобальных ключах и setkey.

Включение Allow serverside blueprints открывает маркетплейс (по умолчанию клавиша End или элементы маркетплейса в стиле руны). Игроки загружают командой bp.push <id>, смотрят список командой bp.server и скачивают командой bp.pull <id>; bp.local показывает их собственные. Админы могут не допускать определённые элементы в стол планов у всех командой plan.blacklist.add <prefab_name> и просматривать список командой plan.blacklist.print. Заметьте, что общий чертёж - это набор инструкций, а не лицензия: любой, кто его скачал, всё равно может построить его только из материалов, если direct build не разрешён.

Infinity Hammer: строительный инструмент админа#

Infinity Hammer, автор JereKuusela, описывает себя как нарушающий правила строительства, и так оно и есть. Он позволяет выбирать и копировать любой объект (hammer для того, на что вы смотрите, hammer connect для всего здания, hammer circle=<radius> для области), строить без затрат ресурсов, выносливости и прочности, игнорировать обереги и зоны запрета строительства, убирать обычно неразрушимые объекты, делать элементы неломаемыми, размещать с точными смещениями и свободным вращением и отменять и повторять действия клавишами NumPad7 и NumPad9. Он также может выдать вам особый молот командой hammer_menu, который перечисляет любые элементы, локации или комнаты в меню строительства.

Его пакет на Thunderstore требует ещё два мода того же автора: Server Devcommands и World Edit Commands. Это объясняет, как он вписывается в выделенный сервер. Ваниль блокирует чит-команды на выделенных серверах для всех; Server Devcommands снимает это только для админов, а Infinity Hammer работает через это разрешение. README велит ставить его на клиент админа. Обычным игрокам ничего не нужно, потому что создаваемые им объекты - обычные объекты, с одним исключением: масштабированные объекты. Масштабирование чертежей работает только для объектов, которые можно масштабировать, и README указывает на мод Structure Tweaks, установленный на всех клиентах, чтобы разблокировать масштабирование для остальных.

Server Devcommands также предоставляет систему разрешений, и Infinity Hammer подключается к ней в разделе infinityhammer. Настройки включают no_resource_cost, ignore_wards, ignore_no_build, remove_anything, disable_loot и tools_enabled. Это позволяет дать доверенному строителю бесплатное строительство, не давая ему возможности убрать что угодно в мире. Где находится этот конфиг и что добавляет установка мода на сервер, описано в статье о Server Devcommands на выделенном сервере.

Настройки Infinity Hammer переключаются командой hammer_config, которую удобно привязать:

code
bind u hammer_config tools_enabledbind i hammer_config set_invulnerability On/Off

Чертежи между PlanBuild и Infinity Hammer#

Моды используют общий формат файлов. Infinity Hammer загружает чертежи PlanBuild .blueprint и файлы BuildShare .vbuild и сохраняет новые чертежи в формате PlanBuild:

code
hammer_blueprint longhouse       selects a blueprint file to place with the hammerhammer_restore longhouse         places it at its originally saved positionhammer_save longhouse            saves the current selection as a .blueprinthammer_menu blueprints           opens the blueprint list in the custom hammer

У hammer_blueprint есть необязательные параметры center=, data=, scale= и snap=. Две заметки о совместимости из его документации стоит знать, прежде чем передавать файлы пользователям PlanBuild. Infinity Hammer по умолчанию сохраняет данные объекта вместе с каждым элементом (содержимое сундуков, текст табличек и так далее), из-за чего файлы больше и могут сбить с толку будущие версии PlanBuild; отключите "Save blueprint data" в его конфиге, если файл предназначен для PlanBuild. Он также может сохранять снимки высоты и окраски рельефа в дополнительных разделах файла, которые текущие версии PlanBuild не понимают, поэтому не загружайте файлы с рельефом в PlanBuild.

Частое разделение на групповых серверах: админы используют Infinity Hammer, чтобы размещать большие общественные постройки и быстро исправлять гриферство; игроки используют PlanBuild, чтобы планировать и копировать свои дома и оплачивать их через Plan Totem; а Gizmo - все.

Чего строительные моды стоят серверу#

Ни один из этих модов сам по себе не добавляет серверу работы для CPU; цена - в том, что они упрощают. Valheim хранит в мире каждый элемент и каждую правку рельефа, а игрок, владеющий зоной, должен всё это загружать и симулировать. Копирование и вставка превращают один дом в десять за вечер. Чертёж из сотни элементов, вставленный в дюжине мест, - та же нагрузка, что и постройка вручную дюжины раз, только быстрее. Общая картина описана в статье о производительности и лагах сервера Valheim.

Практические правила, сохраняющие здоровье строительного сервера:

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

На RE:NODE слоты резервных копий входят в каждый тариф Valheim, копия делается по запросу или по расписанию, а восстановление - одна кнопка, поэтому привычка "копировать перед вставкой" стоит десять секунд. Если сильно застроенный мир упирается в предел памяти тарифа, сервер останавливается и запускается чисто, а не уходит в своп, так что оставляйте запас на большом строительном сервере.

Устранение проблем#

"Cannot connect" при установленном PlanBuild. На сервере нет PlanBuild или другая версия. Установите одну и ту же версию с обеих сторон или уберите мод со своего клиента для этого сервера.

Друг ничего не видит там, где вы построили. Вы разместили планы, а у него нет PlanBuild. Либо он его устанавливает, либо планам нужны материалы, чтобы стать настоящими.

Планы не достраиваются. У них нет опоры, нет станции создания в радиусе или при ручной достройке у вас нет Plan Hammer.

Direct build ничего не делает для игроков. Это значение сервера по умолчанию. Строить напрямую могут только админы, пока в конфиге сервера не задано Allow direct build равным true.

Команды Infinity Hammer отклоняются. Вас не признают админом или на вашем клиенте нет Server Devcommands. Проверьте свой ID в adminlist.txt и введите devcommands, чтобы увидеть, принимается ли она.

Горячие клавиши вращения ничего не делают. Другой мод занял те же клавиши или значения Gizmo по умолчанию изменились при обновлении. Проверьте текущие привязки в его файле конфигурации.

FAQ#

Нужно ли игрокам устанавливать Gizmo, чтобы видеть повёрнутые элементы?

Нет. Вращение применяется при размещении элемента, и мир хранит его как любой другой элемент. Gizmo нужен только тому, кто размещает.

Могут ли игроки Xbox заходить на сервер с PlanBuild?

Да, как клиенты без мода, поскольку сервер с PlanBuild принимает игроков без него. Они не увидят плановых элементов и не смогут пользоваться руной, так что на сервере с кроссплеем делайте планы короткоживущими и достраивайте их.

Безопасно ли давать Infinity Hammer каждому игроку?

Не на сервере выживания. Он создан для админов и зависит от разрешения devcommands. Если хотите, чтобы у игроков была его часть, используйте настройки разрешений Server Devcommands и выдавайте конкретные функции, а не полный доступ.

Куда класть скачанные чертежи?

На свой ПК, в каталог сохранения PlanBuild (по умолчанию BepInEx/config/PlanBuild/blueprints) или куда угодно в папке игры, которую он сканирует. На сервер они не загружаются, если сервер не разрешает общие чертежи и вы их не отправите командой push.

Переживут ли эти моды обновление Valheim?

Обычно после того, как их авторы обновят их, а не в день патча. Держите сервер на последней рабочей версии, пока PlanBuild и Jotunn не обновлены, и сначала проверьте на копии мира.