Miami RP Project СЕРВЕР MTA:SA ONLINE СЕРВЕР GTA 5 RAGE MP В РАЗРАБОТКЕ ЗАПУСК MTA RAGE MP: в разработке
Miami RP Project СЕРВЕР MTA:SA ONLINE СЕРВЕР GTA 5 RAGE MP В РАЗРАБОТКЕ ЗАПУСК MTA RAGE MP: в разработке

Как читать логи GTA-сервера и находить причины ошибок и сбоев

Вчера Обновлено: Вчера 0.0 (0)
Как читать логи GTA-сервера и находить причины ошибок и сбоев
Категория Как найти ошибку в логах сервера GTA Опубликовано Вчера Обновлено Вчера Просмотров 3

Логи GTA-сервера помогают определить, почему сервер не запускается, какой ресурс вызывает ошибку, почему пропало соединение с базой данных и что произошло перед внезапным отключением процесса. Вместо случайной переустановки файлов следует найти первое значимое сообщение об ошибке, сопоставить его со временем сбоя и проверить связанные системные журналы.

В этой инструкции рассмотрено чтение журналов серверов CRMP, SA-MP, open.mp, FiveM и других GTA-платформ. Вы узнаете, где искать логи на Linux и Windows, как анализировать ошибки запуска, плагины и ресурсы, проверять MySQL или MariaDB, находить нехватку памяти, ошибки портов, аварийные завершения и повторные перезапуски.

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

Контроль сервера и уведомления о сбоях:

Мониторинг доступности GTA-сервера

Если сервер работает медленно:

Оптимизация производительности GTA-сервера

Перед исправлением файлов и базы:

Резервное копирование GTA-сервера

Для чего нужны логи GTA-сервера

Поиск причины отказа запуска

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

Поиск причины падения

Последние сообщения перед завершением процесса помогают определить:

  • ошибочный ресурс;
  • необработанное исключение;
  • отсутствующую функцию;
  • проблему плагина;
  • нехватку памяти;
  • ошибку базы;
  • аварийное завершение системы;
  • принудительную остановку администратором.

Поиск повторяющихся ошибок

Одно предупреждение может быть безвредным. Тысячи одинаковых сообщений в минуту способны заполнить диск и указывать на постоянную ошибку скрипта.

Анализ действий администратора

Панель управления может сохранять:

  • запуски и остановки сервера;
  • перезапуски ресурсов;
  • изменения конфигурации;
  • команды консоли;
  • входы администраторов;
  • блокировки и исключения игроков.

Сопоставление с жалобами игроков

Точное время проблемы позволяет проверить, что происходило на сервере в момент зависания, отключения или потери данных.

Основные виды журналов

Журнал игрового сервера

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

Журнал службы

Показывает запуск через systemd, код завершения, сигнал остановки, автоматические перезапуски и ошибки рабочего каталога.

Журнал операционной системы

Содержит сообщения ядра, нехватку памяти, ошибки диска, сетевого интерфейса и завершение процессов.

Журнал базы данных

Показывает ошибки запуска MySQL или MariaDB, отказы авторизации, повреждение таблиц и другие события базы.

Slow query log

Сохраняет SQL-запросы, выполнение которых превысило заданный порог.

Журнал веб-панели

Содержит действия администраторов, ошибки HTTP, авторизацию и управление игровым процессом.

Crash dump

Дамп аварии содержит техническое состояние процесса в момент падения и используется для более глубокой диагностики.

Правильный порядок диагностики

  1. Запишите точное время возникновения проблемы.
  2. Определите, что именно перестало работать.
  3. Проверьте состояние игрового процесса.
  4. Посмотрите последние строки основного журнала.
  5. Найдите первое сообщение Error или Fatal.
  6. Проверьте связанные сообщения до и после него.
  7. Посмотрите журнал службы или Windows Events.
  8. Проверьте журнал ядра и нехватку памяти.
  9. Проверьте MySQL или MariaDB.
  10. Сравните событие с последним обновлением.
  11. Отключите подозрительный ресурс на тестовой копии.
  12. Повторите ошибку и сравните журналы.

Сначала определите область проблемы

Сервер не запускается
→ конфигурация, ядро, игровой режим, плагины

Сервер запускается, но ресурс не работает
→ журнал конкретного ресурса и зависимости

Игрок не входит
→ сеть, авторизация, база, игровой скрипт

Сервер внезапно завершился
→ systemd, Event Viewer, OOM, crash dump

Сервер завис, но процесс существует
→ profiler, CPU, диск, SQL и сетевые запросы

Как найти настоящую причину ошибки

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

Пример цепочки

ERROR: Connection to database failed
WARNING: Account system was not initialized
ERROR: Player data is unavailable
Server shutting down

Причина находится в первой строке — сервер не подключился к базе. Остальные сообщения появились вследствие этой ошибки.

Ищите первое значимое сообщение

  • ERROR;
  • FATAL;
  • EXCEPTION;
  • FAILED;
  • CRASH;
  • SEGFAULT;
  • ACCESS DENIED;
  • OUT OF MEMORY;
  • ADDRESS ALREADY IN USE.

Читайте контекст

Просматривайте не одну строку, а хотя бы 20–50 строк до и после найденного сообщения.

Предупреждение не всегда критично

Сообщение Warning требует внимания, но сервер может продолжать работу. Fatal или необработанное исключение чаще приводит к остановке компонента.

Сопоставление журналов по времени

Все системы должны использовать правильно настроенное время. Иначе сообщения игрового сервера, базы и операционной системы невозможно точно сопоставить.

Проверка времени Linux

timedatectl

Включение синхронизации

sudo timedatectl set-ntp true

Проверка Windows

Get-Date
w32tm /query /status

Пример сопоставления

22:15:03 — игрок выполнил команду
22:15:03 — начался SQL-запрос
22:15:08 — запрос завершился ошибкой
22:15:08 — игровой цикл завис
22:15:12 — внешний мониторинг сообщил Offline
22:15:20 — systemd перезапустил процесс

Учитывайте часовой пояс

MySQL, systemd, панель и игровой сервер могут записывать время в UTC или в часовом поясе системы.

Просмотр файлов журнала на Linux

Последние строки

tail -n 100 \
/opt/gta-server/server_log.txt

Наблюдение в реальном времени

tail -f \
/opt/gta-server/server_log.txt

Просмотр начала файла

head -n 100 \
/opt/gta-server/server_log.txt

Чтение через less

less \
/opt/gta-server/server_log.txt

Переход в конец файла

less +G \
/opt/gta-server/server_log.txt

Поиск внутри less

/error

Для перехода к следующему совпадению нажмите n.

Поиск файлов логов

find /opt/gta-server \
-type f \
\( -iname "*.log" \
-o -iname "*crash*" \
-o -iname "*error*" \)

Проверка даты изменения

stat \
/opt/gta-server/server_log.txt

Просмотр журнала GTA-сервера через systemd

Состояние службы

sudo systemctl status \
gta-server.service

Последние 200 записей

sudo journalctl \
-u gta-server.service \
-n 200 \
--no-pager

Наблюдение в реальном времени

sudo journalctl \
-u gta-server.service \
-f

Сообщения за текущую загрузку

sudo journalctl \
-u gta-server.service \
-b

Сообщения после указанного времени

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00"

Промежуток времени

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00" \
--until "2026-07-31 20:30:00"

Только ошибки

sudo journalctl \
-u gta-server.service \
-p err \
--no-pager

Показать полные строки

sudo journalctl \
-u gta-server.service \
-o cat \
--no-pager

Что искать в systemd

  • code=exited;
  • status=1/FAILURE;
  • status=203/EXEC;
  • status=200/CHDIR;
  • signal=SEGV;
  • start request repeated too quickly;
  • permission denied;
  • no such file or directory.

Код 203/EXEC

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

Код 200/CHDIR

Обычно указывает на ошибочный или недоступный WorkingDirectory.

Логи предыдущей загрузки Linux

Если VPS перезагрузился, журнал текущей загрузки может не содержать причину предыдущего отключения.

Список загрузок

sudo journalctl \
--list-boots

Журнал предыдущей загрузки

sudo journalctl \
-b -1 \
--no-pager

Предыдущая загрузка конкретной службы

sudo journalctl \
-u gta-server.service \
-b -1 \
--no-pager

Сообщения ядра предыдущей загрузки

sudo journalctl \
-k \
-b -1 \
--no-pager

Признаки аварийного отключения

  • нет сообщения о корректной остановке;
  • журнал внезапно обрывается;
  • перед концом есть OOM или ошибка диска;
  • после загрузки система сообщает о восстановлении файловой системы;
  • провайдер зафиксировал перезагрузку узла.

Постоянное хранение journald

На некоторых системах журнал хранится только до перезагрузки. Для постоянного хранения проверьте конфигурацию journald и доступное место на диске.

Просмотр логов GTA-сервера на Windows

Основной файл сервера

Сначала найдите файлы:

server_log.txt
crashinfo.txt
*.log
*.dmp

Последние строки PowerShell

Get-Content `
"C:\GTA-Server\server_log.txt" `
-Tail 100

Наблюдение в реальном времени

Get-Content `
"C:\GTA-Server\server_log.txt" `
-Wait `
-Tail 30

Поиск ошибок

Select-String `
-Path "C:\GTA-Server\*.log" `
-Pattern "error|fatal|exception|failed|crash" `
-CaseSensitive:$false

Просмотр событий Windows

Откройте:

Просмотр событий
→ Журналы Windows
→ Приложение
→ Система

Ошибки приложения PowerShell

Get-WinEvent `
-FilterHashtable @{
 LogName = "Application"
 Level = 2
 StartTime = (Get-Date).AddHours(-2)
} |
Select-Object `
TimeCreated,
ProviderName,
Id,
Message

Системные ошибки

Get-WinEvent `
-FilterHashtable @{
 LogName = "System"
 Level = 2
 StartTime = (Get-Date).AddHours(-2)
} |
Select-Object `
TimeCreated,
ProviderName,
Id,
Message

Что искать

  • Application Error;
  • Windows Error Reporting;
  • неисправный модуль DLL;
  • код исключения;
  • сбой диска;
  • принудительное завершение процесса;
  • перезапуск системы;
  • ошибку службы.

Логи SA-MP, CRMP и open.mp

Основной журнал

server_log.txt

В нём обычно отображаются:

  • версия серверного ядра;
  • чтение конфигурации;
  • загрузка плагинов;
  • загрузка игрового режима;
  • запуск filterscript;
  • подключение к базе;
  • подключения и отключения игроков;
  • сообщения print и printf;
  • runtime errors;
  • штатное завершение.

Журнал аварии

crashinfo.txt

Если сервер внезапно завершился, этот файл может содержать дополнительные сведения об аварии.

Просмотр конца основного лога

tail -n 150 \
server_log.txt

Поиск runtime errors

grep -inE \
'runtime error|error|warning|failed|crash' \
server_log.txt

Временные метки

Включённые метки времени помогают сопоставить ошибку с systemd, базой данных и мониторингом.

Не очищайте журнал сразу после падения

Сначала скопируйте server_log.txt, crashinfo.txt, конфигурацию и сведения о версии сборки.

Ошибки запуска SA-MP и open.mp

Игровой режим не найден

I couldn't load any gamemode scripts.
Please verify your server.cfg

Проверьте

  • существует ли файл AMX;
  • правильно ли написано имя;
  • совпадает ли регистр букв на Linux;
  • не появился ли лишний уровень папок;
  • доступен ли файл пользователю сервера;
  • успешно ли скомпилирован скрипт.

Пример server.cfg

gamemode0 roleplay 1

Файл должен существовать

gamemodes/roleplay.amx

Ошибка конфигурации

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

Пустой или повреждённый AMX

ls -lh \
gamemodes/roleplay.amx

Повторная компиляция

Скомпилируйте исходник подходящей версией компилятора и изучите все предупреждения и ошибки компиляции.

Ошибки загрузки плагинов

Типичные сообщения

Plugin failed to load
Failed to load plugin
Cannot open shared object file
The specified module could not be found
Wrong ELF class
Invalid ELF header

На Linux проверьте расширение

plugins/mysql.so
plugins/streamer.so
plugins/sscanf.so

На Windows

plugins\mysql.dll
plugins\streamer.dll
plugins\sscanf.dll

Проверка зависимостей Linux

ldd \
plugins/mysql.so

Отсутствующая библиотека

libexample.so => not found

Проверьте архитектуру

file \
plugins/mysql.so

Частые причины

  • Windows DLL используется на Linux;
  • Linux SO используется на Windows;
  • несовпадение x86 и x64;
  • отсутствует системная библиотека;
  • плагин несовместим с ядром;
  • неверно написано имя файла;
  • файл заблокирован антивирусом;
  • плагин повреждён.

Runtime errors и отладка игрового режима

Runtime error 19

Run time error 19:
"File or function is not found"

Часто означает отсутствие функции, которую должен предоставить плагин, либо несовместимую версию плагина.

Runtime error 4

Run time error 4:
"Array index out of bounds"

Скрипт обратился к элементу за пределами массива.

Runtime error 3

Run time error 3:
"Stack/heap collision"

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

Runtime error 6

Run time error 6:
"Invalid instruction"

Возможны повреждение AMX, несовместимость ядра или ошибка выполнения.

Для подробного стека

  • используйте подходящий crash detect;
  • компилируйте тестовую сборку с отладочной информацией;
  • сохраняйте точную версию PWN и AMX;
  • не публикуйте отладочную сборку без необходимости.

Исправляйте первую строку стека

Она обычно указывает на функцию, в которой началась ошибка. Последующие вызовы показывают путь выполнения.

Ошибки игрового порта

Типичное сообщение Linux

Address already in use

Проверьте занятый порт

sudo ss -lntup |
grep -E ':7777|:30120'

Найдите процесс

sudo lsof \
-i :7777

Возможные причины

  • уже запущена другая копия сервера;
  • после падения панель запустила второй процесс;
  • порт занят другим приложением;
  • два профиля используют одинаковый порт;
  • сервер привязан к отсутствующему IP;
  • ошибочно указан протокол.

Connection refused

Обычно означает, что на указанном TCP-порту никто не принимает соединение либо firewall явно отклоняет запрос.

Timeout

Чаще означает отсутствие ответа из-за firewall, маршрутизации, неверного IP или недоступного сервера.

Просмотр журнала GTA-сервера через systemd

Состояние службы

sudo systemctl status \
gta-server.service

Последние 200 записей

sudo journalctl \
-u gta-server.service \
-n 200 \
--no-pager

Наблюдение в реальном времени

sudo journalctl \
-u gta-server.service \
-f

Сообщения за текущую загрузку

sudo journalctl \
-u gta-server.service \
-b

Сообщения после указанного времени

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00"

Промежуток времени

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00" \
--until "2026-07-31 20:30:00"

Только ошибки

sudo journalctl \
-u gta-server.service \
-p err \
--no-pager

Показать полные строки

sudo journalctl \
-u gta-server.service \
-o cat \
--no-pager

Что искать в systemd

  • code=exited;
  • status=1/FAILURE;
  • status=203/EXEC;
  • status=200/CHDIR;
  • signal=SEGV;
  • start request repeated too quickly;
  • permission denied;
  • no such file or directory.

Код 203/EXEC

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

Код 200/CHDIR

Обычно указывает на ошибочный или недоступный WorkingDirectory.

Логи предыдущей загрузки Linux

Если VPS перезагрузился, журнал текущей загрузки может не содержать причину предыдущего отключения.

Список загрузок

sudo journalctl \
--list-boots

Журнал предыдущей загрузки

sudo journalctl \
-b -1 \
--no-pager

Предыдущая загрузка конкретной службы

sudo journalctl \
-u gta-server.service \
-b -1 \
--no-pager

Сообщения ядра предыдущей загрузки

sudo journalctl \
-k \
-b -1 \
--no-pager

Признаки аварийного отключения

  • нет сообщения о корректной остановке;
  • журнал внезапно обрывается;
  • перед концом есть OOM или ошибка диска;
  • после загрузки система сообщает о восстановлении файловой системы;
  • провайдер зафиксировал перезагрузку узла.

Постоянное хранение journald

На некоторых системах журнал хранится только до перезагрузки. Для постоянного хранения проверьте конфигурацию journald и доступное место на диске.

Просмотр логов GTA-сервера на Windows

Основной файл сервера

Сначала найдите файлы:

server_log.txt
crashinfo.txt
*.log
*.dmp

Последние строки PowerShell

Get-Content `
"C:\GTA-Server\server_log.txt" `
-Tail 100

Наблюдение в реальном времени

Get-Content `
"C:\GTA-Server\server_log.txt" `
-Wait `
-Tail 30

Поиск ошибок

Select-String `
-Path "C:\GTA-Server\*.log" `
-Pattern "error|fatal|exception|failed|crash" `
-CaseSensitive:$false

Просмотр событий Windows

Откройте:

Просмотр событий
→ Журналы Windows
→ Приложение
→ Система

Ошибки приложения PowerShell

Get-WinEvent `
-FilterHashtable @{
 LogName = "Application"
 Level = 2
 StartTime = (Get-Date).AddHours(-2)
} |
Select-Object `
TimeCreated,
ProviderName,
Id,
Message

Системные ошибки

Get-WinEvent `
-FilterHashtable @{
 LogName = "System"
 Level = 2
 StartTime = (Get-Date).AddHours(-2)
} |
Select-Object `
TimeCreated,
ProviderName,
Id,
Message

Что искать

  • Application Error;
  • Windows Error Reporting;
  • неисправный модуль DLL;
  • код исключения;
  • сбой диска;
  • принудительное завершение процесса;
  • перезапуск системы;
  • ошибку службы.

Логи SA-MP, CRMP и open.mp

Основной журнал

server_log.txt

В нём обычно отображаются:

  • версия серверного ядра;
  • чтение конфигурации;
  • загрузка плагинов;
  • загрузка игрового режима;
  • запуск filterscript;
  • подключение к базе;
  • подключения и отключения игроков;
  • сообщения print и printf;
  • runtime errors;
  • штатное завершение.

Журнал аварии

crashinfo.txt

Если сервер внезапно завершился, этот файл может содержать дополнительные сведения об аварии.

Просмотр конца основного лога

tail -n 150 \
server_log.txt

Поиск runtime errors

grep -inE \
'runtime error|error|warning|failed|crash' \
server_log.txt

Временные метки

Включённые метки времени помогают сопоставить ошибку с systemd, базой данных и мониторингом.

Не очищайте журнал сразу после падения

Сначала скопируйте server_log.txt, crashinfo.txt, конфигурацию и сведения о версии сборки.

Ошибки запуска SA-MP и open.mp

Игровой режим не найден

I couldn't load any gamemode scripts.
Please verify your server.cfg

Проверьте

  • существует ли файл AMX;
  • правильно ли написано имя;
  • совпадает ли регистр букв на Linux;
  • не появился ли лишний уровень папок;
  • доступен ли файл пользователю сервера;
  • успешно ли скомпилирован скрипт.

Пример server.cfg

gamemode0 roleplay 1

Файл должен существовать

gamemodes/roleplay.amx

Ошибка конфигурации

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

Пустой или повреждённый AMX

ls -lh \
gamemodes/roleplay.amx

Повторная компиляция

Скомпилируйте исходник подходящей версией компилятора и изучите все предупреждения и ошибки компиляции.

Ошибки загрузки плагинов

Типичные сообщения

Plugin failed to load
Failed to load plugin
Cannot open shared object file
The specified module could not be found
Wrong ELF class
Invalid ELF header

На Linux проверьте расширение

plugins/mysql.so
plugins/streamer.so
plugins/sscanf.so

На Windows

plugins\mysql.dll
plugins\streamer.dll
plugins\sscanf.dll

Проверка зависимостей Linux

ldd \
plugins/mysql.so

Отсутствующая библиотека

libexample.so => not found

Проверьте архитектуру

file \
plugins/mysql.so

Частые причины

  • Windows DLL используется на Linux;
  • Linux SO используется на Windows;
  • несовпадение x86 и x64;
  • отсутствует системная библиотека;
  • плагин несовместим с ядром;
  • неверно написано имя файла;
  • файл заблокирован антивирусом;
  • плагин повреждён.

Runtime errors и отладка игрового режима

Runtime error 19

Run time error 19:
"File or function is not found"

Часто означает отсутствие функции, которую должен предоставить плагин, либо несовместимую версию плагина.

Runtime error 4

Run time error 4:
"Array index out of bounds"

Скрипт обратился к элементу за пределами массива.

Runtime error 3

Run time error 3:
"Stack/heap collision"

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

Runtime error 6

Run time error 6:
"Invalid instruction"

Возможны повреждение AMX, несовместимость ядра или ошибка выполнения.

Для подробного стека

  • используйте подходящий crash detect;
  • компилируйте тестовую сборку с отладочной информацией;
  • сохраняйте точную версию PWN и AMX;
  • не публикуйте отладочную сборку без необходимости.

Исправляйте первую строку стека

Она обычно указывает на функцию, в которой началась ошибка. Последующие вызовы показывают путь выполнения.

Ошибки игрового порта

Типичное сообщение Linux

Address already in use

Проверьте занятый порт

sudo ss -lntup |
grep -E ':7777|:30120'

Найдите процесс

sudo lsof \
-i :7777

Возможные причины

  • уже запущена другая копия сервера;
  • после падения панель запустила второй процесс;
  • порт занят другим приложением;
  • два профиля используют одинаковый порт;
  • сервер привязан к отсутствующему IP;
  • ошибочно указан протокол.

Connection refused

Обычно означает, что на указанном TCP-порту никто не принимает соединение либо firewall явно отклоняет запрос.

Timeout

Чаще означает отсутствие ответа из-за firewall, маршрутизации, неверного IP или недоступного сервера.

Почему GTA-сервер внезапно отключился

Возможные причины

  • необработанная ошибка ресурса;
  • segmentation fault;
  • OOM Killer;
  • ручная команда остановки;
  • перезапуск через панель;
  • плановое задание;
  • перезагрузка VPS;
  • авария базы данных;
  • ошибка диска;
  • обновление хостинга;
  • истечение лимита контейнера;
  • антивирус или защитная система.

Проверьте время завершения

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00" \
--until "2026-07-31 20:30:00" \
--no-pager

Проверьте перезагрузки

last -x |
head -n 30

Проверьте текущий uptime

uptime

Проверьте действия панели

Сравните игровую консоль с журналом txAdmin или другой панели. Перезапуск мог быть выполнен администратором либо расписанием.

Отсутствие ошибки в игровом логе

Если файл просто обрывается, причина может находиться вне игрового процесса: OOM, авария VPS, kill-сигнал или сбой диска.

Циклические перезапуски сервера

Пример systemd

Start request repeated too quickly
Failed with result 'exit-code'

Проверьте число перезапусков

systemctl show \
gta-server.service \
--property=NRestarts

Проверьте параметры службы

systemctl cat \
gta-server.service

Причины цикла

  • неверный ExecStart;
  • неверный WorkingDirectory;
  • процесс завершается сразу после запуска;
  • порт уже занят;
  • нет конфигурации;
  • не загрузился игровой режим;
  • недоступна база;
  • панель и systemd одновременно управляют процессом.

Остановите цикл на время диагностики

sudo systemctl stop \
gta-server.service

Запустите вручную

cd /opt/gta-server
sudo -u gta ./omp-server

Ручной запуск позволяет увидеть ошибку непосредственно в консоли.

Не устанавливайте RestartSec=0

Бесконечный мгновенный цикл создаёт нагрузку и быстро увеличивает журнал.

Ошибки диска и файловой системы

No space left on device

No space left on device

Проверьте место

df -h

Проверьте inode

df -i

Крупные каталоги

sudo du \
-xh \
--max-depth=1 \
/var |
sort -h

Крупные файлы GTA-сервера

find /opt/gta-server \
-type f \
-size +100M \
-printf '%s %p\n' |
sort -nr |
head -n 30

Причины заполнения

  • серверный журнал;
  • slow query log;
  • general query log;
  • резервные копии;
  • crash dumps;
  • кэш ресурсов;
  • старые сборки;
  • журнал панели.

Ошибки файловой системы

sudo journalctl \
-k \
-p err \
--no-pager

Не удаляйте неизвестные файлы базы

Ручное удаление файлов из каталога MySQL может повредить таблицы. Сначала определите назначение файла и создайте резервную копию.

Ошибки прав доступа

Типичные сообщения

Permission denied
Access is denied
Operation not permitted
Read-only file system

Проверьте владельца Linux

ls -la \
/opt/gta-server

Назначьте владельца

sudo chown -R \
gta:gta \
/opt/gta-server

Разрешите запуск

sudo chmod +x \
/opt/gta-server/omp-server

Проверка от имени службы

sudo -u gta \
test -r \
/opt/gta-server/server.cfg

sudo -u gta \
test -w \
/opt/gta-server/logs

Не выдавайте 777 всей папке

Разрешение записи всем пользователям создаёт угрозу безопасности и скрывает неправильную настройку владельца.

Read-only file system

Файловая система могла быть перемонтирована только для чтения после ошибки диска. Проверьте журнал ядра и состояние хранилища.

Сетевые ошибки в журналах

Connection refused

На целевом TCP-порту нет работающей службы либо соединение отклоняется.

Connection timed out

Ответ не пришёл за установленное время. Возможны firewall, неверный маршрут, недоступный сервер или потеря пакетов.

Temporary failure in name resolution

Сервер не смог разрешить доменное имя. Проверьте DNS и сеть.

Name or service not known

Домен записан неправильно либо DNS не возвращает адрес.

Проверка DNS

getent hosts \
database.example.com

dig +short \
database.example.com

Проверка TCP

nc -vz \
database.example.com \
3306

Проверка FiveM endpoint

curl \
--fail \
--max-time 10 \
http://play.example.com:30120/info.json

Could not contact the server browser

Если сообщение FiveM повторяется постоянно, проверьте firewall, маршрутизацию и доступ к инфраструктуре Cfx.

Один сетевой сбой может быть временным

Повторяющиеся сообщения с одинаковым интервалом обычно указывают на постоянную проблему конфигурации.

Какие данные собрать для диагностики

Основная информация

  • точное время проблемы;
  • часовой пояс;
  • версия GTA-платформы;
  • версия операционной системы;
  • способ запуска;
  • последнее внесённое изменение;
  • способ воспроизведения;
  • число игроков во время сбоя.

Файлы

  • основной серверный лог;
  • crashinfo;
  • журнал systemd или Windows Events;
  • журнал базы;
  • crash dump при наличии;
  • конфигурация без секретов;
  • список ресурсов и плагинов;
  • результат profiler при зависании.

Экспорт systemd

sudo journalctl \
-u gta-server.service \
--since "2026-07-31 20:00:00" \
--until "2026-07-31 20:30:00" \
--no-pager \
> gta-service-incident.log

Экспорт ядра

sudo journalctl \
-k \
--since "2026-07-31 20:00:00" \
--until "2026-07-31 20:30:00" \
--no-pager \
> kernel-incident.log

Сведения о системе

uname -a
cat /etc/os-release
free -h
df -h

Не изменяйте исходный журнал

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

Ротация и хранение журналов

Без ротации один файл может занять весь диск.

Пример logrotate

/opt/gta-server/logs/*.log
/opt/gta-server/server_log.txt {
 daily
 rotate 14
 compress
 delaycompress
 missingok
 notifempty
 copytruncate
}

Проверьте конфигурацию

sudo logrotate \
-d \
/etc/logrotate.d/gta-server

Срок хранения зависит от проекта

  • оперативные логи — 7–30 дней;
  • логи безопасности — дольше;
  • crash dump — до окончания расследования;
  • аудит администраторов — по внутренним правилам;
  • slow query log — до анализа и исправления.

Не архивируйте журналы вместе с каждой резервной копией сервера

Это увеличивает размер архивов. Логи лучше хранить и ротировать отдельно.

Контролируйте размер

du -sh \
/opt/gta-server/logs

journalctl \
--disk-usage

Защита закрытых данных в журналах

Перед отправкой удалите

  • пароли MySQL;
  • лицензионные ключи;
  • RCON-пароль;
  • Discord webhook;
  • Telegram-токен;
  • API-ключи;
  • SSH-ключи;
  • cookie и session token;
  • персональные данные игроков.

Не заменяйте весь контекст

Скрывайте только секретное значение:

database_host = 127.0.0.1
database_user = gta_app
database_password = [СКРЫТО]

Ограничьте права файла

sudo chmod 640 \
/opt/gta-server/logs/*.log

Назначьте владельца

sudo chown \
gta:gta \
/opt/gta-server/logs/*.log

General query log

Может содержать текст SQL-запросов и переданные значения. Используйте его только для краткой диагностики и храните в защищённом месте.

Распространённые ошибки при диагностике

Чтение только последней строки

Настоящая причина часто находится выше.

Удаление журнала перед обращением в поддержку

Вместе с файлом теряется последовательность событий.

Перезапуск до сбора данных

Новые сообщения могут затереть важный контекст, а временная проблема исчезнет без объяснения.

Поиск только в игровом логе

OOM, перезагрузка VPS и ошибки диска находятся в системном журнале.

Поиск только в systemd

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

Включение подробного логирования навсегда

General log, debug и verbose-режимы увеличивают нагрузку и расход диска.

Публикация секретов

Перед отправкой обязательно проверьте файл вручную.

Одновременное отключение всех ресурсов

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

Исправление следствия вместо причины

Увеличение лимита соединений не исправит утечку, а ежедневный рестарт не исправит падение ресурса.

Контрольный список чтения логов

Перед анализом

  • записано точное время сбоя;
  • известен часовой пояс;
  • сохранена копия журналов;
  • записана версия сервера;
  • известно последнее изменение;
  • не выполнялась очистка файлов.

Игровой сервер

  • прочитан конец server_log;
  • проверен crashinfo;
  • найдена первая значимая ошибка;
  • проверены плагины и ресурсы;
  • проверен игровой порт;
  • изучен stack trace;
  • проверены повторяющиеся сообщения.

Операционная система

  • проверен systemd или Event Viewer;
  • проверен код завершения;
  • проверен предыдущий boot;
  • проверен OOM Killer;
  • проверены ошибки диска;
  • проверено свободное место;
  • проверены права файлов.

База данных

  • проверена служба MySQL или MariaDB;
  • прочитан error log;
  • проверены права пользователя;
  • проверено существование таблиц;
  • проверено число соединений;
  • проверен slow query log;
  • найдены запросы перед зависанием.

После анализа

  • причина воспроизведена на тестовой копии;
  • изменён только один компонент;
  • ошибка больше не появляется;
  • проверена работа после перезапуска;
  • настроен мониторинг;
  • настроена ротация журналов;
  • решение задокументировано.

Частые вопросы о логах GTA-сервера

С какой строки начинать анализ?

С последних сообщений перед сбоем, затем двигаться вверх до первой значимой ошибки.

Почему сервер завершился без ошибки в server_log?

Процесс мог быть завершён системой, OOM Killer, панелью, администратором или аварией VPS.

Где смотреть причину падения open.mp или SA-MP?

Сначала в конце server_log.txt, затем в crashinfo.txt и системном журнале.

Что означает Runtime error 19?

Скрипт не нашёл требуемую функцию. Часто не загрузился нужный плагин или используется несовместимая версия.

Почему плагин работает на Windows, но не на Linux?

Для Windows используется DLL, для Linux — SO. Также должны совпадать архитектура и системные зависимости.

Где смотреть логи FiveM?

В консоли FXServer, txAdmin, файлах профиля txData, журнале службы и логах отдельных ресурсов.

Что означает hitch warning?

Серверный поток слишком долго выполнял работу. Используйте profiler и проверьте SQL, циклы и блокирующие операции.

Почему MySQL пишет Access denied?

Не совпадают пользователь, пароль, Host или выданные права.

Почему база пишет Too many connections?

Достигнут лимит соединений. Проверьте утечки, пул подключений и медленные запросы.

Можно ли постоянно держать general query log включённым?

Обычно нет. Он создаёт большой объём записей и может сохранить чувствительные данные.

Что означает status=203/EXEC?

systemd не смог выполнить файл. Проверьте путь, права запуска и формат исполняемого файла.

Что означает status=200/CHDIR?

Служба не смогла перейти в указанный рабочий каталог.

Как понять, что процесс убил OOM Killer?

В журнале ядра будет сообщение Out of memory или Killed process.

Почему лог занимает весь диск?

Возможно, постоянно повторяется одна ошибка либо не настроена ротация.

Можно ли удалить старые логи?

Да, после завершения анализа и при наличии правил хранения. Важные инциденты сначала архивируйте.

Что отправить разработчику ресурса?

Полный stack trace, версию ресурса, платформу, способ воспроизведения и очищенный от секретов фрагмент журнала.

Нужно ли отправлять весь server.cfg?

Только при необходимости и после удаления паролей, ключей и закрытых адресов.

Почему после рестарта ошибка исчезла?

Могло очиститься временное состояние, соединение или память. Это не доказывает, что причина устранена.

Итог

Диагностика GTA-сервера строится на сопоставлении игрового журнала, системных событий и логов базы данных. Сначала найдите точное время сбоя и первую значимую ошибку, а затем проверьте сообщения до и после неё.

Для SA-MP и open.mp изучите server_log.txt, crashinfo.txt, загрузку игрового режима и плагинов. Для FiveM проверяйте консоль FXServer, txAdmin, ошибки ресурсов и hitch warnings.

Если игровой лог внезапно обрывается, обязательно проверьте systemd, Windows Event Viewer, OOM Killer, свободное место и ошибки диска. При проблемах базы изучите error log, права пользователя, число соединений и slow query log.

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

RSS инструкций
0 комментариев 0.0 из 0 оценок
MIAMI RP COMMUNITY

Комментарии к инструкции

Обсудите решение, задайте вопрос или дополните инструкцию

Всего: 0
Страница: /
Показано: 0
Добавление комментариев сейчас недоступно для текущего пользователя.