Плагин для Paper и Spigot — это один JAR-файл (архив Java) в папке plugins. Если файл поврежден, пуст, лежит в двух экземплярах или на самом деле является модом или библиотекой, сервер не загрузит плагин или упадет при запуске. Каждый раздел ниже посвящен одному из таких сообщений. Через «Подробнее» в разделе Состояние сервера ты попадешь сразу к нужному.
Полный текст сообщения ты найдешь в Консоль или в разделе Файлы в logs/latest.log. Чаще всего важны строки прямо под сообщением, ведь именно там указана настоящая причина. Заменяй файлы плагинов только при остановленном сервере. Заранее создай резервную копию в разделе Резервные копии, особенно если могут быть затронуты файлы мира или конфигурации.
Плагин падает при активации («Error occurred while enabling»)
Так выглядит сообщение:
Error occurred while enabling <Plugin> v<Version> (Is it up to date?)
java.lang.NoSuchMethodError: '<Method>'
at <Plugin>-<Version>.jar//<Package>.onEnable(…)
В чём причина: Сервер загрузил плагин, но при активации тот упал и отключил сам себя. Сервер продолжает работать как обычно, однако функции этого плагина полностью отсутствуют: нет команд, меню, прав, а в игре не появляется никакого дополнительного сообщения об ошибке. Если это плагин защиты, прав или авторизации, этой защиты не будет, пока ты не устранишь ошибку. Чаще всего плагин рассчитан на другую версию сервера или другого плагина, чем установленная.
Как это исправить:
- В строке с ошибкой указаны плагин и версия. Проверь на странице плагина, есть ли сборка для твоей версии сервера, и обнови плагин.
- Если ниже стоит
NoSuchMethodErrorилиNoClassDefFoundErrorс названием другого плагина, то версии этих двух плагинов не подходят друг к другу. Приведи один из них к подходящей версии. - Если ниже указана ошибка базы данных, например
Communications link failure, плагин не может подключиться к своей базе данных. Проверь данные доступа в его конфигурации и в разделе Базы данных. - Перезапусти сервер и проверь Консоль.
Полезно знать: То же сообщение со словом «disabling» при остановке часто является лишь следствием ошибки при запуске. Подробнее о конфликтах версий: Плагин не подходит к версии сервера.
Файл плагина пропускается («Could not load 'plugins/…jar'»)
Так выглядит сообщение:
[ModernPluginLoadingStrategy] Could not load 'plugins/<Plugin>.jar' in 'plugins'
org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [ProtocolLib]. Please download and install these plugins to run '<Plugin>'.
В чём причина: Сервер не смог загрузить указанный JAR как плагин и пропускает его. JAR (архив Java) — это файл, в котором находится плагин. Остальной сервер может продолжать работать, но этот плагин полностью отсутствует. Причина — повреждённый или недопустимый файл либо JAR без читаемого plugin.yml, файла описания, по которому сервер распознаёт плагин. Если указано «Failed to run bootstrapper», плагин Paper завершился с ошибкой на самой ранней стадии запуска.
Как это исправить:
- Прочитай строку под сообщением. Если там стоит
UnknownDependencyException, не хватает другого плагина: установи плагин, указанный в квадратных скобках. - В остальных случаях останови сервер и удали проблемный JAR в разделе Файлы в папке
plugins. - Скачай сборку из надёжного источника, подходящую к типу твоего сервера (Paper, Spigot) и твоей версии Minecraft, и загрузи её.
- Перезапусти сервер.
Полезно знать: Если путь указывает на plugins/.paper-remapped, это копия, которую Paper создаёт для плагинов Spigot. Замени оригинальный JAR в plugins, копию Paper создаст заново при следующем запуске. О недостающих плагинах: Плагину нужен другой плагин.
Плагин падает уже при инициализации («Is it up to date?»)
Так выглядит сообщение:
[<Plugin>] Error initializing plugin '<Plugin>-<Version>.jar' in folder 'plugins' (Is it up to date?)
java.lang.ExceptionInInitializerError
В чём причина: Плагин упал, пока сервер его подготавливал, то есть ещё до активации. Он остаётся отключённым, его команды и функции отсутствуют, а сервер работает без него. Почти всегда версия плагина не подходит к версии сервера. Строка с ошибкой ниже часто называет версию или недостающий класс, то есть часть программы, которую плагин ожидает найти на сервере.
Как это исправить:
- Установи версию плагина, предназначенную для твоей версии сервера, или обнови плагин. Поддерживаемые версии указаны на странице плагина.
- Если для твоей версии сервера подходящей сборки пока нет, дождись обновления плагина или пока оставайся в разделе Версия на поддерживаемой версии.
- Если это не помогает, для проверки удали плагин и сообщи об ошибке автору плагина, приложив сообщение целиком.
- Перезапусти сервер.
Полезно знать: Если Geyser сообщает «English locale not found», файл неполный. Скачай Geyser заново с официальной страницы проекта. Подробнее: Плагин не подходит к версии сервера.
Paper не загружает плагин («Could not load plugin … in folder»)
Так выглядит сообщение:
[ModernPluginLoadingStrategy] Could not load plugin '<Plugin>-<Version>.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
В чём причина: Paper не смог загрузить указанный плагин при запуске. Плагин полностью отсутствует, остальной сервер запускается. Причину называет строка сразу под сообщением, чаще всего это неисправный plugin.yml, недостающая зависимость или сборка для другой версии сервера. Сообщение про «API version string» означает, например, что указание версии в plugin.yml имеет формат, который твоя версия сервера не понимает.
Как это исправить:
- Прочитай строку сразу под сообщением.
- Скачай плагин заново, подходящий к твоей версии сервера.
- Останови сервер, в разделе Файлы удали старый JAR из
pluginsи загрузи новый. - Перезапусти сервер и проверь в Консоль, загружается ли плагин теперь.
Полезно знать: Если строка ниже называет недостающий плагин, проблема не в самом файле. Тогда поможет статья Плагину нужен другой плагин.
Плагин установлен дважды («Ambiguous plugin name»)
Так выглядит сообщение:
[ModernPluginLoadingStrategy] Ambiguous plugin name 'ViaVersion' for files 'plugins/ViaVersion.jar' and 'plugins/ViaVersion-<Version>.jar' in 'plugins'
В чём причина: Два JAR-файла в папке plugins имеют одно и то же имя плагина. Сервер загружает только один из них, и ты не знаешь точно, какой именно. Обычно это случается, когда загрузили новую версию, не удалив старую. Или два плагина содержат одно и то же, например FastAsyncWorldEdit, который уже включает WorldEdit. Сервер работает, но, возможно, со старой версией.
Как это исправить:
- В сообщении названы оба файла. Останови сервер и открой в разделе Файлы папку
plugins. - Удали дублирующийся или более старый JAR. Оставь версию, подходящую к твоей версии сервера.
- Из WorldEdit и FastAsyncWorldEdit оставь только один.
- Перезапусти сервер. Команда
pluginsв Консоль покажет, какие плагины загружены.
Полезно знать: При обновлении всегда сначала удаляй старый JAR, а потом загружай новый. Из-за номеров версий в именах файлов дубликаты плагинов легко не заметить.
Мод вместо плагина в папке plugins
Так выглядит сообщение:
[DirectoryProviderSource] Error loading plugin: java.lang.IllegalArgumentException: Directory 'plugins/<Mod>-fabric-<Version>.jar' does not contain a paper-plugin.yml or plugin.yml! Could not determine plugin type, cannot load a plugin from it!
В чём причина: В папке plugins лежит JAR без plugin.yml, то есть без файла, по которому Paper распознаёт плагин. Чаще всего это мод для Fabric или Forge, и в имени файла обычно есть «fabric» или «forge». Иногда это библиотека Java, например драйвер базы данных. Paper не может такое загрузить и пропускает файл. Сервер продолжает работать, но нужная функция отсутствует.
Как это исправить:
- Удали указанный файл из папки
pluginsв разделе Файлы. - Поищи на странице проекта сборку плагина для Paper или Spigot. Многие проекты предлагают оба варианта.
- Если есть только мод, тебе нужен сервер с модами. В разделе Сменить ПО / загрузчик выбери Fabric, Forge или NeoForge. Твои плагины Paper там работать не будут.
- Перезапусти сервер.
Полезно знать: Некоторые моды работают только в клиенте игры и вообще не нужны на сервере. Смену ПО описывает статья Как сменить ПО сервера и версию в панели.
Файл плагина заменён во время работы сервера («zip file closed»)
Как выглядит сообщение:
java.lang.IllegalStateException: zip file closed
java.lang.IllegalStateException: The plugin classloader for <Plugin> has thrown a zip file error.
В чём причина: JAR-файл плагина был перезаписан или удалён, пока сервер работал, либо кто-то использовал /reload. После этого плагин пытается подгрузить части программы из своего файла, который сервер уже закрыл, и выдаёт ошибку. Особенно это касается плагинов, которые постоянно работают в фоне, например LuckPerms. Функции плагина могут не работать до перезапуска сервера.
Как исправить:
- Полностью перезапусти сервер. Как правило, после этого сообщение исчезает.
- В дальнейшем заменяй файлы плагинов только при остановленном сервере: останови сервер, замени JAR в разделе Файлы, запусти сервер.
- Не используй
/reload. Эта команда перезагружает все плагины во время работы, и многие плагины с этим не справляются. - Если сообщение появилось без предварительной замены файлов, посмотри строки перед ним в Консоль. Они показывают, какой плагин затронут.
Полезно знать: После чистого перезапуска плагин снова работает полностью. Одно только это сообщение не приводит к потере данных, но несохранённые изменения плагина за это время могут пропасть.
Два файла плагина с одним и тем же именем («duplicate plugin identifier»)
Как выглядит сообщение:
[ModernPluginLoadingStrategy] Could not load plugin 'worldedit-bukkit-<Version>.jar' in folder 'plugins'
java.lang.IllegalStateException: Provider SpigotPluginProvider{path=plugins/worldedit-bukkit-<Version>.jar, …} attempted to add duplicate plugin identifier …
В чём причина: Два JAR-файла предоставляют одно и то же имя плагина. Paper загружает только один из них и отклоняет другой. Чаще всего старая и новая версии одного плагина лежат рядом в папке plugins. Либо два плагина претендуют на одно имя: FastAsyncWorldEdit (сокращённо FAWE) уже содержит WorldEdit, поэтому отдельный JAR WorldEdit конфликтует с ним. Сервер продолжает работать, но Paper прямо предупреждает о возможных последующих ошибках.
Как исправить:
- Останови сервер.
- В разделе Файлы в папке
pluginsудали более старый или лишний JAR. В случае FAWE это отдельный JARworldedit-bukkit. - Запусти сервер и командой
pluginsв Консоль проверь, что плагин загружен только один раз.
Полезно знать: Привычные команды WorldEdit продолжают работать с FAWE. Как строить с их помощью и отменять ошибки, показано в WorldEdit: выделение областей, строительство и отмена действий.
ProtocolLib предупреждает о перезагрузчике плагинов
Как выглядит сообщение:
*** ProtocolLib does not support plugin reloaders! ***
*** Please use the built-in reload command! ***
В чём причина: ProtocolLib глубоко вмешивается в сетевое соединение между сервером и игроками. Перезагрузчики плагинов — это плагины вроде PlugMan или PlugManX, которые загружают и выгружают отдельные плагины во время работы сервера. ProtocolLib этого не поддерживает и предупреждает о несогласованном состоянии. Тогда ProtocolLib и все плагины, которые на нём основаны, например античит или плагины отображения, могут работать некорректно.
Как исправить:
- Не перезагружай ProtocolLib и плагины, которые его используют, с помощью перезагрузчика плагинов.
- После изменений в плагинах полностью перезапускай весь сервер.
- Если перезагрузчик тебе не нужен, удали его из папки
pluginsв разделе Файлы, чтобы случайно не воспользоваться им. - Если ты только что использовал перезагрузчик, сейчас один раз полностью перезапусти сервер, чтобы всё загрузилось чисто.
Полезно знать: В сообщении рекомендуется встроенная команда перезагрузки. Она тоже перезагружает все плагины во время работы. Самый надёжный способ — полный перезапуск.
Файл в папке plugins не является работоспособным плагином
Как выглядит сообщение:
[DirectoryProviderSource] Error preparing plugin context: Directory 'plugins/<Plugin>-<Version>.jar' failed to update!
Failed to open plugin jar …
В чём причина: Файл в папке plugins не удаётся загрузить как плагин, и плагин не запускается. Часто это исходный код вместо плагина (имя файла заканчивается на -sources.jar), документация (-javadoc.jar), прерванная загрузка, ZIP-файл, переименованный в .jar, или плагин для другой платформы. Сообщения «Invalid plugin.yml» и «only DEFLATED entries can have EXT descriptor» тоже относятся к этой группе: файл устроен не так, как должен быть устроен плагин.
Как исправить:
- Останови сервер и удали указанный файл из
pluginsв разделе Файлы. - Заново скачай плагин с официального сайта. Бери именно основной
.jar, а не-sources.jarили-javadoc.jar. - Если плагин поставляется в виде ZIP-архива, распакуй его на своём компьютере и загрузи только содержащийся в нём JAR.
- Убедись, что файл предназначен для Paper или Spigot, и перезапусти сервер.
Полезно знать: Версию для другой платформы часто можно распознать по имени файла или по странице загрузки, где предлагается несколько вариантов на выбор.
Java-библиотека лежит как плагин в папке plugins
Как выглядит сообщение:
[DirectoryProviderSource] Error preparing plugin context: Directory 'plugins/asm-util-<Version>.jar' failed to update!
В чём причина: Java-библиотека, например ASM или Nashorn, лежит отдельным файлом в папке plugins. Библиотеки — это строительные блоки, которые плагины используют внутри, сами по себе они не являются плагинами. Paper не может ни загрузить этот JAR как плагин, ни обновить его, и пропускает его. Сервер продолжает работать. Такие файлы попадают туда, например, когда архив с несколькими файлами был загружен целиком.
Как исправить:
- Удали указанный JAR библиотеки из
pluginsв разделе Файлы. - Устанавливай только сам плагин. Он приносит свои библиотеки с собой или догружает их при запуске.
- Перезапусти сервер и проверь Консоль.
- Если после этого какой-то плагин сообщит, что ему чего-то не хватает, прочитай его инструкцию по установке вместо того, чтобы добавлять библиотеки вручную.
Полезно знать: Если плагину действительно нужен другой плагин, он прямо это указывает. Как это распознать: Плагину нужен другой плагин.
Файл плагина пуст («zip file is empty»)
Как выглядит сообщение:
[DirectoryProviderSource] Error loading plugin: zip file is empty
В чём причина: Файл в папке plugins имеет размер 0 байт или его загрузка была прервана. Paper не может его открыть и пропускает. Плагина нет, сервер продолжает работать. Часто так бывает, когда соединение обрывается при загрузке или когда скачивание уже на твоём компьютере было неполным.
Как исправить:
- В разделе Файлы открой папку
pluginsи найди файл размером 0 байт или заметно маленького размера. - Удали его.
- Заново скачай плагин из надёжного источника и загрузи его при остановленном сервере. Дождись полного завершения загрузки.
- Перезапусти сервер и проверь в Консоль, загружается ли плагин.
Полезно знать: При больших файлах или большом их количестве SFTP часто надёжнее, чем загрузка через браузер, см. Редактирование файлов сервера в панели и подключение по SFTP.
Твоего сообщения нет в списке?
Прочитай сообщение целиком в Консоль или в logs/latest.log, включая строки до и после него. Имя файла плагина указано в самом сообщении или в стектрейсе, то есть в списке строк с отступом, начинающихся с at: там JAR стоит перед двойным слешем, например <Плагин>.jar//. Названия папок вроде plugins/<Плагин>/ тоже показывают, какой плагин затронут. Перед заменой файлов создай резервную копию. Если не получается разобраться, открой тикет и укажи время появления сообщения.