Перейти к содержимому

Как поднять TPS на сервере Minecraft: диагностика через spark

1 час назад · 5 мин чтения
11
Как поднять TPS на сервере Minecraft: диагностика через spark

Если сервер лагает, первым делом нужно не гадать, а измерить: посмотреть TPS и MSPT, а затем снять профиль через spark, чтобы увидеть, что именно ест время тика. Timings, который советуют старые гайды, в актуальных ядрах больше не поддерживается — современный стандарт диагностики это spark.

TPS и MSPT: в чём разница и почему MSPT честнее

С чего начинать, когда машина тормозит
Просадка TPS начинается с вопроса, упёрлись ли мы в процессор или в диск.

TPS (тики в секунду) — сколько раз в секунду сервер успевает обновить игровой мир, идеал — 20. MSPT (миллисекунды на тик) — сколько времени физически занимает один тик. Проблема TPS в том, что он показывает округлённое значение и долго держится на 20 даже когда сервер уже начинает буксовать — просадка становится видна только когда всё действительно плохо. MSPT показывает нагрузку раньше и точнее: если тик стабильно занимает 40-50 мс вместо целевых 50 мс на весь тик (то есть уже на грани), проблему видно заранее, до того как TPS вообще начнёт проседать.

Почему timings больше не годится

Timings был встроенным профилировщиком Spigot, но актуальные ядра либо не поддерживают его в полной мере, либо он даёт неполную и устаревшую картину по сравнению с современными инструментами. Полагаться на гайд с командой /timings в 2026 году — гарантированно смотреть не туда или получать неполные данные.

spark: как поставить и снять профиль

  • Установи spark как плагин (для Paper/Spigot) или мод (для Fabric/Forge) — актуальную версию под своё ядро и версию игры
  • Запусти профилирование командой /spark profiler start в консоли или игровом чате с правами администратора
  • Дай серверу поработать под обычной нагрузкой несколько минут, желательно захватить момент, когда обычно случаются лаги
  • Останови профиль командой /spark profiler stop — spark сгенерирует ссылку на подробный отчёт
  • Открой отчёт в браузере и посмотри, какие методы и плагины съедают больше всего времени тика

Как читать отчёт spark

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

Типовые причины просадок TPS

  • Слишком большая дальность прорисовки или симуляции — сервер тикает и рендерит больше чанков, чем нужно
  • Мобофермы и скопления сущностей — десятки и сотни мобов или предметов в одной точке карты серьёзно нагружают тик
  • Хопперы — при большом количестве одновременно работающих хопперов сервер тратит на них заметную часть тика
  • Редстоун-машины, особенно с быстрыми тактовыми генераторами — держат сервер в постоянной работе даже без игроков рядом
  • Тяжёлые или плохо оптимизированные плагины — находятся именно через spark, а не на глаз
  • Генерация новых чанков при исследовании — заход в новую, ранее не сгенерированную область карты создаёт кратковременный, но заметный всплеск нагрузки

Что крутить в server.properties и paper.yml

После того как spark показал источник проблемы, есть конкретные рычаги. Уменьшение view-distance и simulation-distance в server.properties снижает нагрузку почти всегда, но урезает игрокам обзор и дальность, на которой мир продолжает жить без них рядом. В paper.yml (или spigot.yml на Spigot) можно снизить дальность активации и отслеживания сущностей — это уменьшает нагрузку от мобов и предметов, но может сделать их поведение чуть менее отзывчивым на расстоянии. Ограничение скорости обработки хопперов снижает нагрузку от автоматических ферм ценой чуть более медленной сортировки предметов. За каждую оптимизацию платишь чем-то в игровом опыте — задача не выжать максимум TPS любой ценой, а найти баланс, комфортный именно твоим игрокам.

Что почитать дальше: Средняя нагрузка: что означают три числа · Процессор загружен на 100 процентов.

Netdata: подробные метрики машины
Netdata показывает нагрузку по секундам — полезно рядом с профилем spark.
Есть бесплатный тариф

Хостинг Minecraft от 349 ₽ в месяц

Ryzen 9 7950X до 5,7 ГГц на ядро, бэкапы каждый день, моды и карты из панели.

Выбрать тариф

Частые вопросы

TPS 19 — это плохо? Не обязательно критично, но это сигнал заглянуть в MSPT и снять профиль spark, прежде чем состояние ухудшится дальше.

Нужно ли ставить spark постоянно или только при проблемах? Плагин лёгкий и не мешает работать в фоне, так что держать его установленным для диагностики по требованию — разумная практика.

ПроизводительностьДиагностика

Похожие статьи

Флаги запуска Java для сервера Minecraft: почему -Xmx8G мало
Свой сервер

Флаги запуска Java для сервера Minecraft: почему -Xmx8G мало

Объясняем, что такое куча, зачем выравнивать Xms и Xmx, как работает сборщик мусора и что реально делают флаги Aikar — без слепого копирования строки.

1 день назад
114
Paper, Spigot, Fabric, Forge: какое серверное ядро выбрать
Свой сервер

Paper, Spigot, Fabric, Forge: какое серверное ядро выбрать

Разбираем родословную ядер Minecraft — от Bukkit до Paper и NeoForge — и объясняем, чем плагины принципиально отличаются от модов при выборе.

2 дня назад
2341
Сколько оперативной памяти нужно серверу Minecraft
Свой сервер

Сколько оперативной памяти нужно серверу Minecraft

Память сервера зависит не от числа игроков, а от ядра, дальности прорисовки и загруженных чанков. Разбираем по факторам, без выдуманных таблиц.

3 дня назад
330
Не помогло?
Спроси у сообщества — отвечают игроки и админы серверов.
Задать вопрос

Комментарии 0

Войди, чтобы комментироватьВойти
Как поднять TPS на сервере Minecraft: диагностика через spark