Многие плагины и моды строятся на основе других: плагину магазина нужны Vault и экономический плагин, плагину меню нужен PlaceholderAPI, моду Fabric нужен Fabric API. Если этой основы нет, она слишком старая или сама не запускается, зависимый плагин полностью или частично отключается. В большинстве случаев сервер продолжает работать, просто функции затронутого плагина недоступны.

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

Отсутствует класс: NoClassDefFoundError и ClassNotFoundException

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

java.lang.NoClassDefFoundError: org/cloudburstmc/math/GenericMath
	at <Plugin>.jar//org.cloudburstmc.math.vector.Vector3i.from(Vector3i.java:403)
Caused by: java.lang.ClassNotFoundException: <Package>.<Class>

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

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

  1. Выясни, кто выбрасывает ошибку. Это подскажет имя плагина после to в строке «Could not pass event … to …» или имя файла перед .jar// в стектрейсе, то есть в строках at … под сообщением.
  2. Прочитай путь отсутствующего класса. Его начало часто указывает на проект, к которому он относится, например org/geysermc для Geyser.
  3. На странице затронутого плагина или мода сравни требуемые зависимости и версии с установленными у тебя Плагины или Моды.
  4. Установи недостающие зависимости или приведи все задействованные компоненты к совместимым друг с другом версиям. После этого перезапусти сервер.

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

Команда не работает, потому что её плагин отключён

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

Unexpected exception while parsing console command "<Command>"
org.bukkit.command.CommandException: Cannot execute command '<Command>' in plugin <Plugin> v<Version> - plugin is disabled.

Что за этим стоит: Сама команда не ошибочна. Она принадлежит плагину, который не удалось активировать при запуске сервера, поэтому при каждом вызове сервер отвечает этой ошибкой. Настоящую причину сервер записывает в лог выше, при запуске, часто это «unsupported server version»: версия плагина не подходит к версии твоего сервера. Если плагин заменяет базовые команды вроде list, как это делает EssentialsX, то перестают работать и они.

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

  1. Открой в разделе Файлы файл logs/latest.log и найди имя плагина из сообщения. Важны строки из фазы запуска, например «Error occurred while enabling …».
  2. Введи в Консоль команду plugins. Отключённые плагины отображаются там красным.
  3. Устрани ошибку запуска. Чаще всего нужно установить в разделе Плагины версию, подходящую к версии твоего сервера. Версию сервера ты увидишь в разделе Версия. Подробнее: Плагин не подходит к версии сервера.
  4. Перезапусти сервер и с помощью plugins проверь, стал ли плагин зелёным.

Полезно знать: Сообщение о команде — лишь следствие. Оно исчезнет, как только плагин снова запустится.

Отсутствует Vault или плагин экономики

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

[<Plugin>] Vault economy not found! Disabling plugin...
[<Plugin>] - Disabled due to no Vault dependency found!

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

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

  1. Проверь в разделе Плагины, установлен ли Vault.
  2. Проверь, установлен ли плагин экономики с поддержкой Vault, например EssentialsX с EssentialsX Economy, CMI или XConomy.
  3. Установи недостающее, в каждом случае в версии для твоей версии сервера.
  4. Полностью перезапусти сервер. /reload или перезагрузка отдельных плагинов легко нарушает порядок загрузки.
  5. Введи в Консоль команду vault-info. После «Economy» теперь должен стоять твой плагин экономики.

Полезно знать: Сообщение появляется и тогда, когда Vault есть, но сам плагин экономики не запускается. В этом случае поищи его имя в logs/latest.log.

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

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

[<Plugin>] Failed to register events for class <Class> because me/clip/placeholderapi/<Class> does not exist.
[QuickShop-FindItemAddOn] Uh oh! Looks like either this plugin has crashed or you don't have QuickShop-Hikari installed.

Что за этим стоит: При запуске плагин регистрирует свои обработчики (listener) — части, которые реагируют на события вроде входа, добычи или покупки. Некоторым из них нужен другой плагин. Если его нет, именно эти части не регистрируются, а остальная часть плагина работает. Какого плагина не хватает, подскажет путь после because:

  • me/clip/placeholderapi относится к PlaceholderAPI
  • net/milkbowl/vault относится к Vault
  • com/ghostchu/quickshop относится к QuickShop-Hikari
  • net/ess3 относится к EssentialsX

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

  1. Сопоставь путь из сообщения со списком выше и определи плагин. Для других путей поможет название проекта в пути, например com/projectkorra для ProjectKorra.
  2. Установи недостающий плагин в разделе Плагины в версии для твоей версии сервера.
  3. Перезапусти сервер и проверь, пропало ли сообщение при запуске.

Полезно знать: Если путь начинается с io/papermc или org/bukkit, то не хватает не плагина. Тогда ПО твоего сервера слишком старое для плагина или запущено не то ПО, например Spigot вместо Paper. Помощь по этому вопросу: Плагин не подходит к версии сервера.

Плагин не может подключиться к другому плагину

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

[<Plugin>] Could not hook into PlaceholderAPI!
<Plugin> will now disable!

Что за этим стоит: «Hook» здесь означает подключение. Плагин, выдавший сообщение, хотел при запуске подключиться к другому плагину, который нужен ему для работы. Но тот отсутствовал или к этому моменту ещё не был загружен. Многие плагины после этого сами отключаются. Сервер продолжает работать нормально, но функции плагина, выдавшего сообщение, полностью отсутствуют, например, у плагина меню — все меню.

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

  1. Считай оба названия из сообщения: в квадратных скобках — плагин, выдавший сообщение, после «hook into» — недостающий.
  2. Если недостающего плагина нет в разделе Плагины, установи его в версии для твоей версии сервера. Очень часто это PlaceholderAPI.
  3. Если он уже установлен, поищи его имя в logs/latest.log. Если он сам выдаёт ошибку при запуске, это и есть настоящая причина. Сначала устрани её.
  4. Полностью перезапусти сервер.

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

ViaBackwards отключается, потому что ViaVersion слишком старый

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

[ViaBackwards] YOUR VIAVERSION IS OUTDATED
[ViaBackwards] VIABACKWARDS WILL NOW DISABLE

Что за этим стоит: ViaVersion пускает на твой сервер игроков с более новыми версиями Minecraft, а ViaBackwards дополняет это для более старых версий. ViaBackwards — расширение для ViaVersion и требует подходящей, достаточно новой сборки ViaVersion. Если ViaVersion старше, ViaBackwards отключается. Сервер продолжает работать, но игроки со старыми клиентами больше не смогут зайти.

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

  1. Посмотри в разделе Плагины, какие версии ViaVersion и ViaBackwards установлены.
  2. Обнови оба плагина вместе до актуальных сборок, подходящих друг к другу. Само сообщение указывает официальную страницу загрузки. Если ты дополнительно используешь ViaRewind, обнови его на том же шаге.
  3. Перезапусти сервер и с помощью plugins в Консоль проверь, отображается ли ViaBackwards зелёным.

Полезно знать: Всегда обновляй плагины Via вместе. Тот, кто обновляет только ViaBackwards, получает именно это сообщение.

Подробнее: Настройка ViaVersion: подключение старых и новых клиентов

UltimateDonutSmp отключается без PlaceholderAPI

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

[UltimateDonutSmp] UltimateDonutSmp requires PlaceholderAPI
[UltimateDonutSmp] UltimateDonutSmp is disabling itself to prevent broken sidebar output.

В чём причина: UltimateDonutSmp показывает значения в сайдбаре — панели у правого края экрана. Эти значения поступают через плейсхолдеры — небольшие переменные вроде %player_name%, которые PlaceholderAPI заменяет реальными значениями. Если PlaceholderAPI отсутствует или отключён, UltimateDonutSmp намеренно отключается, чтобы игроки не видели сломанные плейсхолдеры. Сам сервер продолжает работать как обычно.

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

  1. Установи PlaceholderAPI в разделе Плагины в версии, подходящей для твоей версии сервера.
  2. Если он уже установлен, проверь в logs/latest.log, нет ли ошибки при запуске, и сначала устрани её.
  3. Останови сервер и затем снова запусти его. Перезагрузки командой здесь недостаточно.

Полезно знать: Если после этого в сайдбаре вместо чисел отображается текст вроде %vault_eco_balance%, не хватает расширения для PlaceholderAPI. Загрузи его в Консоли командой papi ecloud download <Расширение> и примени командой papi reload.

Необходимый плагин не установлен

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

[<Plugin>] <Dependency> is required but was not found
[<Plugin>] <Dependency> plugin not found! Disabling
[<Plugin>] Download <Dependency> from https://<Address>

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

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

  1. Запиши название недостающей основы из сообщения.
  2. Проверь в разделе Плагины, установлена ли она. Если нет, установи её в версии, подходящей для твоей версии сервера. Как это сделать: Установка плагинов и управление ими.
  3. Если она установлена, поищи её название в logs/latest.log. Ошибка при запуске тогда и есть настоящая причина.
  4. Перезапусти сервер.

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

Плагин не находит экономическую систему

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

[<Plugin>] Vault economy provider not found!
[<Plugin>] Vault is not found or no economy plugin found

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

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

  1. Проверь в разделе Плагины, установлен ли Vault или VaultUnlocked.
  2. Проверь, работает ли экономический плагин, например EssentialsX. Без него Vault нечего передавать дальше.
  3. Установи недостающее в версиях для твоей версии сервера и перезапусти сервер.
  4. Для Vault выполни в Консоли команду vault-info и проверь, указан ли рядом с «Economy» экономический плагин.

Полезно знать: Как настроить EssentialsX, описано в статье Настройка EssentialsX.

Плагин наград за голову Bountys не находит Vault

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

[Bountys] Vault Plugin wasn't detected!

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

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

  1. Реши, нужен ли тебе Bountys. Если нет, удали его в разделе Плагины, и сообщение исчезнет.
  2. Если хочешь его оставить, положи Vault и совместимый экономический плагин вроде EssentialsX в папку плагинов, проще всего через раздел Плагины.
  3. Если Vault уже там, проверь в logs/latest.log, не сообщает ли сам Vault об ошибке при запуске.
  4. Перезапусти сервер и проверь командой vault-info в Консоли, нашёл ли Vault экономический плагин.

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

AuthMe не находит через Vault плагин прав

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

[AuthMe] Error while hooking into Vault [PermissionHandlerException]: Could not load permissions provider service

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

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

  1. Установи в разделе Плагины LuckPerms или другой плагин прав с поддержкой Vault.
  2. Обнови Vault и AuthMe до версий для твоей версии сервера.
  3. Перезапусти сервер.
  4. Введи в Консоли команду vault-info. Рядом с «Permission» теперь должен быть указан твой плагин прав.

Полезно знать: Как создавать группы и права, показано в статье Настройка LuckPerms.

StackSpawners требует DecentHolograms

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

[StackSpawners] DecentHolograms was not found. The plugin will not work

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

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

  1. Установи DecentHolograms в разделе Плагины в версии, подходящей для твоей версии сервера и для StackSpawners. Поддерживаемые версии указаны на странице плагина StackSpawners.
  2. Если DecentHolograms уже установлен, поищи в logs/latest.log ошибку запуска DecentHolograms и сначала устрани её.
  3. Полностью останови сервер и запусти его снова. Так оба плагина загрузятся в правильном порядке.

Полезно знать: Если StackSpawners тебе больше не нужен, удали его. Тогда отпадёт и зависимость.

LightAntiCheat-Plus не находит PacketEvents

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

(LightAntiCheat-Plus) Failed to start listener-mode … com/github/retrooper/packetevents/event/PacketListenerCommon

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

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

  1. Загляни на страницу LightAntiCheat-Plus и узнай, какая версия PacketEvents ему нужна.
  2. Установи или обнови PacketEvents в разделе Плагины до этой версии, подходящей к версии твоего сервера.
  3. При необходимости обнови и LightAntiCheat-Plus, чтобы оба плагина подходили друг к другу.
  4. Полностью останови сервер и запусти его заново.

Полезно знать: Другие плагины часто тоже используют PacketEvents. После смены версии проверь в logs/latest.log, запускаются ли они по-прежнему без ошибок.

Плагин сам отключился после ошибки

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

[<Plugin>] An unexpected error occurred, disabling the plugin
[<Plugin>] Cannot enable plugin: <Причина>

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

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

  1. Открой logs/latest.log и прочитай строки непосредственно перед сообщением. Отсутствующий плагин, неподходящая версия или ошибка в конфигурации обычно хорошо видны там.
  2. Обнови плагин и проверь на его странице, подходит ли он к версии твоего сервера.
  3. Если ошибка остаётся, ради теста удали плагин и перезапусти сервер. Если без него всё работает, сообщи об ошибке автору плагина и приложи строки из лога.

Полезно знать: Ошибки во время работы ты можешь разобрать с помощью Плагин выдаёт ошибки во время работы.

AuthMeBia не подходит к твоей версии AuthMe

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

[AuthMeBia] AuthMe DataSource reflection unavailable; premium skip and session autologin both disabled

В чём причина: AuthMeBia — это расширение для плагина авторизации AuthMe. Оно обращается к функции внутри AuthMe, которой в твоей версии AuthMe в таком виде нет. Поэтому AuthMeBia отключает две функции: Premium-Skip, благодаря которому игроки с купленным аккаунтом Minecraft заходят без пароля, и Session-Autologin — автоматический вход, когда игрок снова заходит вскоре после выхода. Сам AuthMe продолжает работать, а игроки входят, как обычно, с паролем.

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

  1. Посмотри в разделе Плагины, какие версии AuthMe и AuthMeBia установлены.
  2. Проверь на странице AuthMeBia, для какой версии AuthMe она собрана.
  3. Обнови оба плагина до подходящих друг к другу версий и перезапусти сервер.
  4. Проверь с купленным аккаунтом, снова ли работает вход без пароля.

Расширение ProjectKorra не подходит к основной версии

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

java.lang.NoSuchMethodError: 'void com.projectkorra.projectkorra.<Class>.<Method>()'
com.jedk1.jedcore.ability.<Ability>@<Identifier>[…]

В чём причина: ProjectKorra добавляет на сервер способности бендинга, а расширения вроде JedCore добавляют новые. Каждое расширение собрано для определённой версии ProjectKorra. Если оно вызывает метод, то есть функцию, которой нет в твоей версии ProjectKorra, оно завершается с ошибкой «NoSuchMethodError». Иногда при этом оно записывает состояние способности в лог одной длинной строкой. Затронутые способности тогда не работают, остальной сервер продолжает работу.

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

  1. Запиши в разделе Плагины версию ProjectKorra и версии всех расширений.
  2. Открой страницу загрузки каждого расширения. Там указано, какая версия ProjectKorra ему нужна.
  3. Установи ProjectKorra и все расширения в версиях, которые подходят друг к другу и к версии твоего сервера.
  4. Перезапусти сервер и проверь одну из способностей расширения.

Полезно знать: Если для твоей версии ProjectKorra нет подходящего расширения, лучше удали его, а не смешивай старые и новые версии.

AppleSkin не запускается, потому что отсутствует Fabric API

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

Mod 'AppleSkin' (appleskin) <Версия> requires any version of fabric-api, which is missing!

В чём причина: Большинству модов Fabric нужна библиотека Fabric API — набор общих компонентов, которых нет в самом Fabric Loader. AppleSkin установлен, а Fabric API нет. Fabric Loader проверяет это при запуске и прерывает его. Поэтому твой сервер снова запустится только после того, как ты добавишь Fabric API или отключишь AppleSkin.

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

  1. Установи в разделе Моды Fabric API в версии для твоей версии Minecraft.
  2. Если AppleSkin тебе не нужен, воспользуйся кнопкой исправления у сообщения в разделе Состояние сервера. Она отключает AppleSkin (файл сохраняется) и перезапускает сервер.
  3. Проверь в Консоли, полностью ли запускается сервер.

Полезно знать: Fabric API должен подходить к твоей версии Minecraft. В сообщении сказано «any version», то есть AppleSkin сам не предъявляет особых требований.

Подробнее: Fabric Loader и Fabric API: как точечно устранить ошибки версий

Твоего сообщения здесь нет?

Прочитай сообщение целиком в logs/latest.log, включая строки перед ним. Обычно сервер сначала называет плагин, который не загрузился, и только потом выводит сопутствующие ошибки других плагинов. В стектрейсе имена файлов перед .jar и названия папок в пути классов, например me/clip/placeholderapi, подскажут, какой плагин или мод участвует в ошибке. Затем сравни зависимости на странице проекта с установленными плагинами. Перед любыми изменениями создавай резервную копию. Если не получается разобраться, открой тикет и укажи время появления сообщения.