Перейти к содержимому

Кастомная карта Rust на локальном сервере (раст)

Коротко: остановите сервер, откройте кнопку Карта на простом виде и выберите карту. Ваши экспорты Crucible Heightmap уже в этом списке с пометкой export, и выбор одного из них импортирует его и назначает в один щелчок. Нажмите Запустить сервер, и сервер загрузится на вашей карте.

Crucible Local Server запускает кастомные карты Rust так же легко, как процедурные. Вы назначаете серверу файл .map, выбираете, как он попадёт на выделенный сервер Rust, и запускаете. Рельеф из Crucible Heightmap обходится вообще без возни с файлами: приложение само находит ваши экспорты Heightmap, и их можно назначить в один щелчок.

В этом видео путь от экспортированной карты до прогулки по ней в игре на бесплатном локальном сервере:

Вкладка «Карта» в Crucible Local Server с библиотекой карт и вариантами доставки кастомной карты

Вкладка Карта это четыре карточки сверху вниз, плюс пятая на сервере Carbon или Oxide:

  • Что запустит этот сервер: либо «Своя карта: название», либо «Процедурная карта» с её сидом и размером. У своей карты справа есть ссылка Очистить (вернуться к процедурной).
  • Доставка: переключатели, которые решают, как Rust загрузит кастомную карту, со строкой под ними, объясняющей выбранный вариант.
  • Карты: ваши экспорты Crucible Heightmap, импортированные файлы .map и собственные процедурные миры этого сервера.
  • Сохранённые миры: файлы .sav, то есть миры, построенные на этих картах.
  • Расширение RustEdit: только на сервере Carbon или Oxide; см. карты с кастомными данными ниже.

У каждой строки в карточках карт и сохранённых миров есть миниатюра, кнопка выбора или снятия выбора и кнопка «Удалить».

Пока сервер работает, вкладка заблокирована

Заголовок раздела «Пока сервер работает, вкладка заблокирована»

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

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

Остановите сервер, смените карту, запустите снова.

Чтобы сменить карту, вкладку «Карта» открывать не обязательно. Кнопка Карта справа в ряду кнопок простого вида открывает меню:

  • Процедурная возвращает сервер к процедурному миру и выбирает новый случайный сид.
  • Каждая карта из вашей библиотеки, назначается одним щелчком.
  • Каждый ещё не импортированный экспорт Crucible Heightmap с пометкой export. Выбор такого экспорта импортирует его в вашу библиотеку и назначает серверу тем же щелчком.

Экспорт, сделанный минуту назад, уже есть в списке. Как и вкладка «Карта», кнопка заблокирована, пока сервер работает.

Миры, которые Rust генерирует для сервера, при первом запуске сохраняются в собственную папку этого сервера. Crucible показывает каждый из них (строка proceduralmap.<size>.<seed> с пометкой Процедурный мир на этом сервере) в карточке карт. Они никогда не копируются в вашу библиотеку карт: процедурный мир принадлежит серверу, который его создал.

Выбор процедурного мира не назначает кастомную карту. Он задаёт сид и размер мира сервера, чтобы Rust снова построил именно этот мир:

  • Мир, который сервер запускает сейчас, показан с зелёной пометкой Используется. Щёлкните по ней, чтобы снять выбор, и на следующем запуске будет новый случайный мир.
  • Любой другой процедурный мир показывает Использовать. Щёлкните, чтобы переключить сервер на этот сид и размер.

Proc Gen открывает собственную папку сервера, а Сканировать ищет заново после того, как был сгенерирован новый мир. Что значит каждый размер мира в игре, см. в размерах карт Rust.

Файлы .map лежат в общей библиотеке карт, из которой может выбирать любой сервер. Чтобы добавить файл:

  • Перетащите .map в окно, чтобы импортировать его.
  • Ваши экспорты Crucible Heightmap появляются в карточке карт сами, пунктирными строками с пометкой Экспорт из Heightmap и названием проекта. Нажмите Импорт у нужных. Сканировать ищет заново.
  • Свои карты открывает папку библиотеки напрямую.

У каждой карты в библиотеке есть Назначить (или зелёная пометка Используется, по которой можно щёлкнуть, чтобы вернуться к процедурной). Назначение кастомной карты сбрасывает процедурные настройки сервера (сид и размер мира), потому что мир теперь определяет файл карты.

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

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

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

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

Rust загружает кастомную карту по ссылке, поэтому Crucible Local Server даёт два способа доставки, которые выбираются переключателями в карточке Доставка:

  • Локально (file://): карта грузится прямо с вашего диска. Это вариант по умолчанию и самый простой для сервера на вашем ПК, но загрузить её может только этот ПК, так что друзья с других ПК зайти не смогут.
  • URL размещения: для игроков на других ПК загрузите .map туда, где есть прямая ссылка на скачивание, и вставьте её в URL уровня в разделе Мир во вкладке Конфиг. Это должна быть ссылка https: Rust скачивает карту только по https, а обычная ссылка http отклоняется ещё до запуска сервера.

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

Карты, сделанные в RustEdit с собственными префабами, спавнами и лутом, требуют расширения RustEdit, чтобы загрузить эти данные. Обычным картам из Heightmap оно не нужно. Карточка Расширение RustEdit на вкладке «Карта» показывает, Установлено оно или Не установлено на этом сервере, с кнопкой Установить расширение RustEdit, которая кладёт его в файлы именно этого сервера. Когда оно на месте, кнопка называется Переустановить / обновить: её нажимают после обновления Rust. Для обоих действий сервер должен быть остановлен.

Расширению нужен загрузчик модов, поэтому карточка появляется только на сервере Carbon или Oxide. Ванильный сервер принять его не может, а Crucible не станет втихую превращать ваш ванильный сервер в модифицированный: для карты RustEdit с кастомными данными создайте сервер Carbon или Oxide.

У каждой строки есть кнопка «Удалить», и что она убирает, зависит от строки:

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

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