MAATRIX GAMES / Блог / Сервер завис — самостоятельная диагностика перед обращением в поддержку

Сервер завис — самостоятельная диагностика перед обращением в поддержку

MAATRIX GAMES

Игроки пишут в Discord «сервак завис», статус в панели показывает «работает», но зайти на сервер никто не может — и первая мысль обычно «пишу в поддержку». Это правильный шаг, но прежде чем открывать тикет, стоит потратить пять минут на самостоятельную проверку: часть зависаний решается одной кнопкой в панели, а если проблема серьёзнее — правильно собранный тикет с логами и временем инцидента вместо «у меня всё лежит, помогите» сократит время ответа поддержки в разы. Ниже — короткий чек-лист именно для панели управления, без SSH и консольных команд, плюс шаблон тикета, который реально ускоряет решение.

Зависание — это не то же самое, что падение

Важно разделить два разных состояния, потому что диагностика для них отличается. Падение (crash) — процесс игры завершился, статус сервера в панели покажет «остановлен» или «ошибка», и игроки увидят классическое «Connection refused» или сервер просто исчезнет из браузера серверов. Зависание (freeze/hang) — процесс формально жив, статус в панели зелёный, порт может даже отвечать на пинг, но сервер не обрабатывает команды игроков: TPS падает к нулю, персонажи «замерли» в последней позиции, чат не идёт.

Зависание почти всегда указывает на затор внутри процесса — бесконечный цикл в плагине, дедлок при обращении к базе данных, зависшая транзакция файловой системы при автосохранении на переполненный диск, или деградацию сети настолько, что пакеты не проходят, хотя порт формально открыт. Для владельца сервера разница практическая: падение обычно чинится рестартом за секунды, а зависание иногда требует принудительного завершения процесса (kill), потому что штатный рестарт через панель может не сработать — панель шлёт сигнал остановки процессу, который сам уже никого не слушает.

Если у вас статистика по игре — например, мониторинг TPS и лагов — зависание почти всегда видно заранее: TPS плавно проседает до нуля за несколько минут до полного «замирания», в отличие от падения, которое обычно происходит резко на одной строке в логе.

Шаг 1: статус сервера в личном кабинете

Первое, что смотрим — не консоль и не логи, а статус самого сервера в панели MAATRIX GAMES. Заходим в личный кабинет → раздел «Мои серверы» → карточка нужного сервера. Обращаем внимание на три вещи:

  • Статус процесса — «Запущен» (зелёный) или «Остановлен»/«Ошибка» (красный). Если статус красный — это не зависание, а падение, и дальше нужен не этот чек-лист, а статья про то, что делать, если сервер упал.
  • Загрузка CPU и RAM — если график в панели показывает CPU на 100% ровной полкой (не пиками, а именно плато) в течение нескольких минут — это верный признак зависшего процесса в бесконечном цикле. Если, наоборот, CPU почти на нуле, а RAM забита под завязку — процесс скорее всего заблокирован в ожидании (например, ждёт ответ от диска или от базы данных).
  • Сетевая активность — резкое падение исходящего трафика при том, что сервер формально «Запущен», часто означает, что процесс перестал отправлять пакеты игрокам, хотя сам ещё числится живым.

Если панель вообще не открывается или сама зависла на загрузке — это уже вопрос не к игровому серверу, а к личному кабинету, и тут нет смысла ничего диагностировать самостоятельно — сразу пишите в поддержку, указав, что не можете попасть в панель.

Нужен игровой сервер?

MAATRIX GAMES — 45+ игр, деплой за минуты, DDoS-защита, автобэкапы. Тарифы от 399 ₽/мес.

Создать сервер

Шаг 2: попытка мягкого рестарта через панель

Если статус зелёный, но играть невозможно, следующий логичный шаг — кнопка «Перезапустить» в карточке сервера. Это отправляет процессу сигнал на штатную остановку (для большинства игр — аналог stop в консоли или SIGTERM), после чего панель поднимает сервер заново.

Важный нюанс: если сервер действительно завис (а не просто тормозит под нагрузкой), штатный рестарт может «зависнуть» в статусе «Останавливается» на неопределённое время — панель честно ждёт, пока процесс завершится сам, но зависший процесс на сигнал может не реагировать вовсе. Дайте панели 2-3 минуты на попытку мягкой остановки. Если статус так и не сдвинулся с «Останавливается» — это сигнал, что нужен принудительный перезапуск (hard restart / kill), который в панели MAATRIX GAMES обычно доступен отдельной кнопкой или через подтверждение «Остановить принудительно» — она убивает процесс сигналом уровня SIGKILL без ожидания штатного завершения.

Минус принудительного перезапуска — теряется всё, что не успело сохраниться штатным способом: последние минуты прогресса в Rust или ARK, несохранённые изменения мира в Minecraft при неудачном моменте. Это приемлемая цена за то, чтобы вернуть сервер игрокам, но держите это в уме перед тем, как жать кнопку — если у вас настроены автобэкапы по расписанию, потери будут в пределах интервала между бэкапами, а не с начала сессии.

Шаг 3: беглый просмотр логов на очевидные ошибки

Прежде чем писать в поддержку, стоит одним глазом заглянуть в лог через файловый менеджер панели — это не полноценная диагностика (для неё есть отдельная статья про логи и краш-репорты), а быстрая проверка на явные подсказки, которые сэкономят время и вам, и поддержке.

В файловом менеджере панели идём в папку с логами и открываем последний файл — обычно это logs/latest.log для Minecraft на Paper/Spigot/Vanilla, console.log или server.log для большинства других игр. Смотрим на последние 50-100 строк перед моментом, когда сервер завис (время зависания вы уже примерно знаете из жалоб игроков). На что обращать внимание, даже не будучи глубоко в теме:

  • Строка обрывается на полуслове и дальше в файле тишина, хотя время идёт — классический признак настоящего зависания процесса, а не его падения.
  • Повторяющиеся одинаковые строки по кругу — сигнал бесконечного цикла где-то в плагине или моде.
  • Упоминание timeout, connection refused или database рядом с последними строками — вероятно, сервер завис, ожидая ответ от внешнего сервиса (база данных, внешний API плагина статистики, вебхук).

Если название конкретного плагина или мода мелькает прямо перед обрывом лога — это, скорее всего, и есть виновник. Даже если вы не понимаете стектрейс целиком, само наличие имени файла плагина (например, plugins/DynamicShop/errors.log или упоминание в общем логе) — уже полезная зацепка для поддержки и повод временно отключить именно этот плагин перед следующим запуском.

Шаг 4: что стоит проверить со стороны, прежде чем винить сервер

Иногда «завис сервер» на деле означает проблему у части игроков, а не сам процесс. Быстрая проверка без консоли:

  • Спросите в Discord/чате, у всех ли игроков проблема, или только у части — если только у нескольких, это, скорее всего, не сервер, а их сеть или конкретный регион.
  • Проверьте статус сервера через сторонний monitoring-сервис (если он у вас подключён — см. статью про uptime-мониторинг), он опрашивает сервер снаружи и покажет, действительно ли порт не отвечает или это локальная проблема у части аудитории.
  • Если у вас есть Discord- или Telegram-бот со статусом сервера (пример настройки), проверьте его последнее сообщение — часто такой бот фиксирует момент, когда сервер перестал отвечать на запрос статуса, и это готовая метка времени для тикета.

Проверка занимает пару минут, а исключает целый класс ложных тревог, когда «зависший сервер» на деле оказывается роутером одного игрока.

Шаг 5: когда нужен принудительный перезапуск, а когда — сразу в поддержку

Не каждое зависание стоит пытаться решить самостоятельно даже принудительным рестартом. Есть случаи, где принудительный kill только замаскирует проблему на время, а разбираться всё равно придётся поддержке или вам самим по логам:

СитуацияЧто делать
Зависание разовое, лог обрывается без явной причины, раньше такого не былоПринудительный рестарт через панель, дальше просто наблюдать
Зависает регулярно (второй-третий раз за неделю в одно и то же время/условие)Рестарт как первая помощь + тикет в поддержку с описанием паттерна
CPU держится на 100% и после рестарта снова упирается в потолок за минутыТикет в поддержку сразу — похоже на ресурсный лимит тарифа, а не разовый баг
Панель сама не открывается или зависла на «Останавливается» дольше 10 минутТикет в поддержку без попыток что-то делать руками — возможна проблема на стороне хост-ноды
Зависание совпало с недавним обновлением мода/плагина/сборкиОткат к предыдущей версии, если она сохранена, иначе тикет с указанием, что изменилось перед сбоем

Принудительный рестарт — это первая помощь, а не лечение: если он не даёт стабильности дольше пары часов, дальше тянуть время бессмысленно — тикет с самого начала сэкономит больше нервов, чем третья попытка перезапустить сервер вручную.

Что приложить к тикету, чтобы его решили быстро

Разница между тикетом «сервер не работает, почините» и тикетом с конкретикой — это разница между ответом поддержки за 5 минут и перепиской на полдня с уточняющими вопросами. Вот что реально ускоряет решение:

  • Точное время зависания — не «сегодня днём», а конкретно, например «около 18:40 по МСК, судя по последним сообщениям в Discord и метке в мониторинг-боте». Поддержка сверяет это время с логами хост-ноды и графиками нагрузки — без точного времени им приходится искать вслепую по всему периоду.
  • ID или имя сервера из личного кабинета — чтобы не тратить время на уточнение, о каком именно из ваших серверов речь, если их несколько.
  • Что вы уже пробовали — мягкий рестарт, принудительный рестарт, оба не помогли (или помогли, но ненадолго). Это сразу исключает половину типовых вопросов от поддержки.
  • Последние строки лога — не весь файл, а именно фрагмент вокруг момента зависания (те самые 50-100 строк из шага 3). Проще всего скопировать текст целиком в тикет или приложить сам файл лога.
  • Скриншот статуса и графиков из панели — особенно если CPU/RAM показывали что-то необычное (плато на 100%, резкий скачок RAM перед зависанием). Скриншот часто говорит больше, чем словесное описание «нагрузка была большая».
  • Повторяемость — разовый случай или уже третий за неделю. Если это паттерн — укажите условия, при которых, как вам кажется, зависание случается (пиковый онлайн, определённое время, после конкретного действия игроков).

Такой тикет читается специалистом поддержки за минуту и сразу даёт основу для проверки, а не начинается с пяти уточняющих вопросов туда-обратно.

Нужен игровой сервер?

MAATRIX GAMES — 45+ игр, деплой за минуты, DDoS-защита, автобэкапы. Тарифы от 399 ₽/мес.

Создать сервер

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

Статус в панели зелёный, но зайти на сервер нельзя — точно ли это зависание, а не проблема с портом или файрволом?

Не обязательно, но зависание — самая частая причина именно такого сочетания (процесс жив, подключиться нельзя). Проблемы с портом или файрволом обычно проявляются иначе — сервер не пингуется вообще ни у кого с самого запуска, а не «работал, а потом перестал». Если ситуация именно такая, посмотрите отдельный чек-лист для случая, когда сервер не отвечает на пинг.

Принудительный рестарт (kill) через панель — это безопасно?

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

Сколько ждать ответа поддержки после отправки тикета?

Зависит от тарифа и загрузки поддержки в конкретный момент, точные SLA — на странице тарифов личного кабинета. Но правильно составленный тикет (время, логи, скриншот, что уже пробовали) в среднем решается быстрее просто потому, что специалисту не нужно тратить первый круг переписки на сбор информации, которую вы могли приложить сразу.

Что если после принудительного рестарта сервер завис снова через пару минут?

Это уже не разовый инцидент, а повод сразу писать в поддержку, не пытаясь перезапускать в третий раз — быстрый повтор зависания почти всегда указывает на что-то системное (нехватка ресурсов, проблема на хост-ноде, зацикленный плагин при каждом старте), и раз за разом жать «Рестарт» руками только откладывает решение.

Нужно ли писать в поддержку, если проблема разрешилась сама после мягкого рестарта?

Если это разовый случай — необязательно, можно просто понаблюдать. Но если хотите подстраховаться на будущее или зависание кажется странным (например, никакой явной причины в логе не было), короткое сообщение в поддержку с фактом инцидента и временем не помешает — иногда это часть более широкой картины, которую поддержка видит по нескольким клиентам на одной хост-ноде.