При работе над пользовательскими картами рано или поздно возникают некоторые вопросы и проблемы. Большинство из них возникают только у новичков, поэтому, если вы только начали создавать карты, эта статья может вам пригодиться.
Ошибки
Почему я получаю эту ошибку при подключении? (Несоответствие мира, устаревший файл мира)
Если при попытке загрузить карту возникают ошибки «Несоответствие версии кэша мира: 8 != ##########» или «Файл мира устарел: ######», вам следует переименовать карту в уникальное имя, которое вы никогда раньше не использовали.
Всякий раз, когда вы вносите изменения в свою карту, вам следует давать ей новое уникальное имя при размещении на сервере. Добавьте к имени V2.0. Если вы этого не сделаете, то ваша исходная первая карта по-прежнему будет находиться в ваших локальных игровых файлах, и при подключении к серверу он будет отвечать именем .map, и если ваш клиент обнаружит такое же имя, он попытается загрузить уже загруженную старую версию файла. В результате вы попытаетесь загрузить версию, отличную от версии на сервере, что приведёт к ошибке несоответствия файлов. В качестве альтернативы вы можете удалить файл .map в каталоге установки Rust. Это вряд ли возможно для всех игроков, которые играют на вашем сервере.
Сервер зависает при загрузке карты
Обычно это происходит, когда на вашей пользовательской карте нет доступа к океану, то есть нет области, которую можно было бы использовать для создания океанских путей для грузового судна. Это также может произойти, если вся ваша карта состоит из воды. Вы можете исправить это, добавив область с океаном вокруг вашей пользовательской карты. В качестве альтернативы вы можете просто отключить событие «Грузовое судно», используя эти два параметра запуска сервера: baseboat.generate_paths false
и cargoship.event_enabled false
.
Ошибки при попытке загрузить карту
Это означает, что сервер не смог загрузить вашу пользовательскую карту по указанному URL-адресу. Убедитесь, что это прямая ссылка для скачивания, что в ссылке нет орфографических ошибок и что веб-сайт, на котором размещена ваша карта, работает и доступен для всех.
Пример действительной ссылки для скачивания: https://blahblah.net/thats/a/valid.map
Пример плохой ссылки для скачивания: mymap.map
или любая ссылка на сообщение в Discord или ссылка на Dropbox без dl=1
в конце.
Пример локальной ссылки (при локальном тестировании) C:\Users\mymap.map
будет работать только в том случае, если сервер запущен на вашем локальном компьютере. Но не будет работать ни для кого, кроме вас, на вашем компьютере.
Не удалось загрузить Level при подключении к серверу Rust
Иногда возникает проблема, когда проигрыватель не может загрузить карту, хотя на стороне сервера она работала нормально. Единого решения для этой ошибки нет, но при устранении неполадок, но вы можете попробовать загрузить карту напрямую. Откройте консоль F1 и найдите строку, начинающуюся со слов "Загрузить файл карты <...>". Скопируйте URL-адрес и вставьте его в свой браузер. Если загрузка прошла успешно, возьмите эту карту и поместите ее в <root Rust folder>\maps
, после этого вы можете попробовать подключиться к серверу снова.
Если упомянутое решение не помогло, вы можете попробовать устранить неполадки, проверив следующие факторы:
Возможный фактор | Предлагаемые действия |
---|---|
Хост не работает | Это должно быть проверено владельцем сервера. Как игрок, вы должны предоставить как можно больше подробностей, включая код ответа. |
В плеере включен VPN | Некоторые узлы map могут отклонять подключение из-за этого. Попробуйте отключить это. |
Антивирусные фильтры | Некоторые антивирусы могут блокировать некоторые подключения и веб-сайты без уведомления пользователя, что приводит к тому, что Rust не может загрузить файл карты. Откройте настройки антивируса и проверьте все доступные функции сетевой безопасности. |
Неправильная конфигурация DNS / сети | Пользователь должен проверить настройки подключения IPv4 в Windows. Некоторые DNS-адреса, автоматически назначаемые интернет-провайдером, могут вызывать сбои в подключении, хотя это случается редко. Попробуйте переключиться на DNS от Cloudflare или Google. |
Брандмауэр Windows | Никогда не помешает перепроверить правила подключения в брандмауэре Windows. Убедитесь, что у вас есть правило, разрешающее все типы подключения для Rust.exe и RustClient.exe . |
Домен заблокирован | В некоторых странах правительство может блокировать определённые файловые хостинги и другие домены, что не позволяет людям подключаться к хостингу и делает невозможным прямую загрузку файлов. В этом случае игрок может попробовать включить VPN или прокси-сервер при подключении к серверу. Владельцам серверов рекомендуется не использовать общедоступные файловые хостинги, чтобы избежать возможных проблем у игроков из определённых регионов. |
IP-адрес плеера занесен в черный список | Это очень редкое явление, и обычно игрок не может самостоятельно его обнаружить. Владельцам серверов рекомендуется проверить конфигурацию своего хостинга, чтобы убедиться, что он не блокирует доступ к большим группам IP-адресов. Также не стоит блокировать целые подсети, так как это часто приводит к ошибке. |
Неправильная конфигурация веб-сайта | Для владельцев серверов. Если вы используете Apache для своего веб-сайта, проверьте файл .HTACCESS, чтобы убедиться, что в нём нет правил, которые могут без причины отклонять HTTP-соединение. Также убедитесь, что папка с вашим файлом .map открыта для доступа и HTTP-клиентам разрешено загружать файлы напрямую из неё. Также обратите внимание, что Rust не распознаёт содержимое, отправляемое сервером в качестве ответа. Иногда клиент случайно получает ненужную страницу HTTP-ответа вместо файла .map, что приводит к ошибке при подключении к серверу. |
LoadPrefab - должен начинаться с ресурсов/
Один из предоставленных идентификаторов префаба на вашей пользовательской карте не найден в ресурсах Rust, что означает, что он, вероятно, был удалён из игры. С июня 2018 года некоторые относительно популярные префабы были удалены из Rust, поэтому эта ошибка довольно часто появляется на старых пользовательских картах. Некоторые редакторы карт автоматически удаляют все отсутствующие префабы при загрузке, поэтому для исправления ошибки достаточно загрузить и заново сохранить карту.
Название сборного устройства | ИДЕНТИФИКАТОР сборного устройства | Путь к активу | Статус |
---|---|---|---|
Мост | 2633142014 | ресурсы/сгруппированные/готовые элементы/автоматическое появление/декор/мост/мост.готовый элемент | Удалено |
Ливневая канализация | 1869153096 | ресурсы/контент/структуры/ливневая канализация/ливневая_канализация.prefab | Удалено |
Супермаркет 1 | 244764422 | ресурсы/объединенные/готовые/автоматические/памятники/маленькие/супермаркет_1.готовый | Изменено |
Заправочная станция 1 | 3087947638 | ресурсы/объединенные/готовые/автоматические/памятники/маленькие/заправочная_станция_1.готовый | Изменено |
Склад | 4115634190 | ресурсы/сгруппированные/готовые/автоматические/памятники/маленькие/склады. готовые | Изменено |
[На стороне сервера] NullReferenceException: ссылка на объект не указывает на экземпляр объекта (любого)
Это означает, что на вашей пользовательской карте есть повреждённый префаб, который приводит к сбою сервера. Если вы уверены, что дело не в повреждении файла, откройте карту в редакторе и удалите повреждённый префаб. Имейте в виду, что консоль сервера уведомляет только о NRE — подробную информацию об ошибке можно найти в полном журнале сервера. Не всегда можно определить проблемный префаб, поэтому иногда отладка может быть очень утомительным процессом. Обратите внимание на полный журнал NRE, так как иногда вызовы функций могут помочь понять контекст.
[На стороне клиента] Исключение NullReferenceException: ссылка на объект не установлена для экземпляра объекта - MaterialConfig.GetMaterialPropertyBlock <...>
Это ошибка на стороне клиента, которая появляется, как только игрок подключается к серверу. Обычно это связано с небольшим набором префабов «эффекта брызг», которые перестали работать в начале 2022 года, поэтому это также затрагивает в основном старые карты. Вам нужно открыть карту в любом редакторе и убедиться, что в сцене нет следующих префабов:
Название сборного устройства | ИДЕНТИФИКАТОР сборного устройства | Путь к активу |
---|---|---|
Groundsplash | 4076315628 | ресурсы/сгруппированные/готовые префабы/fx/вода/брызги на земле. готовый префаб |
Всплеск в воздухе | 4280877006 | ресурсы/сгруппированные/готовые элементы/fx/вода/брызги в воздухе. готовый элемент |
Rock Splash A | 2127423332 | ресурсы/контент/природа/реки/каменный_водопад_a. префаб |
Rock Splash B | 2894585008 | ресурсы/контент/природа/реки/каменный_брызг_b. префаб |
Rock Splash C | 1854183667 | ресурсы/контент/природа/реки/каменный_водопад_c. префаб |
Почему моя пользовательская карта застревает при попытке сгенерировать океанский путь?
Это может произойти, если на вашей пользовательской карте мало или совсем нет океана. Сервер попытается сгенерировать маршрут патрулирования по океану, но ему это будет сложно.
Чтобы устранить эту проблему, вы можете либо изменить карту так, чтобы вокруг острова был более крупный океан, либо добавить следующие команды в параметры запуска: cargoship.event_enabled false
baseboat.generate_paths false
ai.ocean_patrol_path_iterations 0
Эти команды удалят событие с грузом и отключат отслеживание пути по океану. Это позволит вашему серверу запуститься без зависания при генерации пути по океану. Имейте в виду, что если вы создадите грузовой корабль на этой карте, он будет статичным и не сможет двигаться, так как на карте нет сгенерированного пути для груза.
Советы
Как внести изменения в карту во время очистки, не очищая сервер?
Вносить изменения в процессе очистки нецелесообразно, но в сложных ситуациях, таких как ошибки или уязвимости, вы можете внести изменения в карту, выполнив следующие действия.
Оригинальная карта: MapVersion1.map
Оригинально сгенерированный sav: MapVersion1.182.sav
Полностью отключите сервер.
Измените server.levelurl для загрузки новой карты: MapVersion2.map
Переименовать существующий файл sav с первой карты на вторую карту: MapVersion2.182.sav
Не переименовывайте существующий файл MapVersion1.map
в другое имя. Это приведет к тому, что клиенты получат сообщение об ошибке World File Mismatch
или World cache checksum mismatch
. Сервер Rust не загружает пользовательскую карту заново при каждом запуске, если карта уже присутствует. Если вы это сделали, вам нужно будет удалить файлы Mapversion1.map
и Mapversion2.map
перед перезапуском сервера.
Все объекты, которые были созданы при загрузке первой карты, останутся на ней, а новые объекты, добавленные на вторую карту, не будут загружены. К объектам относятся такие вещи, как большие печи, перерабатывающие заводы, нефтеперерабатывающие заводы, ракетные базы.
Собранная информация предоставлена сообществом Rust Map Making.