RE:NODE

Терраформирование на серверах Valheim: мотыга, кирка и лаги

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


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

Общая картина лагов - владение зонами, какие объекты обходятся дороже всего - описана в статье Лаги сервера Valheim: владение зонами и рассинхронизация. Эта статья посвящена самой земле.

Инструменты терраформирования и что делает каждый#

В Valheim три инструмента, меняющие рельеф, и они ведут себя настолько по-разному, что стоит быть точным.

ИнструментДействиеЧто меняетПримечания
МотыгаВыровнять землюВысоту, до уровня, на котором вы стоитеОсновной инструмент выравнивания
МотыгаПоднять землюВысоту, вверхРасходует камень
МотыгаТропаТолько окраску (земляная тропа)Высота не меняется
МотыгаМощёная дорогаТолько окраску (мощёный вид)Высота не меняется
КиркаКопатьВысоту, внизЛюбая кирка, в любой рыхлой земле
КультиваторВспахатьОкраску (пригодная для посадок почва)Нужен для посадки большинства культур
КультиваторТраваОкраску обратно в травуВозвращает вид, но не исходные данные

Несколько деталей, на которых спотыкаются:

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

Как хранятся изменения рельефа#

Мир Valheim разделён на зоны размером 64 на 64 метра. Рельеф каждой зоны генерируется из сида, когда он нужен, так что нетронутая зона не занимает на диске места под землю - только под объекты на ней.

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

Эту систему Valheim использует с обновления Hearth and Home в 2021 году. До этого каждый взмах мотыги или кирки был отдельным объектом в мире, поэтому старые миры с годами терраформирования могли становиться очень медленными. Hearth and Home ввело записи по зонам и команду optterrain, которую админ с devcommands может запустить, чтобы преобразовать старые модификации в загруженной области в новый формат.

code
optterrain

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

исходная земляиз файла мираприменить, перестроитьСид мирагенерирует рельефЗапись рельефаразница высот и окраскиКлиентзагружает зонуСетка и коллизииперестроены с правками
Что происходит, когда клиент загружает изменённую зону

Два практических следствия:

  1. Правки не сливаются в ничто. Подъём земли обратно до исходного уровня - это ещё одна правка, а не удаление. Зона сохраняет запись рельефа в любом случае. Поэтому статья Размещение базы на общем сервере Valheim советует не поднимать землю обратно: зона дешевле не становится, а камень вы потратите.
  2. Цена зависит от числа затронутых зон. Дорога, пересекающая пятнадцать зон, добавляет запись в пятнадцать зон, как бы узка она ни была. Большое выровненное плато на стыке четырёх зон затрагивает четыре.

Лимит высоты рельефа#

Valheim ограничивает, насколько далеко рельеф можно сместить от исходной высоты. В ванильной игре землю можно поднять или опустить примерно на 8 метров относительно высоты, сгенерированной по сиду. Дальше мотыга и кирка на этом месте перестают действовать.

Об это спотыкаются при постройке рвов и подвалов. Если копать подвал в склоне холма, вы упрётесь в пол, ниже которого не спуститься; если поднимать платформу на впадине, она перестанет подниматься. Лимит отсчитывается от исходного рельефа, а не от уровня моря, так что на высокой горе в неё всё равно можно врыться на 8 метров, а в долине - поднять землю на 8 метров от дна.

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

Почему огромные выровненные участки замедляют мир#

Терраформирование бьёт в трёх местах, и лишь одно из них - сервер.

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

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

Сервер и файл мира. Сервер хранит записи, отправляет их клиентам, загружающим зону, и записывает их при каждом сохранении. Давно работающий мир с обильным терраформированием несёт более крупный .db, и сохранение и отправка занимают чуть больше времени. Это реально, но обычно самое малое из трёх. Более мощный тариф не исправляет клиентскую часть, а именно её замечают. Как понять, в какой именно лимит вы упираетесь, описано в общем руководстве CPU и RAM для игровых серверов.

ПривычкаЗатронуто зонТипичный эффект
Выравнивание под фундамент дома1Нечего измерять
Тропы между постройками в одной базе1-2Пренебрежимо мало
Выравнивание вершины холма под замок2-4Заметное подвисание при прибытии
Поднятые дороги через всю картуДесяткиМного зон, каждая чуть тяжелее
Вырытые каналы или рвы вокруг базы2-6Тяжёлые правки именно в самых загруженных зонах

Всё это не повод не терраформировать. Это повод делать это там, где оно оправдано.

Безопаснее терраформировать группой#

В общем мире цену терраформирования платят все, кто приходит, поэтому несколько домашних правил сильно помогают.

  1. Выбирайте естественно ровную землю. В Лугах и на Равнинах её много. Пять минут на поиск ровного места экономят вечер с мотыгой и навсегда сохраняют базу лёгкой. Просмотрщики карт по сиду, о которых говорится в руководстве по сидам Valheim, делают это простым ещё до запуска мира.
  2. Используйте фундаменты вместо земли. Каменные или деревянные полы на столбах над неровной землёй выглядят лучше выровненной платформы и не затрагивают записи рельефа. Они расходуют строительные элементы, а это уже другой компромисс - элементы тоже объекты, - но для одного дома он лучше.
  3. Выравнивайте только основание. Выровняйте место под зданием, а не весь холм.
  4. Прокладывайте тропы по тем маршрутам, которыми ходят, а не по каждому квадратному метру. Окраска дёшева за один мазок, но вся она попадает в запись.
  5. Поднятые дороги - только там, где они нужны лодкам и телегам. Дороги для телег важны при стандартных правилах порталов, потому что руда ходит на телегах или лодках. Когда дорога стоит затрат, описано в статье перевозка руды без порталов.
  6. Не отменяйте старое терраформирование. Оставьте как есть. Пересборка холма добавляет работы и ничего не экономит.
  7. Не допускайте тяжёлого терраформирования в главной базе и в хабе порталов. Это самые загружаемые зоны в мире. Почему хаб должен стоять на естественной земле, объясняет статья Проектирование хаба порталов Valheim.

Фермы, вспаханная почва и рельеф#

Фермы - самое частое крупное терраформирование на сервере, потому что большинству культур нужна вспаханная почва, а вспашка - это окраска рельефа.

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

Разумная групповая ферма рассчитана на то, что ест группа, расположена на естественно ровной земле Лугов или Равнин, умещается в одну зону, а культиватор применяется один раз, а не многократно. О том, как вести общую ферму - культуры по биомам, пересадка и дежурства по еде, - рассказано в статье Общее земледелие и еда в Valheim.

Инструменты админа и моды для рельефа#

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

  • Upgrade World от JereKuusela умеет регенерировать зоны, что сбрасывает их рельеф - и удаляет всё, что в них построено. Это инструмент для неисследованных или заброшенных областей, а не для наведения порядка на базе. Прочитайте Upgrade World для Valheim и сначала сделайте бэкап.
  • ServerDevcommands, тоже от JereKuusela, расширяет devcommands на выделенном сервере, что помогает админу долететь до сильно изменённой области и осмотреть её. См. ServerDevcommands на выделенном сервере.
  • Моды для строительства и рельефа, поднимающие лимит высоты, добавляющие большие кисти или точное выравнивание, есть на Thunderstore. Они делают терраформирование проще, а не реже. Ставьте их осознанно, с правилом о том, где крупные правки приветствуются.

Всё, что массово редактирует рельеф, сначала проверяйте на копии мира. На RE:NODE перед любым таким изменением можно сделать бэкап из панели и восстановить его одной кнопкой, если результат неверный. Слоты бэкапов есть на каждом тарифе Valheim, а файловый менеджер и SFTP позволяют скачать файлы мира .db и .fwl и для локальной копии.

Решение проблем с рельефом#

Мотыга или кирка перестала работать в одном месте. Вы достигли лимита высоты примерно в 8 метров выше или ниже исходной земли. Ничего не сломано.

Мотыга ничего не делает на базе друга. Его оберег активен, а вам не разрешено. Попросите добавить вас или отключить оберег на время работы.

Кто-то прорыл траншею через нашу ферму. Обереги не блокируют копание киркой. Засыпьте её подъёмом земли мотыгой, примите, что зона сохраняет запись, и считайте это вопросом правил. Как админы справляются с грифингом, описано в статье об оберегах, ссылка на которую приведена выше.

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

Парящая трава или странная ступень в земле после правки. Артефакт отрисовки на клиенте, обычно проходит, если отойти и вернуться, чтобы зона перезагрузилась. Если после перезапуска это видят все, правка действительно есть; сгладьте её мотыгой.

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

FAQ#

Терраформирование тормозит сервер или игроков?

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

Можно ли отменить терраформирование в Valheim?

Нет, чисто нельзя. Землю можно поднять или опустить обратно, но это ещё одна правка, и зона сохраняет запись рельефа. Только регенерация зоны модом возвращает её к исходному виду, и она заодно удаляет всё построенное там.

Как глубоко можно копать в Valheim?

Примерно на 8 метров ниже исходной высоты земли, считая от того, где её поместил сид. Тот же лимит действует вверх при поднятии земли.

Лучше ли строить на каменных полах, чем выравнивать землю?

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

Помогает ли optterrain на новом мире?

Нет. Она преобразует правки рельефа, сделанные до обновления Hearth and Home, в современный формат. В мире, созданном позже, уже используется современный формат.

Платят ли консольные игроки на кроссплее ту же цену за рельеф?

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