RE:NODE

Размещение баз на общем сервере Valheim

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


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

Дальше - рассуждения, расстояния и решения по планировке, которые из них вытекают, а также то, что значит меньше, чем принято думать. Предполагается, что сервер запущен и вы немного знаете, почему Valheim лагает; фон дан в статье Valheim server lag: zone ownership and desync, а здесь это применяется к карте.

Зоны, активные области и кто чем владеет#

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

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

Три следствия определяют, как стоит планировать общий мир:

  1. Близкие базы загружаются вместе. Если ваша база попадает в активную область вокруг моей, то каждый раз, когда я иду домой, ваша база тоже загружается и симулируется - мной.
  2. Платит владелец. Тот, кто пришёл первым, запускает костры, плавильни, животных и растения. Если это игрок с самым слабым ПК или худшим соединением, это чувствуют все рядом.
  3. Пустые места бесплатны. Огромная база, возле которой никого нет, стоит места на диске и памяти, но не симуляции. Расселиться - не только честно, но и дешевле.

На каком расстоянии друг от друга должны стоять базы игроков#

Цель в том, чтобы пребывание в одной базе не активировало другую. При зоне 64 метра и блоке активных зон вокруг каждого игрока активные области двух игроков перестают пересекаться, когда они находятся на расстоянии нескольких зон.

Расстояние между центрами базЧто происходит
Меньше 100 мОдна общая активная область. По сути одна база
150-250 мКрая пересекаются. Возвращение домой загружает часть базы соседа
300 м и большеРаздельно. Каждая база загружается, только когда кто-то в ней
Разные островаРаздельно, граница естественная - море

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

На карте Valheim нет масштабной линейки, поэтому измеряйте в зонах, а не в метрах. Радиус постройки верстака - самый простой ориентир, который большинство игроков знают на глаз; несколько таких радиусов между краями двух баз - разумный промежуток. Ещё один неформальный ориентир - около минуты бега. Договоритесь о примерных местах до того, как кто-нибудь положит первый пол, и потом не придётся спорить.

Главная база и личные базы#

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

Именно поэтому решения по планировке здесь окупаются больше всего.

  • Стройтесь на естественно ровной земле. Терраформинг хранится как изменения рельефа, и вручную выровненная вершина холма несёт много лишних данных, которые загружает каждый посетитель. На Лугах и Равнинах плоской земли хватает; пользуйтесь ею.
  • Немного разнесите группы станций. Ряд плавилен с печами, ферма и загон для животных не обязаны стоять внутри одного зала. Разделите их несколькими десятками метров, и это всё ещё одна база, но самые тяжёлые части не отрисовываются в одном поле зрения.
  • Держите ровно столько животных, сколько нужно. Ручные животные выполняют свой ИИ там, где стоит их загон, и перенаселённый загон - самая частая причина лагов главной базы. Нескольких пар для разведения хватает, чтобы прокормить группу.
  • Кладите вещи в сундуки. Предметы на земле - физические объекты. Аккуратная база - быстрая база.

Личные базы подчиняются тем же правилам в меньшем масштабе. Игрок, в одиночку построивший гигантский собор, в порядке, пока ничья другая база не попадает в его активную область: нагрузку платит он, и только когда он там.

В каком биоме строиться

Луга и край Чёрного леса - классические места для главной базы: плоская земля, слабые ранние рейды и вокруг нет ничего дорогого для отрисовки. Базы в Туманных или Пепельных землях возможны и смотрятся эффектно, но каждое посещение означает отрисовку окружения, а оно намного тяжелее самой базы. Разницу объясняет статья Valheim performance by biome. Для позднеигровой работы обычный компромисс - небольшой форпост с порталом к главной базе в раннем биоме.

Порталы: хабы, форпосты и прибытие#

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

Разумная схема порталов на общем сервере:

  1. Общий хаб в нескольких шагах за пределами главной базы, а не в её центре. Тогда прибывающие загружают хаб и край базы, а не всю базу.
  2. Один портал на каждое направление, с понятным именем и табличкой.
  3. У каждой личной базы один портал обратно к хабу, с тегом по имени владельца, чтобы избежать коллизий.
  4. Ничего тяжёлого вокруг хаба - ни ферм, ни загонов, ни леса факелов.
недалеко пешкомportal ana-homeportal dato-homeportal plainsХаб порталову главной базыГлавная базастанции и складБаза Аныв 400 мБаза Датодругой островФорпост Равнинячмень и лён
Общий мир с хабом порталов

Правила тегов здесь важны - одинаковые имена на общем сервере соединяют порталы так, как никто не рассчитывал. Статья Valheim portals: tags, pairing and teleport rules разбирает это полностью, включая то, какой металл можно и нельзя нести, а это влияет на то, где должен стоять плавильный форпост.

Плавка и проблема металла

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

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

Что продолжает работать, пока вас нет#

Люди волнуются, что база, далёкая от всех остальных, «не работает». В большинстве случаев всё в порядке, потому что Valheim вычисляет прогресс по времени, когда область загружается снова.

ЧтоПродвигается в выгруженном состоянии
Посевы и саженцыДа, по прошедшему времени
ФерментерыДа
Плавильни, печи, доменные печиДа, догоняют при загрузке, в пределах топлива и руды
УльиДа
Приручение и разведениеНет, нужна загруженная область
Костры и факелыТопливо считается по времени

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

Рейды и размещение баз#

Рейды происходят возле игроков и нацелены на области, которые игра считает базой игрока, - места с верстаками, кострами, кроватями и подобными элементами. Отсюда два замечания по размещению:

  • Удалённые одиночные базы тоже видят рейды. Список рейдов мира применяется к каждой базе, так что одинокий игрок вдали от главного зала сталкивается с теми же событиями при многократно меньшем числе защитников.
  • Близкие соседи делят рейды. Если две базы близко, рейд на одну - рейд на обе, а тот, кто владеет зоной, ведёт весь бой.

Как рейд выбирает цель и какие рейды мир может выбрать, описано в статье raids and events on Valheim servers. Частоту рейдов в мире можно снизить через -modifier raids less, если группа продолжает терять удалённые базы, пока никого нет в сети.

Обереги, заявки на землю и справедливость#

Оберег (ward) помечает область как принадлежащую строителю и допущенным игрокам. Это ближайшее, что есть в Valheim к заявке на землю, и на общем сервере его стоит ставить в каждой личной базе. Он предотвращает случайные недоразумения вроде чужого хаба порталов, разросшегося в ваш сад.

Обереги не заменяют расстояние между базами, и у них есть ограничения, которые целеустремлённый игрок может обойти. Статья Valheim wards and griefing объясняет, что оберег останавливает, а что нет, и как администраторы разбирают споры.

Социальная часть проще любой механики:

  1. Договоритесь, где будет главная база, до первого верстака.
  2. Ведите общую карту на картографическом столе и отмечайте на ней базу и форпосты каждого игрока.
  3. Спрашивайте, прежде чем строиться рядом с кем-то, а если всё же строитесь рядом, делайте это скромно.
  4. Разбирайте заброшенные форпосты или переименовывайте их порталы, чтобы карта не заполнялась старым, наполовину загруженным хламом.

Перенос базы, стоящей не на том месте#

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

  1. Сначала сделайте backup. Корректно остановите сервер, сделайте ручной backup и сохраните его. На RE:NODE это кнопка на вкладке Backups, а backup можно заблокировать, чтобы ротация его не удалила - см. руководство по backup.
  2. Постройте новую базу, прежде чем сносить старую. Переносите станции и склад постепенно.
  3. Разбирайте, а не бросайте. Оставленные стоять элементы всё равно занимают файл мира и загружаются, когда кто-либо проходит мимо.
  4. Не поднимайте землю обратно. Отмена старого терраформинга создаёт ещё больше изменений рельефа, а не меньше. Оставьте как есть.
  5. Следите за размером файла мира и временем сохранения. Меньший .db и более короткое время World saved в логе - ваше доказательство того, что перенос помог.

О том, как сохранить backup в безопасности во время такого большого изменения, говорит статья Valheim server backups and world corruption.

FAQ#

На каком расстоянии друг от друга должны стоять базы Valheim на сервере?

Стремитесь минимум к 300 метрам между центрами баз, а для раскидистых баз - больше. На таком расстоянии пребывание в одной базе не загружает и не симулирует другую, и каждый игрок несёт только своё место.

Перестаёт ли работать база, далёкая от всех остальных?

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

Лучше одна большая общая база или несколько маленьких?

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

Должен ли хаб порталов стоять внутри главной базы?

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

Создаёт ли постройка на границе зон проблемы?

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

Почему главная база лагает, когда дома двое определённых игроков?

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