Многие плагины работают не сами по себе. Премиум-плагины при запуске проверяют лицензионный ключ, интеграциям с Discord, Telegram или VK нужен токен (своего рода пароль для бота или интерфейса), плагины голосового чата открывают собственный сетевой порт, а некоторые подгружают библиотеки или базы данных из интернета. Если чего-то из этого не хватает или оно отклоняется, плагин пишет сообщение в лог. Обычно перестаёт работать только функция этого плагина; в одном случае плагин намеренно останавливает сервер.
Каждый раздел ниже посвящён одному сообщению. Полное сообщение ты найдёшь в Консоль или в разделе Файлы в logs/latest.log, а конфигурацию плагинов — в plugins/<Плагин>/. Перед изменениями создай резервную копию в разделе Резервные копии. Ключи и токены секретны: никому их не показывай и обрезай их на скриншотах.
DonutShop отклоняет лицензионный ключ
Так выглядит сообщение:
[DonutShop] DONUTSHOP ERROR
[DonutShop] The licensing server rejected this key.
В чём причина: DonutShop — это плагин магазина, который при запуске проверяет свой лицензионный ключ на лицензионном сервере автора. При последнем запуске эта проверка не удалась. Даже указанное непустое значение может быть недействительным, просроченным или выданным для другой установки. Minecraft-сервер при этом может продолжать работать, но DonutShop нельзя считать надёжно доступным: игроки не могут полагаться на магазин.
Как это исправить:
- Получи или проверь бесплатный лицензионный ключ на официальной странице проекта DonutShop на Modrinth.
- Открой в разделе Файлы конфигурацию DonutShop (
plugins/DonutShop/config.yml) и впиши ключ в параметрlicense-key. Возьми его в кавычки, без пробелов перед ним и после него. - Сохрани файл и перезапусти сервер.
- Загляни в Консоль: ошибка устранена, только если баннер «DONUTSHOP ERROR» при новом запуске больше не появляется.
Полезно знать: если ты взял ключ с другого сервера, получи для этого сервера отдельный ключ.
LibreLogin останавливает сервер: не удаётся загрузить библиотеку
Так выглядит сообщение:
[LibreLogin] Failed to load libraries, stopping server to prevent damage
… Failed to download library <Библиотека>
В чём причина: LibreLogin — это плагин авторизации, через который игроки входят по паролю. При запуске он докачивает библиотеки, то есть части программы, которые не входят в сам плагин, в том числе PacketEvents. Если загрузка не удаётся, LibreLogin намеренно останавливает сервер, а не продолжает работать в полурабочем состоянии. Поэтому сервер не запустится, пока проблема не будет решена.
Как это исправить:
- Перезапусти сервер один раз. Если источник загрузки был недоступен лишь недолго, со следующей попытки всё часто срабатывает.
- Обнови LibreLogin в разделе Плагины до последней версии для твоего серверного ПО. Если PacketEvents установлен у тебя как отдельный плагин, обнови и его.
- Перезапусти сервер и проверь в Консоли, загружаются ли теперь библиотеки.
- Если сообщение появляется при каждом запуске, сервер не может достучаться до адреса загрузки. Причина может быть в доступе в интернет, в разрешении имён (DNS, он преобразует адреса в IP-номера) или в самом адресе. Если не получается продвинуться дальше, открой тикет и укажи время появления сообщения.
Полезно знать: как обновлять и заменять плагины, показано в статье Установка плагинов Minecraft и управление ими.
«Packet queue has … packets»: Simple Voice Chat не справляется с нагрузкой
Как выглядит сообщение:
[voicechat] Packet queue has <количество> packets
[voicechat] Dropping voice chat packets!
Что за этим стоит: Simple Voice Chat передаёт голос между игроками, которые находятся рядом друг с другом в игре. Сообщение означает: голосовой чат не успевает обрабатывать данные, голосовые пакеты накапливаются в очереди или отбрасываются. Причина в том, что сервер в данный момент перегружен: низкий TPS (тики в секунду, такт Minecraft; нормальное значение — 20) или высокая нагрузка на процессор. Игроки при этом слышат прерывистую речь или не слышат её вовсе, хотя сам сервер продолжает работать.
Как это исправить:
- Выясни, что создаёт нагрузку, например с помощью spark: spark: как найти и понять причину лагов на сервере Minecraft.
- Уменьши дальность прорисовки (
view-distance) и дальность симуляции (simulation-distance) в разделе Файлы в файлеserver.properties. Так сервер будет загружать меньше чанков, то есть участков мира размером 16 × 16 блоков. - Сократи количество сущностей (существа, животные, лежащие предметы) в отдельных местах и проверь плагины, которые сильно нагружают сервер.
- Если этого недостаточно, перейди в разделе Настройки и подписка → Тариф на более мощный вариант.
Полезно знать: Единичные сообщения вскоре после запуска или при исследовании новых территорий не страшны, если они снова прекращаются.
Simple Voice Chat не получает свой UDP-порт
Так выглядит сообщение:
[voicechat] Failed to run voice chat at UDP port <Порт>
[voicechat] Disabling Simple Voice Chat
В чём причина: Simple Voice Chat передаёт голос через отдельный UDP-порт. UDP — это сетевой протокол для быстрых данных в реальном времени, например голоса. Указанный порт не принадлежит твоему серверу или уже занят, например потому, что до сих пор прописано стандартное значение из инструкции к плагину. Без порта голосовой чат отключается; сама игра продолжает работать в обычном режиме.
Как это исправить:
- Открой в разделе Файлы файл
plugins/voicechat/voicechat-server.properties. Если Simple Voice Chat работает у тебя как мод, файл лежит по путиconfig/voicechat/voicechat-server.properties. - Установи в
portномер порта твоего сервера. Твой игровой порт открыт для TCP и UDP. - Сохрани файл и перезапусти сервер.
- Проверь в Консоли, что сообщение больше не появляется, и протестируй голосовой чат в игре.
Подробнее: Настройка Simple Voice Chat на сервере Minecraft.
Полезно знать: один UDP-порт может открыть только одна программа. Если тот же порт уже использует другой плагин, например Geyser для игроков Bedrock Edition, одному из них нужен другой порт, назначенный твоему серверу.
«No bot token»: не удаётся войти в Discord
Так выглядит сообщение:
[DiscordSRV] No bot token has been set in the config; a bot token is required to connect to Discord.
[voicechat-discord] Failed to load a bot. Please make sure that the token property is a string and the vc_id property is a number.
[DiscordWhitelist] Edit plugins/DiscordWhitelist/config.yml and set discord.bot-token, then run /discordwhitelist reload.
В чём причина: расширения для Discord подключаются с помощью собственного бота. Для этого им нужен его токен — секретная строка, похожая на пароль. Если токена нет или он недействителен, связь с Discord не работает, а Minecraft продолжает работать. В voicechat-discord также могут быть указаны неверные типы данных: token должен быть текстом, а vc_id — числом.
Как это исправить:
- Создай бота в Discord Developer Portal или выбери уже существующего. При необходимости сгенерируй новый токен.
- Впиши токен в конфигурацию в разделе Файлы: для DiscordSRV — в
plugins/DiscordSRV/config.ymlв параметрBotToken, для DiscordWhitelist — вplugins/DiscordWhitelist/config.ymlв параметрdiscord.bot-token. Для других расширений следуй их инструкции. - Для voicechat-discord
tokenдолжен быть строкой, аvc_id— числом, которое требуется согласно инструкции. - При необходимости пригласи бота на свой Discord-сервер, сохрани изменения и перезапусти Minecraft.
Полезно знать: никогда не передавай токен другим; если он был опубликован, сбрось его. При ошибках, связанных с интентами, включи в Developer Portal требуемые «Privileged Gateway Intents».
«Could not download GeoLiteAPI database»: отсутствует база данных стран
Так выглядит сообщение:
[AuthMe] Could not download GeoLiteAPI database [FileNotFoundException]: plugins/AuthMe/GeoLite2-Country.mmdb (No such file or directory)
В чём причина: Некоторые плагины, например AuthMe, определяют страну по IP-адресу. Для этого они загружают базу данных стран, чаще всего GeoLite2 от MaxMind; эта загрузка не удалась. Если появляется FileNotFoundException с текстом «No such file or directory», значит, указанный локальный файл или связанная с ним папка отсутствует. Плагин продолжает работать; функции, зависящие от страны, например блокировка по странам, без базы данных остаются неактивными.
Как это исправить:
- При временных проблемах с загрузкой следующий перезапуск повторит попытку.
- Если появляется «No such file or directory», проверь в разделе Файлы указанное место хранения и путь в конфигурации плагина. Настрой базу данных согласно инструкции для твоей версии плагина.
- Если загрузка по-прежнему не удаётся, проверь конфигурацию в
plugins/<Plugin>/. Если твоя версия требует лицензионный ключ, укажи действительный ключ в предназначенном для этого поле. - Сохрани изменения, перезапусти сервер и проверь в Консоль, исчезло ли сообщение.
Полезно знать: Если ты не используешь функции, зависящие от страны, сообщение можно игнорировать. Остальные функции плагина продолжают работать.
DonutShop заблокирован из-за отсутствия лицензионного ключа
Так выглядит сообщение:
[DonutShop] DONUTSHOP LOCKED
[DonutShop] No license key is set in config.yml.
[DonutShop] Then run: /link <your-key>
В чём причина: DonutShop запускается только с лицензионным ключом. В его config.yml ключ не указан, поэтому магазин остаётся заблокированным. Ключ бесплатный, но его нужно один раз получить у автора. Сам сервер Minecraft это не затрагивает.
Как это исправить:
- Получи бесплатный ключ у автора плагина. Путь к нему, ссылка на Discord, указан в сообщении в строках вокруг баннера.
- Выполни команду
/link <твой-ключ>, как указано в сообщении, или впиши ключ вplugins/DonutShop/config.yml. - Перезапусти сервер.
- Проверь в Консоль, исчез ли баннер «DONUTSHOP LOCKED».
Полезно знать: Если после этого появляется «DONUTSHOP ERROR», ключ был отклонён. В этом случае поможет раздел об отклонённой лицензии DonutShop.
VK-токен плагина отклоняется
Так выглядит сообщение:
com.vk.api.sdk.exceptions.ApiAuthException: User authorization failed (5): User authorization failed: invalid access_token (4).
В чём причина: Некоторые плагины подключаются к VK, социальной сети ВКонтакте. Для этого им нужен токен доступа, своего рода пароль для интерфейса. VK отклонил указанный токен («invalid access_token»): он недействителен, просрочен или отозван. Функции плагина, связанные с VK, отключены, остальной сервер работает в обычном режиме.
Как это исправить:
- Создай в VK новый токен доступа с правами, которые требует плагин. Какие именно, указано в инструкции к плагину.
- Открой в разделе Файлы конфигурацию плагина в
plugins/<Плагин>/и замени старый токен на новый. - Сохрани файл и перезапусти сервер.
- Проверь в Консоль, что сообщение больше не появляется.
Полезно знать: Какой плагин затронут, показывает стек вызовов ниже, то есть строки с отступом и at …. Рядом с com.vk.api там указано имя пакета плагина.
Плагин не может предоставить свой ресурспак
Так выглядит сообщение:
java.io.IOException: HTTP 403 dla http://<Адрес>/<Пак>.zip
Failed to start resourcepack server: Server is not publicly reachable on <Адрес>:<Порт>
В чём причина: Некоторые плагины раздают игрокам собственный ресурспак. Для этого они скачивают его по адресу, собирают сами или запускают небольшой встроенный веб-сервер, с которого игроки его загружают. Один из этих шагов не удался. Игроки не получают пак, а текстуры или функции, зависящие от него, отсутствуют. Сервер продолжает работать.
Как это исправить:
- Посмотри HTTP-статус в сообщении: 403 означает отказ в доступе, 404 означает, что файл не найден.
- Открой адрес пака из конфигурации плагина в браузере. Он должен сразу скачивать ZIP-файл, а не показывать страницу предпросмотра или входа.
- Исправь адрес или загрузи пак туда, где он раздаётся публично.
- Если плагин использует встроенный веб-сервер, укажи там только тот порт, который назначен твоему серверу в панели и доступен публично.
- Перезапусти сервер.
Плагину нужен API-ключ для стороннего сервиса
Так выглядит сообщение:
Please set your <Сервис> API key
Get your API key from: https://<Поставщик>/…
accessToken=MISSING
В чём причина: Плагин работает со сторонним сервисом, например для статистики или связи с сайтом. Для этого ему нужен API-ключ или учётные данные. API-ключ — это идентификатор, по которому плагин подтверждает себя сервису. В конфигурации его нет. Пока он не указан, плагин не работает; остальной сервер продолжает работать.
Как это исправить:
- Прочитай сообщение: обычно в нём указаны сервис, файл и поле, часто также адрес, где можно получить ключ («Get your API key from:»).
- Создай аккаунт в сервисе и сгенерируй там ключ.
- Открой в разделе Файлы указанный файл в
plugins/<Плагин>/и впиши ключ. Обычно файл в формате YAML, где структуру определяют отступы из пробелов; не меняй их и заключи значение в кавычки. - Сохрани файл и перезапусти сервер.
Полезно знать: Если после этого плагин сообщает, что не может прочитать файл, поможет Файл конфигурации плагина повреждён.
Премиум-плагин не находит действительный лицензионный ключ
Так выглядит сообщение:
No License Key Found!
Please enter a valid key in license.yml
Authentication failed! API key is invalid
В чём причина: Плагин является премиум-плагином или требует ключ от поставщика и не находит в своей конфигурации действительного. Тогда он полностью отключается или отключает отдельные функции. Сервер продолжает работать, но без функций этого плагина.
Как это исправить:
- Найди ключ, полученный при покупке, например в аккаунте на сайте, где ты купил плагин, или спроси у поставщика.
- Открой в разделе Файлы файл, указанный в сообщении, обычно
plugins/<Плагин>/license.ymlилиplugins/<Плагин>/config.yml, и впиши ключ. - Сохрани файл и перезапусти сервер.
- Если ключа у тебя нет, удали плагин в разделе Плагины, вместо того чтобы постоянно держать его запущенным с ошибками.
Полезно знать: Скачивай премиум-плагины только с официальной страницы продажи. Версии из неофициальных источников, в которых удалена проверка лицензии, нередко содержат вредоносное ПО.
Telegram-бот плагина не запускается
Так выглядит сообщение:
Error removing old webhook
В чём причина: Плагин с интеграцией Telegram при запуске подключается к Telegram с помощью бота. При этом он сначала удаляет старый вебхук, то есть сохранённый адрес, на который Telegram отправлял бы новые сообщения. Это не удалось, чаще всего потому, что токен бота недействителен или Telegram был временно недоступен. Функция Telegram остаётся выключенной, сервер Minecraft продолжает работать в обычном режиме.
Как это исправить:
- Открой в Telegram чат с @BotFather и попроси показать токен твоего бота или создать новый.
- Открой в разделе Файлы конфигурацию плагина в
plugins/<Плагин>/и замени токен. Скопируй его полностью: токен бота начинается с числа и двоеточия. - Сохрани файл и перезапусти сервер.
- Проверь в Консоль, что сообщение больше не появляется.
Полезно знать: Если сообщение появилось только один раз, а при следующем запуске его нет, значит, Telegram был недолго недоступен. Тогда ничего менять не нужно.
Плагин не получает собственный сетевой порт
Так выглядит сообщение:
Failed to bind to /<Адрес>:<Порт>
[PlasmoVoice] Failed to start the udp server
В чём причина: Некоторые плагины открывают собственный сетевой порт, например для голосового чата вроде Plasmo Voice или для веб-страницы с картой или статистикой. Указанный адрес или порт на твоём сервере недоступен: порт ему не назначен, уже занят, или в конфигурации прописан фиксированный IP-адрес, который сервер не может использовать. Функция плагина при этом не работает, остальной сервер продолжает работать.
Как это исправить:
- Открой в разделе Файлы конфигурацию плагина в папке
plugins/<Плагин>/и найди записи с портом и адресом. - Укажи порт, который назначен твоему серверу в панели и ещё свободен.
- Оставь адрес пустым или укажи
0.0.0.0. Это означает: доступен на всех сетевых интерфейсах сервера. - Сохрани файл, перезапусти сервер и проверь в Консоли, исчезло ли сообщение.
Полезно знать: Один порт может открыть только одна программа. Если два плагина используют один и тот же порт, каждому нужен свой. Подробнее о портах: Порты Minecraft и проверка ошибок подключения.
Плагин или дополнительная служба не получает свой порт
Как выглядит сообщение:
[<Plugin>] Failed to start HTTP server: Address already in use
java.net.BindException: Address already in use
В чём причина: Плагин или дополнительная служба, например голосовой чат, собственный сайт, Query или RCON, пытается открыть собственный порт, который уже занят. Часто в его конфигурации указан игровой порт, а сервер уже сам открыл его при запуске. Сервер продолжает работать в обычном режиме, игроки могут заходить, не работает только эта одна функция.
Как это исправить:
- В Консоль найди имя в квадратных скобках перед сообщением, например
[<Plugin>]. В разделе Состояние сервера оно указано в пункте «Затронутый плагин или служба». - В разделе Файлы открой конфигурацию в
plugins/<Plugin>/и найди запись с портом. Для Query и RCON этоquery.portиrcon.portв файлеserver.properties. - Укажи порт, который не является игровым и который не использует другой плагин. Все порты твоего сервера показывает вкладка Ports.
- Для Simple Voice Chat и других известных плагинов мастера в разделе Плагины автоматически настраивают свободный порт.
- Сохрани файл, перезапусти сервер и проверь в Консоль, что сообщение больше не появляется.
Полезно знать: Одного перезапуска недостаточно, пока в конфигурации указан тот же порт. Подробнее о портах: Порты Minecraft и проверка ошибок подключения.
DonatePay: недопустимый символ в адресе запроса
Как выглядит сообщение:
java.net.URISyntaxException: Illegal character in query at index <Position>: <Address with token removed>
В чём причина: интеграция DonatePay хочет запросить новые пожертвования, но не может обработать сформированный для этого адрес. URI — это структурированный адрес; в его части запроса здесь содержится недопустимый символ. Из-за этого запрос пожертвований не выполняется, а сервер Minecraft продолжает работать.
Как это исправить:
- Открой Консоль или
logs/latest.logв разделе Файлы и проверь, упоминается ли в трассировке ошибки интеграция DonatePay. - Проверь конфигурацию плагина в разделе Файлы. Сравни указанные данные доступа с инструкцией и удали случайно скопированные пробелы или кавычки.
- Обнови интеграцию в разделе Плагины или замени её самостоятельно загруженный файл в разделе Файлы. Полностью перезапусти сервер.
- Если сообщение остаётся, передай автору плагина очищенную трассировку ошибки. Удали все значения токенов, прежде чем передавать её.
Плагин рюкзака не может использовать свой пакет ресурсов
Как выглядит сообщение:
[ᴠᴢʙᴀᴄᴋᴘᴀᴄᴋ] Die URL der Datei '<File>.zip' ist ungültig!
В чём причина: Плагин не может использовать указанный файл пакета ресурсов. Либо адрес недействителен, либо внешний пакет распознаётся как повреждённый. Из-за этого рюкзак отображается с неверными или отсутствующими текстурами и шрифтами; сервер при этом продолжает работать.
Как это исправить:
- Открой Файлы и проверь в конфигурации плагина, какой файл пакета и какой адрес указаны.
- Сравни файл с инструкцией для твоей версии плагина. Используй действительный прямой адрес для скачивания и полный, подходящий архив.
- Полностью перезапусти сервер. Пусть клиент заново загрузит исправленный пакет, и проверь текстуры и шрифты рюкзака.
libdatachannel: сбой подключения канала данных или отправки
Так выглядит сообщение:
[tel.schich.libdatachannel.LibDataChannel] SCTP connection failed
[tel.schich.libdatachannel.LibDataChannel] SCTP sending failed, errno=104
В чём причина: libdatachannel — это библиотека для передачи данных. SCTP обозначает используемый при этом протокол передачи. Соединение не устанавливается или больше не может отправлять данные; затронутое подключение плагина перестаёт работать. Игровой сервер при этом продолжает работать.
Как это исправить:
- Повтори попытку затронутого подключения. Проверь, не удаётся ли только одно подключение или сбоят сразу несколько.
- Просмотри в Консоль строки до и после сообщения. Определи, к какому плагину относится библиотека, указанному там.
- Сравни его сетевые настройки и требования с документацией. Проверь, в частности, указанные там порты и доступность удалённой стороны.
- Проверь в разделе Плагины, есть ли подходящее обновление. Если ошибка остаётся, создай тикет и укажи время и сопутствующие сообщения.
Netty: сетевое уведомление попадает на завершённый исполнитель
Так выглядит сообщение:
Failed to submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated
В чём причина: Netty обрабатывает сетевые задачи в цикле событий. Здесь он уже завершён, а уведомление всё ещё нужно поставить в очередь. Уведомление отбрасывается. При остановке это может появиться как сопутствующая ошибка; во время игры может нарушиться работа сетевой функции.
Как это исправить:
- Проверь время в Консоль и сравни его с запуском или остановкой сервера.
- Если ошибка возникает во время работы, сохрани полное сообщение из
logs/latest.logвместе с предыдущими ошибками. Следующие строки вызовов называются стек-трейсом и могут показать задействованный компонент. - Проверь соответствующий компонент в разделе Плагины и Версия сервера на наличие совместимых обновлений. Заменяй файлы при остановленном сервере.
- Выполни полный перезапуск и повтори затронутое подключение. Если ошибка остаётся, создай тикет с указанием времени и полным текстом сообщения.
Твоего сообщения нет в списке?
Прочитай сообщение целиком в Консоль или в logs/latest.log, включая строки перед ним. Имя в квадратных скобках в начале строки, например [DiscordSRV], обычно указывает на плагин. Если его нет, поможет стек вызовов: в строках с отступом и at … указаны названия пакетов и папок, которые ведут к плагину или моду. Какие ключи, токены или порты нужны плагину, объясняется на странице его проекта. Перед изменениями в конфигурации создай резервную копию. Если не получается разобраться, открой тикет и укажи время появления сообщения.