TPS и MSPT в Minecraft: что это, как читать цифры и когда начинаются лаги

Что значат TPS и MSPT, почему 50 мс — граница, как посмотреть их через spark в консоли EGN и какие выводы делать из цифр, а не из ощущений.

Команда EGN 8 мин чтения
TPS и MSPT в Minecraft: что это, как читать цифры и когда начинаются лаги
Содержание 19
  1. Коротко
  2. Что такое тик
  3. TPS и MSPT: как они связаны
  4. Как посмотреть TPS и MSPT на EGN
  5. Как читать цифры
  6. Сторож зависаний
  7. Пример: как читать отчёт
  8. Симптом → причина → решение
  9. Что не нужно делать
  10. Практические правила
  11. Как вести наблюдение за MSPT
  12. Как связать MSPT с симптомами
  13. Частые ошибки
  14. Итог
  15. Вопросы и ответы
  16. Какой MSPT считается нормальным?
  17. Чем TPS отличается от MSPT?
  18. Как посмотреть MSPT на сервере EGN?
  19. Что делает сторож зависаний?

Когда игроки жалуются на лаги, в ответ часто звучит «у меня TPS 20, значит, всё нормально». Это неполная картина. TPS показывает, сколько тиков в секунду успевает выполнить сервер, но не говорит, сколько времени занимает каждый тик. Для диагностики нужна вторая цифра — MSPT. Разберём обе и научимся читать их вместе.

Коротко

TPS (ticks per second) — сколько тиков в секунду выполняет сервер; максимум 20. MSPT (milliseconds per tick) — сколько миллисекунд длится один тик. Тик Minecraft рассчитан на 50 мс, поэтому пока MSPT не выше 50, сервер держит 20 TPS. Проверить можно командой /spark tps в консоли панели EGN.

Что такое тик

Minecraft работает по игровым тикам. Один тик — один цикл игрового времени: сервер двигает сущности, растит посевы, обрабатывает блоки и отправляет данные игрокам. Игра рассчитана на 20 тиков в секунду, то есть каждый тик длится 50 мс.

Если сервер успевает за 50 мс выполнить все задачи тика, он держит 20 TPS, и игра идёт в обычном темпе. Если тик длится дольше, сервер не может нагнать время. Тогда он выполняет меньше тиков в секунду, и всё, что привязано к тикам, идёт медленнее: посевы, мобы, двери, поршни, регенерация здоровья.

Это важный момент: лаги у игроков — это почти всегда результат того, что тик длится дольше 50 мс. TPS просто показывает последствия.

Бюджет тика: 50 мс на 20 TPS, тик на 74 мс выходит за границу
Бюджет тика: 50 мс на 20 TPS, тик на 74 мс выходит за границу

TPS и MSPT: как они связаны

Примерная связь: TPS ≈ 1000 / MSPT, но не выше 20. Если MSPT равен 74 мс, это около 13,5 TPS. Если MSPT равен 35 мс, TPS остаётся 20, но запас меньше, чем кажется: одна тяжёлая секунда может вытолкнуть тик за границу.

Поэтому смотрите на MSPT как на главную цифру. TPS полезен, но он «прилипает» к 20 и мало что говорит, пока сервер в запасе.

Вики Minecraft формулирует то же самое: TPS можно поддерживать на 20, только если MSPT не выше 50.

Как посмотреть TPS и MSPT на EGN

Откройте сервер в панели и перейдите в «Консоль». Выполните:

Терминал
/spark tps

Команда выведет TPS, длительность тиков (MSPT) и загрузку CPU. Для живого наблюдения удобнее отчёт /spark health: это живая панель в браузере с обновлением каждые 10 секунд. Если нужен вывод прямо в консоль, выполните /spark health show.

Команды spark для TPS: /spark tps, /spark health, /spark health show, /spark gc
Команды spark для TPS: /spark tps, /spark health, /spark health show, /spark gc

Для истории сборок мусора выполните /spark gc. Если в истории видны частые и длинные паузы, это влияет на MSPT, и смотреть нужно память.

Чтобы понять, что именно съедает тик, запустите профилирование. Подробности — в статье Spark: как найти причину лагов.

Как читать цифры

Цифры удобно делить на три зоны:

  • MSPT до 30 мс — запас есть, тик спокойный. Лаги у игроков вряд ли связаны с сервером.
  • MSPT 30–50 мс — сервер работает, но пики могут выходить за 50 мс. Стоит понаблюдать в час пик.
  • MSPT выше 50 мс — тик не укладывается в бюджет, TPS падает. Это уже причина для действий.

Важно смотреть не на мгновенное значение, а на динамику. Если MSPT растёт вечером каждый день, это закономерность. Если одиночный пик — возможно, сборка мира или сохранение.

Сторож зависаний

Отдельная тема — тик, который длится очень долго. В панели EGN это параметр «Сторож зависаний, мс» в разделе «Настройки» → «Производительность». Он соответствует max-tick-time в server.properties.

По документации Minecraft Wiki значение по умолчанию — 60000 мс. Если один тик длится дольше, сторож останавливает сервер. Значение -1 отключает эту защиту. Не отключайте сторож ради того, чтобы сервер не падал: он выключает зависший сервер, и это лучше, чем бесконечный лаг. Но если сервер падает часто по этой причине, ищите причину через spark, а не поднимайте таймаут.

Пример: как читать отчёт

Условный пример. Администратор видит, что у игроков рывки, а TPS показывает 20. Он выполняет /spark tps и видит MSPT 46 мс при пике 58 мс в вечерний час. Вывод: запаса мало, пики выходят за границу. Дальше он запускает профиль на пять минут в час пик и видит, что примерно треть тика уходит на один плагин подсчёта. После отключения плагина MSPT падает до 30–35 мс.

Без MSPT администратор видел бы только «TPS 20» и мог бы часами менять память. Цифры помогают отделить симптом от причины.

Пример условный, цифры для иллюстрации.

Симптом → причина → решение

Симптом Что показывает MSPT Что сделать
TPS 20, но игроки жалуются на рывки MSPT около 45–50 с пиками выше Профиль spark в час пик
TPS падает до 15 и ниже MSPT выше 60–70 мс Искать тяжёлую ветку в профиле
TPS и MSPT стабильны, лаги только у одного игрока Сервер в норме Проверить соединение игрока и выбранную локацию сервера
MSPT растёт вечером Нагрузка от онлайна view-distance и simulation-distance
Одиночные длинные тики раз в несколько минут Сохранение или сборка мусора Проверить диск, /spark gc, память
Сервер остановился сам, в логе «A single server tick took…» Сработал сторож зависаний Профиль, причина в тяжёлом тике

Что не нужно делать

Смотреть только TPS. Пока сервер в запасе, TPS остаётся 20 даже при тяжёлых тиках. Ориентируйтесь на MSPT.

Поднимать память до бесконечности. Если MSPT высокий из-за логики мода или плагина, больше памяти не поможет.

Отключать сторож зависаний. Это снимает защиту, а не причину.

Сравнивать цифры с разных серверов. Тариф, версия Paper, моды и онлайн разные, поэтому сравнивайте свой сервер с самим собой в разное время.

Практические правила

  • Записывайте MSPT в час пик и в спокойное время. Так видно динамику.
  • Меняйте одно за раз и проверяйте MSPT после каждого изменения.
  • Используйте /spark health при диагностике, чтобы видеть изменения в реальном времени.
  • Цифры до и после: без них вывод «стало лучше» остаётся на ощущениях.

Как вести наблюдение за MSPT

Один замер ничего не говорит. Нужна серия, чтобы увидеть закономерность. Простой порядок:

  1. В спокойное время (утро, будний день) выполните /spark tps и запишите MSPT.
  2. В вечерний пик сделайте ещё два замера с интервалом 15–20 минут.
  3. Снимите профиль /spark profiler start --timeout 300 в самый тяжёлый замер.
  4. Запишите в таблицу: время, онлайн, MSPT, TPS, что делали игроки.

Пример таблицы, как её вести. Значения условные:

Время Онлайн MSPT TPS Заметка
11:00 3 22 мс 20 Спокойно
19:30 9 41 мс 20 Запас есть
20:45 12 58 мс 17 Ферма запущена, пик
21:10 12 52 мс 19 После отключения фермы на час

Из такой таблицы видно, что проблема не в онлайне как таковом, а в конкретной нагрузке в 20:45. Это повод смотреть профиль именно в этот час.

Как связать MSPT с симптомами

Игроки описывают лаги по-разному: «прыгает», «мобы телепортируются», «не открывается дверь». Переведите это на язык цифр:

  • «Прыгает» обычно означает пики MSPT выше 50 мс.
  • «Мобы дёргаются» или «отстают» — сущности обновляются медленнее обычного, когда тик перегружен.
  • «Не открывается дверь» или «не растёт посев» — механизмы тикают по очереди, и при длинном тике они ждут своей очереди.

Если симптом описан и совпадает с пиками, работайте по профилю. Если совпадений нет, проверьте сеть игрока.

Частые ошибки

Считать 20 TPS признаком здорового сервера. Это признак, что сейчас запас есть. Пики могут выходить за 50 мс.

Путать MSPT с пингом. Пинг — задержка сети между игроком и сервером. MSPT — время работы сервера над тиком.

Смотреть на одну секунду. Разовый пик может быть сборкой мира или сохранением. Смотрите тренд.

Не сверять с профилем. Цифры говорят, что тик тяжёлый, а профиль — почему.

Итог

TPS показывает темп игры, MSPT — сколько времени занимает один тик. Граница — 50 мс: пока MSPT ниже, сервер держит 20 TPS. Смотрите /spark tps и /spark health в консоли EGN, сравнивайте цифры в разное время и переходите к профилю, когда MSPT стабильно выше 50. Так вы перестанете гадать и начнёте лечить причину.

Вопросы и ответы

Какой MSPT считается нормальным?

Не выше 50 мс. Комфортно — до 30–35 мс, с запасом на пики.

Чем TPS отличается от MSPT?

TPS — сколько тиков в секунду, максимум 20. MSPT — сколько миллисекунд длится один тик. Одна цифра показывает темп, вторая — нагрузку.

Как посмотреть MSPT на сервере EGN?

В «Консоли» выполните /spark tps. Для живого отчёта — /spark health.

Что делает сторож зависаний?

Останавливает сервер, если один тик длится дольше значения max-tick-time. По умолчанию 60000 мс, в панели — «Сторож зависаний, мс».

Сервер под Minecraft за пару минут — egnetwork.ru

Читать далее

Вся рубрика →