Как читать журналы сервера и отчёты о сбоях
Как найти важную строку в журнале игрового сервера: уровни журналирования, стек вызовов, правило первой ошибки и где журналы и отчёты о сбоях лежат в панели.
4 мин чтения · Обновлено 21 окт. 2026 г. · Автор: GuavaHost Team
Когда сервер падает или отказывается запускаться, причина почти всегда записана в его журнале. Журналы выглядят пугающе, но понимать всё целиком почти никогда не нужно: нужно найти одну строку. Это руководство показывает, как читать строку журнала, что значат уровни, как разобрать стек вызовов и где журналы и отчёты о сбоях лежат в панели.
Из чего состоит строка журнала
Вот типичная строка с сервера Minecraft:
[14:02:11] [Server thread/INFO]: Done (8.412s)! For help, type "help"
[14:02:11]это время. Это часы сервера, которые могут не совпадать с вашим часовым поясом.Server threadэто та часть программы, которая её записала. Server thread это главный игровой цикл.INFOэто уровень: насколько серьёзна строка.- Всё после двоеточия это сообщение.
Другие игры форматируют строки иначе, но почти все где-то указывают время, уровень и сообщение.
Уровни журналирования
| Уровень | Значение | Стоит ли волноваться? |
|---|---|---|
| DEBUG или TRACE | Мелкие детали для разработчиков | Обычно скрыты; пропускайте |
| INFO | Обычная активность: запуск, входы, сохранения | Нет |
| WARN | Что-то не так, но сервер продолжает работу | Иногда; многие предупреждения это безобидный шум |
| ERROR | Что-то не сработало | Да, если совпадает по времени с вашей проблемой |
| FATAL или SEVERE | Сервер не может продолжать | Да, обычно это и есть сам сбой |
Не гоняйтесь за каждым предупреждением. Множество здоровых серверов печатают одни и те же безобидные предупреждения при каждом запуске. Сосредоточьтесь на ошибках, которые происходят тогда же, когда происходит ваша проблема.
Правило первой ошибки
Одна настоящая проблема часто вызывает за собой гору ошибок, потому что другие части сервера спотыкаются об первый сбой. Последняя ошибка на экране обычно симптом. Первая ошибка после последней нормально выглядящей строки обычно и есть причина.
- Найдите последнюю строку, где всё выглядело нормально.
- Читайте вниз до первой
ERROR,ExceptionилиFATAL. - Исправьте именно её, перезапустите и читайте снова. Если сервер теперь доходит дальше перед сбоем, вы продвигаетесь.
Как читать стек вызовов
Стек вызовов это список шагов, которые выполняла программа в момент сбоя. Вот частый пример с сервера Minecraft с плагинами:
[12:40:03 ERROR]: Error occurred while enabling ExampleShop v2.1 (Is it up to date?)
java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
at com.example.shop.ShopPlugin.onEnable(ShopPlugin.java:57)
...
Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.economy.Economy
Как это читать:
- Первая строка говорит, что не сработало: плагин ExampleShop не смог запуститься.
- Тип исключения говорит, почему:
NoClassDefFoundErrorозначает, что ему понадобился код, которого на месте нет. - Строки
atпоказывают, где. Ищите знакомое имя, например имя самого плагина, а не внутренности игры. Caused byэто корень. Когда в трассировке их несколько, последнийCaused byобычно и есть настоящая причина. Здесь не хватает класса из Vault, так что лечение это установить плагин Vault, от которого зависит этот магазин.
Частые ошибки и что они обычно значат
| Вы видите | Обычно это значит |
|---|---|
NoClassDefFoundError, ClassNotFoundException | Не хватает зависимости, либо плагин или мод под другую версию |
NoSuchMethodError | Что-то собрано под другую версию игры |
OutOfMemoryError | У сервера закончилась RAM |
FAILED TO BIND TO PORT или Address already in use | Порт занят, часто вторым экземпляром, который ещё работает |
found character '\t' that cannot start any token | Табуляция в файле конфигурации YAML; YAML допускает только пробелы |
NullPointerException | Ошибка в коде либо отсутствующее или неверно написанное значение в конфиге |
Отчёты о сбоях
Некоторые игры при падении записывают отдельный, более подробный отчёт.
- Minecraft сохраняет их в папке
crash-reports, с датой и временем в имени. Вверху вы найдёте строкуDescriptionи исключение. Модифицированные серверы перечисляют все загруженные моды, а отчёты Forge и NeoForge часто указывают на подозреваемый мод. - Сбой самой Java, который уносит Java целиком, оставляет файл
hs_err_pid(за которым идёт число) в главной папке сервера. Такие файлы обычно указывают на память или нативную библиотеку, а не на плагин.
Где журналы лежат в панели
Вкладка Console (консоль) показывает живой вывод. Она хранит только недавние строки, так что для чего-то более старого открывайте файлы журналов на вкладке Files (файлы) или скачивайте их по SFTP.
| Игра | Где смотреть |
|---|---|
| Minecraft Java | logs/latest.log; более старые журналы это файлы .log.gz в logs (скачать и распаковать); сбои в crash-reports |
| Valheim с BepInEx | BepInEx/LogOutput.log |
| ARK: Survival Evolved и Ascended | ShooterGame/Saved/Logs/ShooterGame.log |
| Don't Starve Together | server_log.txt внутри DoNotStarveTogether/config/server/Master и .../Caves, по одному на шард |
| Enshrouded | Папка, заданная в logDirectory в enshrouded_server.json, по умолчанию logs |
| Другие игры | То, что напечатала Console; также ищите папку logs или Logs либо файлы с расширением .log |
Когда о сбое сообщает панель
Если процесс сервера неожиданно остановился, панель может напечатать своё сообщение о том, что сервер упал, вместе с кодом выхода. Несколько кодов стоит знать:
- 0: обычная остановка.
- 1: игра завершилась из-за ошибки; читайте строки чуть выше.
- 137: процесс был принудительно убит, обычно за выход за лимит памяти. Смотрите признаки того, что серверу не хватает RAM.
- 139: нативный сбой внутри самой игры.
Поиск в длинном журнале
- Скачайте журнал и откройте его в текстовом редакторе.
- Используйте поиск (Ctrl+F или Cmd+F на Mac) по
ERROR, затемException, затемCaused by. - Поищите имя последнего плагина или мода, который вы добавили.
- Сопоставьте отметки времени с моментом, когда возникла проблема.
Как попросить помощи с журналом
Скопируйте текст от последней нормальной строки до конца первой ошибки и вставьте его текстом, а не скриншотом. Прежде чем куда-либо его отправлять, уберите пароли, токены и всё приватное. Затем принесите его в наш Discord, где команда прочитает его вместе с вами. Про проблемы с запуском отдельно смотрите статью сервер застрял на запуске.
Всё ещё не получается? Заходите в наш Discord: discord.gg/GuavaHost, и команда вам поможет.
- logs
- crash report
- stack trace
- console
- troubleshooting
- errors
Всё ещё нужна помощь? Наша команда онлайн круглосуточно и ответит на ваши вопросы.