Почему лагает Minecraft-сервер и как это исправить

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

1. Пинг или сервер?

Что видноЧто это
Игроки «телепортируются», блоки ломаются с задержкой, но мобы двигаются плавноСетевые задержки у игрока
Мобы дёргаются, печки и фермы работают медленно у всех сразуСервер перегружен — низкий TPS

Проверить сеть до наших серверов можно в Looking Glass: lg.nouply.host.

2. Измерьте TPS

Нормальный TPS — 20. На Paper наберите в консоли tps. Если значение ниже 18 — сервер не успевает.

3. Найдите причину профайлером

  1. Установите плагин или мод spark
  2. Наберите spark profiler start, подождите 2–3 минуты во время лагов
  3. Наберите spark profiler stop — появится ссылка на отчёт
  4. В отчёте видно, что съедает время: конкретный плагин, сущности или генерация чанков

4. Частые причины и решения

ПричинаЧто сделать
Генерация новых чанковСгенерируйте мир заранее плагином Chunky и поставьте границу мира
Слишком большая дальностьВ server.properties: view-distance=8, simulation-distance=6
Тысячи мобов и предметовОграничьте фермы, включите очистку предметов, проверьте spark
Тяжёлый плагинОбновите его или найдите замену — spark покажет, какой
Ванильное ядроПерейдите на Paper или Purpur — они заметно быстрее, миры сохраняются

5. А если просто добавить RAM?

Больше памяти помогает, только если её действительно не хватает: в консоли есть OutOfMemoryError или сборщик мусора работает постоянно. В остальных случаях лишняя RAM ничего не ускорит — сначала найдите причину через spark.