Многие плагины работают не сами по себе. Премиум-плагины при запуске проверяют лицензионный ключ, интеграциям с Discord, Telegram или VK нужен токен (своего рода пароль для бота или интерфейса), плагины голосового чата открывают собственный сетевой порт, а некоторые подгружают библиотеки или базы данных из интернета. Если чего-то из этого не хватает или оно отклоняется, плагин пишет сообщение в лог. Обычно перестаёт работать только функция этого плагина; в одном случае плагин намеренно останавливает сервер.

Каждый раздел ниже посвящён одному сообщению. Полное сообщение ты найдёшь в Консоль или в разделе Файлы в logs/latest.log, а конфигурацию плагинов — в plugins/<Плагин>/. Перед изменениями создай резервную копию в разделе Резервные копии. Ключи и токены секретны: никому их не показывай и обрезай их на скриншотах.

DonutShop отклоняет лицензионный ключ

Так выглядит сообщение:

[DonutShop]             DONUTSHOP ERROR
[DonutShop] The licensing server rejected this key.

В чём причина: DonutShop — это плагин магазина, который при запуске проверяет свой лицензионный ключ на лицензионном сервере автора. При последнем запуске эта проверка не удалась. Даже указанное непустое значение может быть недействительным, просроченным или выданным для другой установки. Minecraft-сервер при этом может продолжать работать, но DonutShop нельзя считать надёжно доступным: игроки не могут полагаться на магазин.

Как это исправить:

  1. Получи или проверь бесплатный лицензионный ключ на официальной странице проекта DonutShop на Modrinth.
  2. Открой в разделе Файлы конфигурацию DonutShop (plugins/DonutShop/config.yml) и впиши ключ в параметр license-key. Возьми его в кавычки, без пробелов перед ним и после него.
  3. Сохрани файл и перезапусти сервер.
  4. Загляни в Консоль: ошибка устранена, только если баннер «DONUTSHOP ERROR» при новом запуске больше не появляется.

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

LibreLogin останавливает сервер: не удаётся загрузить библиотеку

Так выглядит сообщение:

[LibreLogin] Failed to load libraries, stopping server to prevent damage
… Failed to download library <Библиотека>

В чём причина: LibreLogin — это плагин авторизации, через который игроки входят по паролю. При запуске он докачивает библиотеки, то есть части программы, которые не входят в сам плагин, в том числе PacketEvents. Если загрузка не удаётся, LibreLogin намеренно останавливает сервер, а не продолжает работать в полурабочем состоянии. Поэтому сервер не запустится, пока проблема не будет решена.

Как это исправить:

  1. Перезапусти сервер один раз. Если источник загрузки был недоступен лишь недолго, со следующей попытки всё часто срабатывает.
  2. Обнови LibreLogin в разделе Плагины до последней версии для твоего серверного ПО. Если PacketEvents установлен у тебя как отдельный плагин, обнови и его.
  3. Перезапусти сервер и проверь в Консоли, загружаются ли теперь библиотеки.
  4. Если сообщение появляется при каждом запуске, сервер не может достучаться до адреса загрузки. Причина может быть в доступе в интернет, в разрешении имён (DNS, он преобразует адреса в IP-номера) или в самом адресе. Если не получается продвинуться дальше, открой тикет и укажи время появления сообщения.

Полезно знать: как обновлять и заменять плагины, показано в статье Установка плагинов Minecraft и управление ими.

Simple Voice Chat отбрасывает голосовые пакеты

Так выглядит сообщение:

[voicechat] Packet queue has <Количество> packets
[voicechat] Dropping voice chat packets!

В чём причина: Simple Voice Chat передаёт голос между игроками, которые находятся рядом в игре. Сообщение означает: голосовой чат не успевает обрабатывать данные, голосовые пакеты копятся в очереди или отбрасываются. Причина — перегруженный в данный момент сервер с низким TPS (тиков в секунду, это такт Minecraft; в норме 20) или высокая нагрузка на процессор. Игроки тогда слышат прерывистую речь или не слышат её вовсе. Сам сервер продолжает работать.

Как это исправить:

  1. Выясни, что создаёт нагрузку, например с помощью spark: spark: как найти и понять лаги на сервере Minecraft.
  2. Уменьши дальность прорисовки (view-distance) и дальность симуляции (simulation-distance) в Настройках или в server.properties. Так сервер будет загружать меньше чанков, то есть участков мира размером 16 × 16 блоков.
  3. Сократи количество сущностей (существ, животных, лежащих предметов) в отдельных местах и проверь плагины, создающие большую нагрузку.
  4. Если этого мало, перейди в разделе Настройки и подписка → Тариф на более мощный вариант.

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

Simple Voice Chat не получает свой UDP-порт

Так выглядит сообщение:

[voicechat] Failed to run voice chat at UDP port <Порт>
[voicechat] Disabling Simple Voice Chat

В чём причина: Simple Voice Chat передаёт голос через отдельный UDP-порт. UDP — это сетевой протокол для быстрых данных в реальном времени, например голоса. Указанный порт не принадлежит твоему серверу или уже занят, например потому, что до сих пор прописано стандартное значение из инструкции к плагину. Без порта голосовой чат отключается; сама игра продолжает работать в обычном режиме.

Как это исправить:

  1. Открой в разделе Файлы файл plugins/voicechat/voicechat-server.properties. Если Simple Voice Chat работает у тебя как мод, файл лежит по пути config/voicechat/voicechat-server.properties.
  2. Установи в port номер порта твоего сервера. Твой игровой порт открыт для TCP и UDP.
  3. Сохрани файл и перезапусти сервер.
  4. Проверь в Консоли, что сообщение больше не появляется, и протестируй голосовой чат в игре.

Подробнее: Настройка Simple Voice Chat на сервере Minecraft.

Полезно знать: один UDP-порт может открыть только одна программа. Если тот же порт уже использует другой плагин, например Geyser для игроков Bedrock Edition, одному из них нужен другой порт, назначенный твоему серверу.

У плагина Discord нет действительного токена бота

Так выглядит сообщение:

[DiscordSRV] No bot token has been set in the config; a bot token is required to connect to Discord.
[DiscordSRV] The bot token is invalid
[EssentialsDiscord] An error occurred while logging into Discord

В чём причина: плагины Discord, такие как DiscordSRV или EssentialsX Discord, входят в Discord через собственного бота. Для этого им нужен токен бота — длинная строка символов, похожая на пароль. В конфигурации его нет, или Discord отклоняет указанный, например потому, что он уже был сброшен. Тогда связь с Discord остаётся выключенной, а Minecraft-сервер продолжает работать в обычном режиме.

Как это исправить:

  1. Создай в Discord Developer Portal приложение с ботом или выбери уже имеющегося бота. В разделе «Bot» скопируй токен или сгенерируй новый.
  2. Открой в разделе Файлы файл config.yml плагина, например plugins/DiscordSRV/config.yml, и впиши токен (у DiscordSRV — в поле BotToken).
  3. Пригласи бота на свой Discord-сервер, если ещё не сделал этого.
  4. Сохрани файл и перезапусти сервер.

Полезно знать: если после «could not connect to Discord because:» есть указание на интенты, включи в Developer Portal для бота требуемые «Privileged Gateway Intents». Если токен стал публичным, сбрось его там и впиши новый.

Плагин не может скачать базу данных стран

Так выглядит сообщение:

[AuthMe] Could not download GeoLiteAPI database [FileNotFoundException]: plugins/AuthMe/GeoLite2-Country.mmdb (No such file or directory)

В чём причина: некоторые плагины, например AuthMe, определяют страну по IP-адресу. Для этого они скачивают базу данных стран, чаще всего GeoLite2 от провайдера MaxMind. Эта загрузка не удалась. Плагин продолжает работать; пока базы нет, не действуют только функции, зависящие от страны, например блокировка по странам.

Как это исправить:

  1. Чаще всего это временная проблема на стороне источника. При следующем перезапуске загрузка будет предпринята снова; срочно ничего делать не нужно.
  2. Если сообщение остаётся после нескольких запусков, загляни в конфигурацию плагина в plugins/<Плагин>/. Часто для загрузки плагину нужен собственный лицензионный ключ, и в конфигурации указано поле для него.
  3. Впиши ключ, сохрани и перезапусти сервер.

Полезно знать: если ты не используешь функции, зависящие от страны, сообщение можно игнорировать. Авторизация и все остальные функции плагина всё равно работают.

DonutShop заблокирован из-за отсутствия лицензионного ключа

Так выглядит сообщение:

[DonutShop]             DONUTSHOP LOCKED
[DonutShop] No license key is set in config.yml.
[DonutShop] Then run: /link <your-key>

В чём причина: DonutShop запускается только с лицензионным ключом. В его config.yml ключ не указан, поэтому магазин остаётся заблокированным. Ключ бесплатный, но его нужно один раз получить у автора. Сам сервер Minecraft это не затрагивает.

Как это исправить:

  1. Получи бесплатный ключ у автора плагина. Путь к нему, ссылка на Discord, указан в сообщении в строках вокруг баннера.
  2. Выполни команду /link <твой-ключ>, как указано в сообщении, или впиши ключ в plugins/DonutShop/config.yml.
  3. Перезапусти сервер.
  4. Проверь в Консоль, исчез ли баннер «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, отключены, остальной сервер работает в обычном режиме.

Как это исправить:

  1. Создай в VK новый токен доступа с правами, которые требует плагин. Какие именно, указано в инструкции к плагину.
  2. Открой в разделе Файлы конфигурацию плагина в plugins/<Плагин>/ и замени старый токен на новый.
  3. Сохрани файл и перезапусти сервер.
  4. Проверь в Консоль, что сообщение больше не появляется.

Полезно знать: Какой плагин затронут, показывает стек вызовов ниже, то есть строки с отступом и at …. Рядом с com.vk.api там указано имя пакета плагина.

Плагин не может предоставить свой ресурспак

Так выглядит сообщение:

java.io.IOException: HTTP 403 dla http://<Адрес>/<Пак>.zip
Failed to start resourcepack server: Server is not publicly reachable on <Адрес>:<Порт>

В чём причина: Некоторые плагины раздают игрокам собственный ресурспак. Для этого они скачивают его по адресу, собирают сами или запускают небольшой встроенный веб-сервер, с которого игроки его загружают. Один из этих шагов не удался. Игроки не получают пак, а текстуры или функции, зависящие от него, отсутствуют. Сервер продолжает работать.

Как это исправить:

  1. Посмотри HTTP-статус в сообщении: 403 означает отказ в доступе, 404 означает, что файл не найден.
  2. Открой адрес пака из конфигурации плагина в браузере. Он должен сразу скачивать ZIP-файл, а не показывать страницу предпросмотра или входа.
  3. Исправь адрес или загрузи пак туда, где он раздаётся публично.
  4. Если плагин использует встроенный веб-сервер, укажи там только тот порт, который назначен твоему серверу в панели и доступен публично.
  5. Перезапусти сервер.

Плагину нужен API-ключ для стороннего сервиса

Так выглядит сообщение:

Please set your <Сервис> API key
Get your API key from: https://<Поставщик>/…
accessToken=MISSING

В чём причина: Плагин работает со сторонним сервисом, например для статистики или связи с сайтом. Для этого ему нужен API-ключ или учётные данные. API-ключ — это идентификатор, по которому плагин подтверждает себя сервису. В конфигурации его нет. Пока он не указан, плагин не работает; остальной сервер продолжает работать.

Как это исправить:

  1. Прочитай сообщение: обычно в нём указаны сервис, файл и поле, часто также адрес, где можно получить ключ («Get your API key from:»).
  2. Создай аккаунт в сервисе и сгенерируй там ключ.
  3. Открой в разделе Файлы указанный файл в plugins/<Плагин>/ и впиши ключ. Обычно файл в формате YAML, где структуру определяют отступы из пробелов; не меняй их и заключи значение в кавычки.
  4. Сохрани файл и перезапусти сервер.

Полезно знать: Если после этого плагин сообщает, что не может прочитать файл, поможет Файл конфигурации плагина повреждён.

Премиум-плагин не находит действительный лицензионный ключ

Так выглядит сообщение:

No License Key Found!
Please enter a valid key in license.yml
Authentication failed! API key is invalid

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

Как это исправить:

  1. Найди ключ, полученный при покупке, например в аккаунте на сайте, где ты купил плагин, или спроси у поставщика.
  2. Открой в разделе Файлы файл, указанный в сообщении, обычно plugins/<Плагин>/license.yml или plugins/<Плагин>/config.yml, и впиши ключ.
  3. Сохрани файл и перезапусти сервер.
  4. Если ключа у тебя нет, удали плагин в разделе Плагины, вместо того чтобы постоянно держать его запущенным с ошибками.

Полезно знать: Скачивай премиум-плагины только с официальной страницы продажи. Версии из неофициальных источников, в которых удалена проверка лицензии, нередко содержат вредоносное ПО.

Telegram-бот плагина не запускается

Так выглядит сообщение:

Error removing old webhook

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

Как это исправить:

  1. Открой в Telegram чат с @BotFather и попроси показать токен твоего бота или создать новый.
  2. Открой в разделе Файлы конфигурацию плагина в plugins/<Плагин>/ и замени токен. Скопируй его полностью: токен бота начинается с числа и двоеточия.
  3. Сохрани файл и перезапусти сервер.
  4. Проверь в Консоль, что сообщение больше не появляется.

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

Плагин не получает собственный сетевой порт

Так выглядит сообщение:

Failed to bind to /<Адрес>:<Порт>
[PlasmoVoice] Failed to start the udp server

В чём причина: Некоторые плагины открывают собственный сетевой порт, например для голосового чата вроде Plasmo Voice или для веб-страницы с картой или статистикой. Указанный адрес или порт на твоём сервере недоступен: порт ему не назначен, уже занят, или в конфигурации прописан фиксированный IP-адрес, который сервер не может использовать. Функция плагина при этом не работает, остальной сервер продолжает работать.

Как это исправить:

  1. Открой в разделе Файлы конфигурацию плагина в папке plugins/<Плагин>/ и найди записи с портом и адресом.
  2. Укажи порт, который назначен твоему серверу в панели и ещё свободен.
  3. Оставь адрес пустым или укажи 0.0.0.0. Это означает: доступен на всех сетевых интерфейсах сервера.
  4. Сохрани файл, перезапусти сервер и проверь в Консоли, исчезло ли сообщение.

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

Плагин или дополнительная служба не получает свой порт

Как выглядит сообщение:

[<Plugin>] Failed to start HTTP server: Address already in use
java.net.BindException: Address already in use

В чём причина: Плагин или дополнительная служба, например голосовой чат, собственный сайт, Query или RCON, пытается открыть собственный порт, который уже занят. Часто в его конфигурации указан игровой порт, а сервер уже сам открыл его при запуске. Сервер продолжает работать в обычном режиме, игроки могут заходить, не работает только эта одна функция.

Как это исправить:

  1. В Консоль найди имя в квадратных скобках перед сообщением, например [<Plugin>]. В разделе Состояние сервера оно указано в пункте «Затронутый плагин или служба».
  2. В разделе Файлы открой конфигурацию в plugins/<Plugin>/ и найди запись с портом. Для Query и RCON это query.port и rcon.port в файле server.properties.
  3. Укажи порт, который не является игровым и который не использует другой плагин. Все порты твоего сервера показывает вкладка Ports.
  4. Для Simple Voice Chat и других известных плагинов мастера в разделе Плагины автоматически настраивают свободный порт.
  5. Сохрани файл, перезапусти сервер и проверь в Консоль, что сообщение больше не появляется.

Полезно знать: Одного перезапуска недостаточно, пока в конфигурации указан тот же порт. Подробнее о портах: Порты Minecraft и проверка ошибок подключения.

Твоего сообщения нет в списке?

Прочитай сообщение целиком в Консоль или в logs/latest.log, включая строки перед ним. Имя в квадратных скобках в начале строки, например [DiscordSRV], обычно указывает на плагин. Если его нет, поможет стек вызовов: в строках с отступом и at … указаны названия пакетов и папок, которые ведут к плагину или моду. Какие ключи, токены или порты нужны плагину, объясняется на странице его проекта. Перед изменениями в конфигурации создай резервную копию. Если не получается разобраться, открой тикет и укажи время появления сообщения.