Плагин обращается к API сервера не из основного потока (Asynchronous …!)
- Платформы
- Paper · Purpur · один сервер
- Проверено
- Проверено
- Уверенность
- Уверенность 95%
Как это выглядит в логе
Достаточно одной из строк. Агент сверяет их с логом локально, на вашем сервере.
logs/latest.log
[WARN] java.lang.IllegalStateException: в stack trace
Симптомы
- Действие плагина не выполняется, в логе IllegalStateException «Asynchronous <операция>!»
- Возможны дюпы предметов, рассинхронизация сущностей и краши, если плагин продолжает так делать
Причина
Плагин вызвал операцию, разрешённую только в основном потоке сервера (добавление сущностей, загрузка чанков, телепорт и т.п.), из асинхронной задачи или сетевого потока; Paper (AsyncCatcher/TickThread) заблокировал вызов.
Вероятные причины
- Плагин выполняет Bukkit API в runTaskAsynchronously/CompletableFuture без возврата в основной поток
- Устаревшая версия плагина, не адаптированная к проверкам Paper
Как исправитьНизкий риск
- Определите плагин по фреймам trace (первые фреймы после
org.spigotmc.AsyncCatcherилиTickThread) и операцию из текстаAsynchronous <операция>!. - Обновите плагин; если ошибка есть в последней версии — сообщите автору (нужно перенести вызов в основной поток через
runTask). - До исправления отключите функцию плагина, вызывающую ошибку, или сам плагин: такие вызовы грозят дюпами и повреждением данных.