Сервер не успевает обрабатывать тики (Can't keep up!)
- Платформы
- Paper · Purpur · один сервер
- Проверено
- Проверено
- Уверенность
- Уверенность 95%
Как это выглядит в логе
Достаточно одной из строк. Агент сверяет их с логом локально, на вашем сервере.
logs/latest.log
[WARN] Can't keep up! Is the server overloaded?
Симптомы
- Игроки видят лаги: откаты движения, задержка ломания блоков, мобы «телепортируются»
- В логе повторяется «Can't keep up! Is the server overloaded? Running Nms or N ticks behind»
Причина
Основной поток сервера отстал от расписания тиков более чем на 2 секунды: один или несколько тиков длились намного дольше 50 мс. Сообщение печатают vanilla, Spigot, форки (Leaf, Purpur) и Paper до переписывания tick loop; в актуальном Paper его нет — там перегрузку видно по MSPT.
Вероятные причины
- Тяжёлые плагины или их задачи в основном потоке (синхронные запросы к БД/HTTP, большие операции)
- Нагрузка мира: много сущностей/редстоуна/хопперов, генерация чанков (прегенерация, быстро летающие игроки)
- Нехватка ресурсов: CPU хоста перегружен соседями, длинные паузы GC из-за малого heap
Как исправитьНизкий риск
- Единичное сообщение сразу после старта (загрузка мира) — норма; тревожно, если оно повторяется во время игры.
- Снимите профиль во время лагов:
/spark profiler start, через 2–5 минут/spark profiler stop— посмотрите, какие плагины/задачи занимают основной поток. - Проверьте
/spark tpsи/spark healthreport: MSPT, загрузку CPU, паузы GC; при частых долгих GC — увеличьте heap или ищите утечку. - Если идёт прегенерация (Chunky и т.п.) — снизьте её скорость или запускайте без игроков; ограничьте фермы сущностей и
view-distance/simulation-distance.