Как мониторить сервер Minecraft: доступность, нагрузка и оповещения

Что мониторить на сервере Minecraft: доступность порта, TPS, память Java и логи. Проверка снаружи, плагин spark, графики в Prometheus и Grafana и оповещения.

Михаил Сорокин
Михаил Сорокин
Обозреватель SaaS-сервисов4 мин
Как мониторить сервер Minecraft: доступность, нагрузка и оповещения

Коротко: сервер Minecraft мониторят на трёх уровнях: доступность (отвечает ли порт и проходит ли запрос статуса), нагрузка (TPS, загрузка процессора, память Java, время тика) и события (падения, вылеты игроков, ошибки в логах). Для доступности подойдёт внешний сервис проверки порта с уведомлением в Telegram, для нагрузки — плагин spark и команда /tps на Paper-совместимых ядрах, для постоянных графиков — Prometheus и Grafana. Начните с простой проверки порта и оповещения: она ловит большинство проблем.

Владельцу сервера Minecraft важно узнавать о проблеме раньше игроков. Падение процесса, перегруз по памяти и просевший TPS (число игровых тиков в секунду) заметны игрокам мгновенно: мир «тормозит», блоки возвращаются, сервер вылетает. Ниже — что именно мониторить, чем это делать на разных уровнях и как настроить оповещения без лишней сложности.

Что мониторить

ПоказательЗачем нуженНормальное значение
Доступность порта (по умолчанию 25565)Показывает, что сервер запущен и принимает подключенияПорт отвечает, статус возвращается
TPSСкорость игрового мира: сервер обновляет мир 20 раз в секундуОколо 20; стабильное падение ниже 18–19 заметно игрокам
Время тика (MSPT)Сколько миллисекунд сервер тратит на один тикМеньше 50 мс: при превышении TPS начинает падать
Память Java (heap) и сборщик мусораНехватка памяти вызывает рывки и вылетыЗапас памяти, нет частых длительных пауз сборщика
Загрузка процессораИгровой поток чувствителен к производительности одного ядраНет постоянного упора в 100% на основном потоке
Количество игроков и чанков, сущностейОбъясняет рост нагрузкиЗависит от размера мира и сборки
Диск и сетьСвободное место, скорость записи, задержкиСвободно место для мира, логов и резервных копий
Логи и ошибкиПадения плагинов, ошибки мира, перезапускиНет повторяющихся исключений

Уровень 1. Мониторинг доступности

Проверку делают снаружи, с другого сервера, чтобы увидеть проблему так, как её видят игроки.

  1. Проверка порта. Многие сервисы мониторинга умеют проверять TCP-порт и присылать оповещение, если он не отвечает.
  2. Запрос статуса. Игровой статус (количество игроков, версия, MOTD) возвращается по протоколу Minecraft. Для публичных серверов его удобно получать через открытые API проверки статуса, например mcsrvstat.us.
  3. Оповещение. Подключите уведомления в Telegram или на почту, чтобы узнавать о падении сразу.

Включите в конфигурации сервера возможность отвечать на запросы статуса: в server.properties параметр enable-status=true (включён по умолчанию). Если нужен расширенный запрос списка игроков, используется параметр enable-query=true и порт query.port. Не открывайте RCON (enable-rcon) наружу без необходимости и закройте его файрволом: через него можно управлять сервером.

Уровень 2. Нагрузка внутри сервера

  • Команда /tps на серверах Paper и совместимых ядрах показывает средний TPS за последние минуты. Если значения устойчиво ниже 20, ищите причину.
  • Плагин spark — профилировщик для серверов Minecraft. Он показывает TPS, MSPT, загрузку процессора, использование памяти и позволяет записать профиль, чтобы увидеть, какие плагины и действия тратят больше всего времени. Установка — как у обычного плагина: файл в папку plugins.
  • Встроенные отчёты ядра. На Paper можно посмотреть таймеры и отчёты производительности; конкретные команды зависят от версии ядра.
  • Логи. Файл logs/latest.log показывает ошибки при запуске и работе. Настройте ротацию логов, чтобы они не занимали весь диск.

Уровень 3. Постоянные графики и алерты

Если сервер публичный, а игроков много, одной проверки порта недостаточно. Тогда собирают метрики и строят графики:

  1. Установите на сервере экспортёр метрик Minecraft для Prometheus (существуют плагины, публикующие TPS, число игроков, память и тик-тайм) или используйте возможности spark.
  2. Подключите Prometheus, который раз в 15–60 секунд забирает метрики.
  3. Настройте Grafana для графиков и Alertmanager для уведомлений.
  4. Для системных метрик (процессор, память, диск, сеть) добавьте node exporter.

Для небольшого сервера такая связка избыточна. Оцените, нужна ли история на недели вперёд, или достаточно оповещения о падении и ручной проверки /tps.

Какие оповещения настроить

СобытиеУсловиеЧто делать
Сервер недоступенПорт не отвечает несколько проверок подрядПроверить процесс, логи, место на диске, перезапустить сервер
Просевший TPSTPS ниже порога на протяжении нескольких минутЗапустить spark, найти тяжёлый плагин или зону с большим числом сущностей
Мало памятиИспользование heap близко к максимуму, частые сборки мусораУвеличить память, оптимизировать плагины, уменьшить дальность прорисовки
Мало места на дискеСвободного места меньше запаса на мир и резервные копииОчистить логи и старые копии, расширить диск
Частые перезапускиСервер рестартует много раз за короткий периодРазобрать крэш-отчёты и логи

Автоматический перезапуск и резервные копии

  • Запускайте сервер как службу (systemd, Docker с политикой перезапуска или панель управления), чтобы он поднимался после падения.
  • Не полагайтесь только на автоперезапуск: если сервер падает из-за одного плагина, он будет падать снова. Анализируйте причину.
  • Делайте резервные копии мира по расписанию, храните их отдельно от сервера и периодически проверяйте восстановление.
  • Перед обновлением ядра или плагинов делайте копию мира и конфигураций.

Мониторинг для игроков: публичная страница статуса

Если у сервера есть сайт или сообщество, покажите игрокам статус: онлайн, версию, число игроков. Для этого можно использовать публичные API проверки статуса и виджеты. Это снижает число вопросов «сервер упал?» в чате. О мониторинге доступности сайтов и сервисов в целом читайте в каталоге сервисов на нашем сайте, а варианты хостинга для игровых серверов и проектов — в обзоре недорогих VPS/VDS в России.

Автор статьи

Михаил Сорокин — Обозреватель SaaS-сервисов
Михаил Сорокин

Обозреватель SaaS-сервисов

Тестирует и анализирует облачные решения для маркетинга, продаж и аналитики. За плечами 8 лет работы в B2B-продуктах и более 120 детальных обзоров.

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

TPS — количество игровых тиков в секунду. Сервер обновляет мир 20 раз в секунду, поэтому нормальное значение — около 20. Когда TPS падает, игроки замечают лаги.

На Paper и совместимых ядрах используйте команду /tps . Более подробные данные даёт плагин spark.

Настройте внешнюю проверку порта сервера с уведомлением в Telegram или на почту. Проверка должна идти с другого сервера, а не с самой машины.

Достаточно проверки порта, оповещения о падении и регулярных резервных копий. Графики нужны, когда игроков много или сервер нагружен.

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

Нет, если не защищать доступ. Через RCON выполняются команды сервера, поэтому его закрывают файрволом, используют сложный пароль и открывают только доверенным адресам.

Смотрите также

Поделиться

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

Оставьте комментарий

Войдите, чтобы присоединиться к обсуждению