Как разместить кастомную карту Rust на сервере
Коротко: загрузите файл .map туда, где есть прямая ссылка на скачивание по https, впишите server.levelurl "<эта ссылка>" в строку запуска сервера или в его server.cfg, уберите server.seed и server.worldsize и перезапустите сервер. Сервер и каждый игрок скачивают карту по этой ссылке.
Что понадобится
Заголовок раздела «Что понадобится»- Кастомная карта в виде файла
.map, из Crucible Heightmap, Creator или RustEdit. - Место для файла, которое даёт прямую ссылку на скачивание: если открыть ссылку в браузере, скачивание начинается сразу, без страницы или кнопки между ними. Ссылка должна быть
https. - Сервер Rust, который можно перезапустить, и открытая для правки строка запуска или
server.cfg.
1. Сначала проверьте карту на своём ПК
Заголовок раздела «1. Сначала проверьте карту на своём ПК»Пройдитесь по карте раньше всех остальных. Crucible Local Server запускает её на вашем ПК вообще без ссылки: перетащите .map в его окно, нажмите Назначить, запустите сервер и нажмите Подключиться. Проверьте, что игроки появляются, монументы стоят на земле и ничто не перегораживает дороги. Полный разбор: проверка карты на локальном сервере Rust.
Когда карта загружена (шаг 2), проверьте ссылку так же. На вкладке Карта выберите URL размещения, вставьте ссылку в URL уровня (прямая ссылка на .map) на вкладке Конфиг и запустите сервер. Если карта загрузилась, ссылка работает.
2. Загрузите карту по прямой ссылке
Заголовок раздела «2. Загрузите карту по прямой ссылке»- Скачивание должно начинаться сразу. Страница файлообменника с кнопкой «Скачать» не подойдёт: сервер получит страницу вместо карты.
- На Dropbox ссылка для доступа заканчивается на
dl=0, и она открывает страницу. Замените наdl=1. - Держите ссылку живой. Каждый новый игрок скачивает по ней карту при первом входе, так что мёртвая ссылка не пускает новых игроков, пока сервер работает на этой карте.
- Проверьте её: вставьте ссылку в браузер. Должен скачаться файл с расширением
.mapтого же размера, что и ваш.
3. Направьте сервер на ссылку
Заголовок раздела «3. Направьте сервер на ссылку»В строке запуска сервера:
RustDedicated.exe -batchmode +server.identity "my_server" +server.port 28015 +server.levelurl "https://example.com/maps/mymap.map" +server.maxplayers 100 +rcon.port 28016 +rcon.password "your-own-password" +rcon.web 1Или строкой в server.cfg, в папке cfg сервера (server/<identity>/cfg/, рядом с RustDedicated.exe):
server.levelurl "https://example.com/maps/mymap.map"- Уберите
server.seedиserver.worldsize. Они создают процедурную карту. С URL уровня мир задаёт файл карты. - Возьмите ссылку в кавычки.
- Если и строка запуска, и
server.cfgзадают это значение, побеждает строка запуска.
Подробнее про оба места: пример Rust server.cfg и аргументы запуска.
4. Перезапустите и проверьте консоль
Заголовок раздела «4. Перезапустите и проверьте консоль»Rust читает карту один раз, при запуске сервера, поэтому перезапустите его. Затем в консоли появится:
Loading custom map from https://example.com/maps/mymap.mapа в списке серверов карта будет значиться как Custom Map. Если скачивание не удалось, в консоли появится Couldn't Download Level: с названием карты и причиной, и сервер завершит работу. Сообщения сервера Rust в справочнике ошибок объясняют, что значит каждое и что менять.
Как обновить карту позже
Заголовок раздела «Как обновить карту позже»Сервер и каждый игрок хранят копию каждой скачанной карты, привязанную к её ссылке. Если загрузить изменённую карту по той же ссылке, все продолжат загружать старую. Два способа обойти это:
- Новое имя файла. Загрузите её как
mymap_v2.mapи направьтеserver.levelurlна новую ссылку. Все скачают её заново. Rust называет сохранение мира кастомной карты по имени файла карты, так что это ещё и начинает новый мир. - То же имя файла с новой ссылкой. Чтобы сохранить мир после небольшой правки, оставьте имя файла и измените только конец ссылки, например
https://example.com/maps/mymap.map?v=2. Сначала откройте новую ссылку в браузере и убедитесь, что хостинг и с ней отдаёт карту.
Остановите сервер, прежде чем менять ссылку. Карту он читает только при запуске.
Хостинг для настоящих игроков
Заголовок раздела «Хостинг для настоящих игроков»Когда карта нужна на сервере, который работает без вашего ПК, у Drizzza партнёрство с Pine Hosting: pine.host/drizzza.
Поднимите свой сервер Rust на Pine Hosting за несколько минут, с защитой от DDoS и установщиком плагинов uMod. Скидка 30% по коду DRIZZZA.
Шаги на этой странице на хостинговом сервере те же: загрузите карту, задайте server.levelurl там, где хостинг позволяет править строку запуска или server.cfg, и перезапустите.
Карты с дополнениями RustEdit или Creator
Заголовок раздела «Карты с дополнениями RustEdit или Creator»Обычный сервер Rust запускает рельеф, слои и префабы любой .map. Дополнения, которые некоторые редакторы сохраняют в файле, оживают только с серверным дополнением: загадки и спавнеры RustEdit требуют расширения RustEdit на сервере Carbon или Oxide, а проводка, объёмы и профили лута Creator требуют серверного расширения Creator. См. карты с кастомными данными и RustEdit и что читает обычный сервер.
