RE:NODE

Картографический стол Valheim: общие карты на сервере

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


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

Где хранится карта#

Valheim делит сохранённые данные на две части. Мир - рельеф, постройки, сундуки, существа - хранится на сервере в файле .db мира. Персонаж - инвентарь, навыки, внешность, сила Forsaken - хранится на машине игрока в файле .fch в папке characters_local. Исследованная карта принадлежит персонажу.

Внутри каждого файла персонажа игра держит отдельную запись карты для каждого мира, который тот посетил, привязанную к внутреннему ID мира, а не к его названию. В записи лежат исследованная область (расчищенный туман войны), ваши метки и точка возрождения у кровати для этого мира. Полные пути в Windows и Linux есть в статье расположение файлов и сохранений Valheim.

У этого есть последствия, которые удивляют группы:

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

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

Картографический стол шаг за шагом#

Картографический стол добавили в обновлении Mistlands; это деталь бронзового века, которая строится молотком рядом с верстаком. На момент написания он стоит fine wood, медь, фрагменты костей, обрезки кожи и малину; точное количество смотрите в меню строительства молотка в своей версии.

code
Cartography table (Workbench): Fine wood x10, Copper x10, Bone fragments x10,                               Leather scraps x5, Raspberries x4

У стола два действия, по одному с каждой стороны.

СторонаДействиеЧто происходит
Письменные принадлежностиЗаписьДобавляет на стол вашу исследованную область и метки
Большая картаЧтениеДобавляет в вашу карту исследованную область и метки со стола

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

Рабочий повседневный порядок:

  1. Вернулись домой - запишите. После любого похода в новые места запишите карту на стол до выхода из игры.
  2. Перед походом - считайте. Влейте в свою карту исследование остальных, чтобы знать, где они нашли тот склеп.
  3. Новички считывают по прибытии. Первое, что делает поздно подключившийся, - считывает стол, и одним действием получает всю карту группы.

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

Метки на общей карте#

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

Метки - самое полезное, чем делится стол, и первое, что превращается в кашу. Десять игроков, каждый из которых отметил каждое месторождение меди, дают карту, которую никто не может прочитать. Помогает короткое соглашение.

pin-conventions.txt
Prefix     Use for---------  -----------------------------------------------Base:      Player bases - "Base: Asha", "Base: Rolf"Portal:    Portal huts - "Portal: swamp crypt N"Ore:       Resources worth returning to - "Ore: silver x3"Boss:      Boss altars from vegvisirsDanger:    Hazards - "Danger: abomination", "Danger: lox herd"Pick one icon per prefix. Delete pins for things you have finished.

Vegvisir - хороший пример того, почему метки важны. Чтение vegvisir ставит маркер босса только на карту этого персонажа. Если один игрок прочёл vegvisir Swamp, Bonemass не открывается ни у кого другого - но после его записи на стол маркер получает каждый, кто считает стол. То же с Haldor и Hildir: найденный торговец появляется на одной карте, а стол разносит его дальше. Подробнее о местах торговцев - в статье торговцы на сервере.

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

Игроки, пришедшие новым персонажем#

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

На сервере с картографическим столом восстановление занимает мало времени:

  1. Добраться до базы или попросить кого-то доставить его туда порталом от камней.
  2. Считать картографический стол. Появляются вся исследованная карта группы и метки.
  3. Занять кровать и поспать в ней, чтобы задать новую точку возрождения.

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

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

nomap: игра без карты#

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

bash
# Add to the server's launch arguments-setkey nomap

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

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

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

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

При наличии devcommands - на выделенном сервере это значит мод ServerDevcommands - у администраторов есть такие команды для работы с картой:

КомандаЭффектПримечание
exploremapОткрывает всю карту для вашего персонажаДействует только на вас
resetmapОчищает вашу исследованную картуДействует только на вас
posВыводит вашу текущую позициюУдобно, чтобы описать, где что-то находится

Они действуют только на персонажа администратора. Но взаимодействуют со столом: запись после exploremap записывает на стол весь мир, и каждый, кто потом его считает, получает полную карту. Это портит исследование для группы, а поскольку чтение только добавляет, отменить это никто не может иначе, чем resetmap на своём персонаже, что также стирает его настоящее исследование. Никогда не записывайте на стол после открытия карты.

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

Защита общей карты#

Содержимое стола - часть мира и хранится вместе с деталью стола в файле мира. Отсюда два следствия.

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

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

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

Решение проблем с картами на сервере#

Моя карта пуста после подключения. Либо это новый мир (новый внутренний ID, значит чистая карта), либо вы зашли другим персонажем, либо файл персонажа на этом ПК не тот, с которым вы играли раньше. Сначала проверьте имя персонажа на стартовом экране. Если оно верное, а мир новый, считайте картографический стол.

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

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

Вся карта вдруг открылась у всех. Кто-то записал после exploremap или после того, как мод открыл карту. Чтение только добавляет, поэтому вернуться можно либо resetmap на каждом затронутом персонаже, либо восстановлением бэкапа мира до записи, который откатит стол вместе со всем остальным в мире.

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

FAQ#

Почему мой друг не видит то, что я исследовал?

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

Обновляется ли картографический стол автоматически?

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

Потеряю ли я свои метки, если считаю стол?

Нет. Чтение добавляет исследованную область и метки со стола к вашей карте, не удаляя того, что у вас уже было. Запись работает так же в обратную сторону.

Сотрёт ли вайп сервера наши карты?

У нового мира новый внутренний ID, поэтому каждый персонаж начинает там с пустой карты. Старые карты остаются в файле каждого персонажа под старым миром и вернутся, если старый мир когда-нибудь загрузят снова.

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

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