Здесь собраны сообщения, которые появляются в логе сервера в связи с игроками Bedrock. Они приходят с двух сторон: на Java-сервере плагин Geyser переводит соединение игроков Bedrock, а Floodgate позволяет им заходить без Java-аккаунта. На нативном сервере Bedrock (Bedrock Dedicated Server) сообщения чаще всего исходят от аддонов, то есть пакетов поведения и пакетов ресурсов.
Каждый раздел посвящён ровно одному сообщению. Полный текст ты найдёшь в Консоль, а на Java-серверах дополнительно в разделе Файлы в logs/latest.log. Читай там и строки прямо под сообщением, ведь они часто называют затронутый пакет или настоящую причину.
Прежде чем менять конфигурационные файлы, аддоны или файлы мира, создай резервную копию в разделе Резервные копии. Так ты в любой момент сможешь вернуться к прежнему состоянию.
Geyser не может загрузить свои языковые файлы
Как выглядит сообщение:
java.lang.AssertionError: Unable to load Geyser locale map for <Язык>
at Geyser-Spigot.jar//org.geysermc.geyser.text.GeyserLocale.loadGeyserLocale(GeyserLocale.java:141)
В чём причина: Для каждого игрока Bedrock Geyser нужен языковой файл Minecraft, соответствующий его языковым настройкам, например для немецкого или британского английского. Эти файлы Geyser скачивает при запуске и сохраняет в отдельной папке. Если загрузка при запуске не удалась или папка повреждена, Geyser не находит файл. Тогда игрок Bedrock не может зайти на сервер, а игроков Java это не затрагивает.
Как исправить:
- Перезапусти сервер через Консоль. Geyser при этом заново загрузит языковые файлы.
- Следи за запуском в консоли. Если там написано «Unable to download and extract … locale», то сбой произошёл уже при загрузке. Об этом ниже есть отдельный раздел.
- Если сообщение остаётся, останови сервер и удали в разделе Файлы папку
plugins/Geyser-Spigot/localesили папку.cacheGeyser. - Снова запусти сервер и попроси игрока Bedrock зайти.
Полезно знать: В этих папках хранятся только данные, которые Geyser сам скачает заново. Твои настройки в config.yml сохранятся.
Geyser сообщает об ошибке в сессии игрока Bedrock
Как выглядит сообщение:
[Geyser-Spigot] Exception caught in session of unknown (pre-login)
[Geyser-Spigot] Error thrown in <Игрок>'s event loop!
[Geyser-Spigot] An exception occurred:
В чём причина: Для каждого игрока Bedrock Geyser ведёт отдельную сессию и переводит в ней всё, что передаётся между клиентом Bedrock и сервером Java. Если при этом что-то пошло не так, обычно отключается только этот один игрок. Сервер и остальные игроки продолжают работать. «pre-login» означает, что соединение прервалось ещё до входа. ReadTimeoutException ниже указывает на оборвавшееся соединение.
Как исправить:
- Запиши время, затронутого игрока и то, что он делал в этот момент, например открыл меню или сменил мир.
- Обнови Geyser и Floodgate в разделе Плагины до последней версии. Если ты загружал их сам, замени старые JAR-файлы в
plugins/, а не клади новые рядом. - Перезапусти сервер и попроси игрока повторить действие.
- Если ошибка снова и снова возникает у одного и того же игрока или при одном и том же действии, сообщи о ней в Discord проекта Geyser, приложив строку с ошибкой и строки под ней.
Полезно знать: Клиенты Bedrock обновляются часто, а устаревший Geyser нередко не справляется с новыми клиентами. Одиночное сообщение с «pre-login», о проблемах с которым никто из игроков не сообщает, можно игнорировать.
Дополнение сообщает об ошибке скрипта
Как выглядит сообщение:
[Scripting] [<Дополнение>] LocationInUnloadedChunkError: Trying to access location (<x>, <y>, <z>) which is not in a chunk currently loaded and ticking.
[Scripting] [<Дополнение>] InvalidEntityError: Failed to get property 'dimension' due to Entity being invalid (has the Entity been removed?).
В чём причина: Многие дополнения Bedrock содержат собственные скрипты в пакете поведения. Эти строки выводит скрипт самого дополнения, то есть ошибка находится в дополнении, а не на сервере. Типичные случаи: обращение к существу, которого больше нет, или к области, которая сейчас не загружена. Сервер продолжает работать, обычно ненадолго перестаёт работать лишь одна функция дополнения. При очень большом количестве сообщений дополнение может снижать производительность.
Как исправить:
- Определи название дополнения. Оно указано во второй квадратной скобке.
- Сравни версию Bedrock своего сервера в разделе Версия с версиями, которые указывает автор дополнения.
- Если есть более новый выпуск дополнения, создай резервную копию и установи его по инструкции автора.
- Если дополнение мешает игре, отключи его для проверки. Для этого в разделе Файлы удали его запись из
worlds/<Мир>/world_behavior_packs.jsonи перезапусти сервер.
Полезно знать: Контент, который есть только в этом дополнении, может исчезнуть из мира при его отключении. Ошибку в скрипте может исправить только автор, ему в этом помогают строки с «at».
Пакеты дополнений не загружаются должным образом
Как выглядит сообщение:
The following issues were found when loading packs:
behavior_packs/<Пакет>
The property '/header/min_engine_version' has a version of '<Версия>' which is too high. The highest value we accept is '<Версия>'.
В чём причина: У каждого пакета дополнения есть файл описания manifest.json. В нём указаны, среди прочего, название, идентификатор, версия и минимальная версия Bedrock, необходимая пакету. Если сервер при запуске находит там ошибки, он перечисляет их с отступом под этой строкой: сначала пакет, под ним причина. В зависимости от ошибки он вообще не загружает пакет или загружает его не так, как задумано, например как пакет ресурсов вместо пакета поведения («Defaulting to resource pack»).
Как исправить:
- Прочитай строки с отступом под сообщением. В них указаны пакет и причина.
- Если там написано «too high», дополнению нужна более новая версия Bedrock, чем на твоём сервере. Возьми более старый выпуск дополнения или дождись, пока нужная версия появится в разделе Версия или Обновления.
- При других причинах обычно помогает актуальный выпуск дополнения от автора.
- Если ты сам редактировал
manifest.json, проверь файл в разделе Файлы. Это должен быть корректный JSON (скобки, запятые, кавычки) со всеми обязательными полями, напримерformat_version,headerсname,uuidиversion, а такжеmodules. - Перезапусти сервер и проверь, исчез ли список.
Конфигурацию Geyser не удаётся прочитать
Как выглядит сообщение:
[Geyser-Spigot] Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!
org.geysermc.geyser.platform.spigot.shaded.org.spongepowered.configurate.loader.ParsingException: …
В чём причина: Geyser читает свои настройки из plugins/Geyser-Spigot/config.yml. Файл написан на YAML, текстовом формате, в котором структуру определяют отступы пробелами и двоеточия. ParsingException ниже означает, что файл где-то повреждён, часто после ручного редактирования. Реже он устарел или недоступен для чтения или записи. Без корректной конфигурации Geyser, как правило, не запускается, и игроки Bedrock не могут зайти на сервер. Игроки Java этого не замечают.
Как исправить:
- Останови сервер и открой в разделе Файлы файл
plugins/Geyser-Spigot/config.yml. - Проверь строки, которые указаны в сообщении об ошибке: табуляция вместо пробелов, сбившийся отступ, пропущенное двоеточие или незакрытая кавычка.
- Если не можешь найти ошибку, переименуй файл, например в
config.yml.alt. При следующем запуске Geyser создаст новый стандартный файл. - Затем перенеси из старого файла только нужные значения. Порт Bedrock должен совпадать с UDP-портом, который панель назначает твоему серверу.
- Запусти сервер и проверь в Консоли, что Geyser запускается без ошибок.
Полезно знать: Если ошибка возникает и с только что созданным файлом, причина скорее в правах доступа к файлам. Если не получается разобраться, создай тикет и укажи время появления сообщения.
Floodgate загружен дважды
Как выглядит сообщение:
java.lang.IllegalArgumentException: Duplicate handler name: floodgate-init
В чём причина: При запуске Floodgate встраивается в сетевое соединение сервера, чтобы распознавать игроков Bedrock. Такое встраивание может быть только одно. Сообщение показывает, что Floodgate загружен второй раз. Чаще всего в папке plugins/ лежат два файла Floodgate, например старая и новая версии. Иногда Floodgate содержит в себе и другой плагин. Тогда игроки Bedrock могут не суметь зайти на сервер.
Как исправить:
- Открой в разделе Файлы папку
plugins/и найди все файлы, в названии которых есть «floodgate» и которые заканчиваются на.jar. - Оставь только один из них, лучше всего самый новый, а остальные удали.
- Для недавно установленных плагинов проверь, входит ли в них Floodgate согласно описанию. Тогда тебе нужен только один из двух источников.
- Перезапусти сервер и попроси игрока Bedrock зайти.
Полезно знать: Папка plugins/floodgate не является вторым плагином. В ней хранятся настройки и ключ Floodgate, и она остаётся на месте.
Аддон содержит записи, которые сервер не понимает
Так выглядит сообщение:
[FeatureRegistry] Feature rule <add-on>:<name> can't place internal feature type.
[Animation] Error: can't find animation <name>
В чём причина: Аддоны описывают существ, предметы, блоки, анимации и части генерации мира в собственных файлах. Если сервер Bedrock в своей версии не понимает одну из таких записей, он пишет подобную строку в лог. «Feature rule» относится, например, к правилам, которые распределяют по миру растения или структуры. Эта часть аддона тогда не работает или работает лишь частично, остальное и сервер продолжают работать. Чаще всего аддон собран для другой версии Bedrock.
Как это исправить:
- Найди затронутый пакет. Часть до двоеточия обычно является сокращённым названием аддона, в других строках указан путь
behavior_packs/…. - Посмотри в разделе Версия, какая версия Bedrock стоит на твоём сервере.
- Создай резервную копию, скачай у автора выпуск аддона, подходящий для этой версии, и замени старый пакет.
- Перезапусти сервер и проверь, исчезли ли эти строки.
Полезно знать: После обновления сервера Bedrock такие строки часто появляются в большом количестве, пока авторы не адаптируют свои аддоны.
Geyser ожидает Floodgate, но Floodgate отсутствует
Так выглядит сообщение:
Auth-type set to Floodgate but Floodgate is not installed
В чём причина: В конфигурации Geyser в качестве типа авторизации указан floodgate. Это позволяет игрокам Bedrock заходить без дополнительного аккаунта Java. Для этого плагин Floodgate должен быть установлен и активен. Если его нет, Geyser отключается, и игроки Bedrock не могут попасть на сервер. Игроков Java это не затрагивает.
Как это исправить:
- Проверь в разделе Плагины или в папке
plugins/, есть ли Floodgate и сообщает ли он при запуске о собственной ошибке. - Если его нет, установи Floodgate из того же источника, что и Geyser, и подходящий для твоего серверного ПО, в папку
plugins/. - Если ты не хочешь использовать Floodgate, укажи вместо этого в
plugins/Geyser-Spigot/config.ymlдляauth-typeзначениеonline. Тогда игрокам Bedrock дополнительно понадобится аккаунт Java. - Перезапусти сервер и проверь подключение через Bedrock.
Подробнее: Настройка кроссплея Bedrock с Geyser и Floodgate
Geyser не может загрузить языковые файлы
Так выглядит сообщение:
[Geyser-Spigot] Unable to download and extract <Language> locale!
В чём причина: При запуске Geyser загружает языковые файлы Minecraft с серверов Mojang. Здесь это соединение было прервано, ниже обычно стоит «Connection reset». До следующего успешного запуска игроки Bedrock видят непереведённые тексты или вовсе не могут зайти. Сам сервер и игроки Java не затронуты.
Как это исправить:
- Перезапусти сервер. Часто загрузка удаётся со следующей попытки.
- При запуске следи в Консоль, появляется ли сообщение снова.
- Если оно остаётся, останови сервер и удали в разделе Файлы папку
plugins/Geyser-Spigot/localesили папку.cacheGeyser. - Запусти сервер снова и проверь подключение через Bedrock.
Полезно знать: Если при входе следует сообщение «Unable to load Geyser locale map», это обычно следствие неудавшейся загрузки. Если она не удаётся несколько запусков подряд, открой тикет и укажи время появления сообщения.
Geyser не может подключиться к нужному сетевому сервису
Так выглядит сообщение:
[Geyser-Spigot] Got an error
java.net.ConnectException: Connection refused
В чём причина: Для работы Geyser устанавливает соединения с другими узлами, например с указанным удалённым узлом или внешними сервисами. Здесь одно из таких соединений не удалось установить. Причина указана в строке сразу ниже: ConnectException означает, что удалённый узел отклонил соединение, часто потому, что там ничего не запущено. NoRouteToHostException означает, что адрес вообще недоступен. Что именно перестанет работать, зависит от удалённого узла.
Как это исправить:
- Прочитай полностью строки под «Got an error». Часто там указан адрес, к которому Geyser хотел подключиться.
- Если ты менял в
plugins/Geyser-Spigot/config.ymlцелевой адрес или порт, сравни его с данными в панели и исправь. - Если цель находится на другом сервере, проверь, запущен ли он и доступен ли.
- Обнови Geyser в разделе Плагины и перезапусти сервер.
Полезно знать: Если сообщение появилось только один раз и игроки Bedrock по-прежнему заходят на сервер, можно сначала понаблюдать, а не вмешиваться сразу.
Geyser не может открыть свой порт Bedrock
Так выглядит сообщение:
[Geyser-Spigot] Failed to start Geyser on <IP>:<Port>
В чём причина: Geyser принимает соединения Bedrock через отдельный порт UDP. UDP — это сетевой протокол, который Bedrock использует для подключения. Geyser не смог открыть этот порт: либо его уже занимает другой сервис, либо он не назначен твоему серверу и поэтому его нельзя использовать. Соединения Bedrock тогда не работают, игроки Java по-прежнему заходят на сервер.
Как это исправить:
- Посмотри в панели, какой порт Bedrock (UDP) назначен твоему серверу.
- Открой в разделе Файлы файл
plugins/Geyser-Spigot/config.ymlи сравни в секцииbedrockзначениеport. Оно должно точно совпадать с назначенным портом. - Проверь, не использует ли тот же порт другой сервис UDP, например Query (
query.portвserver.properties) или плагин голосового чата. Каждому из этих сервисов нужен собственный порт. - Сохрани изменения, перезапусти сервер и проверь подключение через Bedrock.
Подробнее: Кроссплей Bedrock: Geyser, Floodgate и порт UDP
Скрипт аддона завис и был прерван
Так выглядит сообщение:
[Watchdog] Unhandled critical exception of type '<Type>' in behavior pack '<Add-on>'
В чём причина: Сервер Bedrock контролирует скрипты аддонов с помощью сторожевого механизма — Watchdog. Если скрипт выполняется слишком долго, сервер прерывает его, чтобы не завис весь мир. Название аддона показано в сообщении после «behavior pack». В этот момент сервер может ненадолго начать лагать, а функции аддона перестают работать. Сам сервер продолжает работать.
Как это исправить:
- Возьми название аддона из сообщения.
- Проверь у автора, есть ли более новый выпуск для версии Bedrock твоего сервера (см. Версия), и установи его после создания резервной копии.
- Обрати внимание, появляется ли сообщение при определённом действии, например при входе в какую-то область или когда в одном месте собирается много существ.
- Если оно появляется часто, отключи аддон для проверки и понаблюдай, пропадут ли лаги.
Полезно знать: Одно-единственное сообщение не повод для беспокойства. Важно, повторяется ли оно.
Запись о правах без XUID или уровня
Как выглядит сообщение:
xuid or permission missing from permissions file
В чём причина: На сервере Bedrock файл permissions.json определяет, у кого какой уровень прав, например оператор. Для каждой записи нужны два параметра: XUID, то есть постоянный идентификатор учётной записи Xbox или Microsoft, и уровень. Если одного из них нет, сервер не может сопоставить запись с игроком и не применяет её. Сервер работает нормально, просто это право не действует.
Как это исправить:
- Открой конфигурацию своего сервера и перейди в раздел «Права (операторы)».
- Удали строку без XUID или впиши XUID игрока.
- После этого перезапусти сервер.
- Проще всего выполнить в Консоль команду
op <Игрок>, пока игрок находится онлайн. Тогда сервер сам внесёт XUID.
Полезно знать: На Bedrock важен XUID, а не имя игрока. Поэтому запись без XUID остаётся без эффекта, даже если имя указано верно.
Твоего сообщения здесь нет?
Прочитай сообщение целиком в Консоль или в logs/latest.log, включая строки прямо перед ним. Если дальше идёт стектрейс, то есть список строк, начинающихся с «at», он показывает, где возникла ошибка. Названия вроде Geyser-Spigot.jar или floodgate в нём указывают на затронутый плагин. На серверах Bedrock аддон можно определить по квадратным скобкам или путям в behavior_packs/. Создай резервную копию, прежде чем что-либо менять. Если не получается разобраться, открой тикет и укажи время появления сообщения.