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-сервера позволяет отслеживать его доступность, количество игроков, задержку, нагрузку на процессор, использование памяти и свободное место на диске. Публичные каталоги помогают привлекать игроков, а технические системы наблюдения сообщают владельцу о сбоях и перегрузке VPS.

В этой инструкции рассмотрено добавление серверов CRMP, SA-MP, open.mp и FiveM в публичные мониторинги, настройка проверки игрового порта, сбор статистики онлайна, контроль CPU, RAM и диска, а также отправка уведомлений в Telegram, Discord или на электронную почту.

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

Если игровой порт ещё не открыт:

Открытие и проверка портов GTA-сервера

Для удобного адреса мониторинга:

Подключение домена к GTA-серверу

Перед изменением конфигурации:

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

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

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

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

Контроль игроков

Можно сохранять историю онлайна:

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

Контроль VPS

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

Оповещение администратора

При сбое можно автоматически отправить сообщение:

  • в Telegram;
  • в Discord;
  • на электронную почту;
  • в Slack;
  • через webhook;
  • в систему управления инцидентами.

Анализ причин лагов

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

Виды мониторинга GTA-сервера

Публичный мониторинг

Это каталог игровых серверов, в котором отображаются:

  • название;
  • IP и порт;
  • статус Online или Offline;
  • текущий онлайн;
  • максимальное число игроков;
  • режим игры;
  • карта;
  • страна размещения;
  • сайт и Discord;
  • история онлайна;
  • рейтинг и голоса.

Мониторинг доступности

Проверяет, отвечает ли IP, порт, HTTP-страница или игровой запрос.

Мониторинг ресурсов

Собирает системные показатели VPS и строит графики.

Мониторинг приложения

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

Лучший вариант

Публичный каталог
+
Внешняя проверка доступности
+
Мониторинг CPU, RAM и диска
+
Уведомления администратору

Что понадобится для настройки

  • публичный IP или домен сервера;
  • правильный игровой порт;
  • доступ к конфигурации сервера;
  • открытый входящий порт;
  • включённые информационные запросы;
  • доступ к VPS или панели хостинга;
  • Telegram, Discord или email для уведомлений.

Пример игрового адреса

play.example.com:7777

Для FiveM

play.example.com:30120

Не передавайте мониторингам

  • RCON-пароль;
  • пароль базы данных;
  • SSH-пароль;
  • ключ панели управления;
  • API-токены проекта;
  • резервные копии;
  • закрытые конфигурационные файлы.

Публичные мониторинги GTA-серверов

Для SA-MP, open.mp и FiveM существуют каталоги, которые самостоятельно опрашивают игровой адрес и сохраняют статистику.

Примеры

  • GAMEMONITORING;
  • TrackyServer;
  • TOPG;
  • каталоги серверов конкретной игровой платформы;
  • региональные рейтинги GTA-серверов.

Публичный каталог помогает

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

Публичный мониторинг не заменяет технический

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

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

Общий порядок

  1. Зарегистрируйте аккаунт.
  2. Выберите игру или платформу.
  3. Нажмите «Добавить сервер».
  4. Введите IP или домен.
  5. Укажите игровой порт.
  6. Дождитесь первой проверки.
  7. Подтвердите владение при необходимости.
  8. Добавьте описание, сайт и Discord.
  9. Загрузите баннер или логотип.
  10. Проверьте отображаемый онлайн.

Пример данных

Игра: SA-MP / open.mp
Адрес: play.example.com
Порт: 7777
Название: Example Role Play
Режим: RolePlay
Язык: Russian
Сайт: example.com

Для FiveM

Игра: FiveM
Адрес: play.example.com
Порт: 30120
Категория: RolePlay

Если мониторинг не находит сервер

  • проверьте правильность IP;
  • уберите протокол http:// из игрового адреса;
  • проверьте порт;
  • откройте firewall;
  • включите query;
  • отключите обычный Cloudflare Proxy для игрового поддомена;
  • проверьте сервер из другой сети.

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

Название

Используйте настоящее название проекта без набора повторяющихся символов и ложного онлайна.

Описание

Кратко укажите:

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

Баннер

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

Категории и теги

RolePlay
CRMP
SA-MP
open.mp
FiveM
Russian
Voice
PC
Mobile

Не указывайте недостоверные данные

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

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

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

Возможные способы

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

После подтверждения

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

Настройка запросов open.mp и SA-MP

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

Пример open.mp config.json

{
 "name": "Example Role Play",
 "language": "Russian",
 "announce": true,
 "enable_query": true,
 "max_players": 500,
 "network": {
 "port": 7777
 }
}

Параметр enable_query

"enable_query": true

Разрешает отображение информации о сервере в браузерах и мониторингах.

Параметр announce

"announce": true

Отвечает за публикацию сервера в master list open.mp. Он не заменяет ручное добавление в сторонний каталог.

Для классического server.cfg

announce 1
query 1
port 7777
hostname Example Role Play
language Russian
mapname San Andreas
gamemodetext RolePlay

Откройте UDP-порт Linux

sudo ufw allow 7777/udp

Windows PowerShell

New-NetFirewallRule `
-DisplayName "GTA Server UDP 7777" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 7777 `
-Action Allow

Проверьте прослушивание Linux

sudo ss -lunp |
grep ':7777'

Что обычно получает мониторинг

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

Настройка мониторинга FiveM

FiveM предоставляет HTTP-endpoint с информацией о работающем сервере.

Типовая конфигурация

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_maxclients 64
sv_hostname "Example Role Play"

Проверка info.json

http://203.0.113.25:30120/info.json

Через домен

http://play.example.com:30120/info.json

Проверка Linux

curl \
--fail \
--silent \
--show-error \
http://127.0.0.1:30120/info.json

Дополнительные endpoint

/info.json
/dynamic.json
/players.json

Не публикуйте идентификаторы игроков

Для статистики достаточно количества игроков. Не включайте раскрытие внутренних идентификаторов только ради работы счётчика.

Если info.json не открывается извне

  • проверьте оба endpoint в server.cfg;
  • разрешите TCP 30120;
  • проверьте внешний firewall;
  • убедитесь, что сервер запущен;
  • проверьте bind-адрес;
  • проверьте прокси или домен.

Контроль доступности через Uptime Kuma

Uptime Kuma — самостоятельная панель мониторинга, которую можно установить на VPS или отдельный сервер.

Поддерживаемые проверки

  • HTTP и HTTPS;
  • TCP-порт;
  • ping;
  • DNS-запись;
  • поиск текста в HTTP-ответе;
  • проверка JSON;
  • push-мониторинг;
  • Docker-контейнеры;
  • некоторые игровые серверы.

Возможности

  • история доступности;
  • время ответа;
  • повторные попытки;
  • уведомления;
  • технические окна;
  • несколько страниц статуса;
  • контроль SSL-сертификатов;
  • двухфакторная защита панели.

Что проверять

VPS отвечает
Игровой процесс запущен
Игровой endpoint доступен
Панель работает
Сайт работает
База данных отвечает
DNS указывает на правильный IP

Установка Uptime Kuma через Docker

Установите Docker

sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker

Запустите контейнер

sudo docker run \
-d \
--restart=unless-stopped \
-p 127.0.0.1:3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:2

Проверьте контейнер

sudo docker ps

Проверьте локальный интерфейс

curl -I http://127.0.0.1:3001

Подключение домена

Создайте отдельный поддомен:

status.example.com

и направьте его через Nginx на:

http://127.0.0.1:3001

Не открывайте порт 3001 всему интернету

Безопаснее использовать Nginx, HTTPS и ограничение доступа к административной панели.

Создание проверок в Uptime Kuma

Ping

Тип: Ping
Hostname: play.example.com
Интервал: 60 секунд
Повторные попытки: 2

Проверяет доступность узла, но не игровой процесс.

TCP для FiveM

Тип: TCP Port
Hostname: play.example.com
Port: 30120

HTTP FiveM

Тип: HTTP(s)
URL: http://play.example.com:30120/info.json
Ожидаемый код: 200

JSON FiveM

Тип: HTTP(s) JSON Query
URL: http://play.example.com:30120/info.json

Панель управления

Тип: HTTP(s)
URL: https://panel.example.com
Ожидаемый код: 200

Основной сайт

Тип: HTTP(s)
URL: https://example.com

DNS

Тип: DNS
Hostname: play.example.com
Тип записи: A
Ожидаемый IP: 203.0.113.25

SA-MP и open.mp

Обычная TCP-проверка не подходит для игрового UDP-порта. Используйте игровой query-мониторинг, публичный каталог или отдельный скрипт UDP-проверки.

Почему мониторинг лучше размещать отдельно

Если Uptime Kuma работает на том же VPS, что и GTA-сервер, при полном отключении VPS перестанут работать и сервер, и система уведомлений.

Предпочтительная схема

VPS №1:
GTA-сервер
MySQL или MariaDB
Панель

VPS №2:
Uptime Kuma
Prometheus
Grafana
Уведомления

Преимущества внешней проверки

  • обнаружение полного отключения VPS;
  • проверка реального внешнего маршрута;
  • контроль firewall;
  • контроль DNS;
  • уведомления продолжают работать;
  • история не теряется вместе с игровым сервером.

Минимальный вариант

Если второго VPS нет, используйте внешний облачный uptime-сервис хотя бы для проверки сайта, панели и TCP-endpoint FiveM.

Публичная страница состояния проекта

В Uptime Kuma можно создать отдельную страницу, на которой игроки увидят состояние сервисов.

Пример групп

Игровые серверы
— Server 1
— Server 2
— Test Server

Веб-сервисы
— Сайт
— Форум
— Панель

Дополнительные службы
— API
— Голосовой сервер
— Загрузка файлов

Поддомен страницы

status.example.com

Что можно показывать

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

Что не нужно публиковать

  • внутренние IP;
  • административные endpoint;
  • базу данных;
  • SSH;
  • резервное хранилище;
  • технические токены;
  • подробности уязвимости.

Контроль процесса GTA-сервера на Linux

Проверка службы

sudo systemctl status gta-server.service

Краткий результат

systemctl is-active gta-server.service

Проверка процесса

pgrep -af \
'samp|omp|FXServer|altv|gta-server'

Проверка порта

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

Последние сообщения журнала

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

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

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

Проверяйте не только наличие процесса

Зависший процесс может существовать, но не отвечать игрокам. Сочетайте проверку systemd с внешним запросом игрового протокола.

Автоматический перезапуск GTA-сервера через systemd

Пример службы

[Unit]
Description=GTA Game Server
After=network-online.target mariadb.service
Wants=network-online.target

[Service]
Type=simple
User=gta
Group=gta
WorkingDirectory=/opt/gta-server
ExecStart=/opt/gta-server/omp-server
Restart=on-failure
RestartSec=10
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target

Примените настройки

sudo systemctl daemon-reload
sudo systemctl enable --now gta-server.service

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

sudo systemctl is-enabled gta-server.service

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

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

Не создавайте бесконечный цикл без задержки

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

Уведомление важнее автоперезапуска

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

Контроль GTA-сервера на Windows

Проверка процесса PowerShell

Get-Process |
Where-Object {
 $_.ProcessName -match "samp|omp|FXServer|altv|server"
}

Проверка TCP-порта FiveM

Get-NetTCPConnection `
-LocalPort 30120 `
-State Listen `
-ErrorAction SilentlyContinue

Проверка UDP-порта

Get-NetUDPEndpoint `
-LocalPort 7777 `
-ErrorAction SilentlyContinue

Проверка FiveM endpoint

Invoke-WebRequest `
-Uri "http://127.0.0.1:30120/info.json" `
-UseBasicParsing `
-TimeoutSec 10

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

Используйте Планировщик заданий или службу Windows с параметрами:

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

Проверка задачи

Get-ScheduledTaskInfo `
-TaskName "GTA Server"

Как собирать статистику онлайна игроков

Публичные каталоги

Большинство мониторингов автоматически сохраняет:

  • онлайн по часам;
  • онлайн за сутки;
  • онлайн за неделю;
  • максимальное значение;
  • время последнего ответа;
  • периоды Offline.

Собственная статистика

Записывайте результат игрового запроса в базу или файл:

timestamp,players,max_players,status,ping
2026-07-31 20:00:00,84,500,online,42
2026-07-31 20:05:00,91,500,online,39
2026-07-31 20:10:00,0,500,offline,0

Рекомендуемый интервал

1–5 минут

Не опрашивайте сервер слишком часто

Проверка каждую секунду не даёт полезной статистики, но создаёт лишний трафик и нагрузку.

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

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

Проверка SA-MP и open.mp через UDP

Следующий Python-скрипт отправляет информационный query-запрос и возвращает базовую статистику сервера.

Создайте файл

nano /opt/monitoring/check_samp.py

Скрипт

#!/usr/bin/env python3

import json
import socket
import struct
import sys
from typing import Any


def read_string(data: bytes, offset: int) -> tuple[str, int]:
 if offset + 4 > len(data):
 raise ValueError("Повреждённый ответ сервера")

 length = struct.unpack_from("<I", data, offset)[0]
 offset += 4

 if offset + length > len(data):
 raise ValueError("Неполная строка в ответе")

 value = data[offset:offset + length]
 offset += length

 return value.decode("utf-8", errors="replace"), offset


def query_server(
 hostname: str,
 port: int,
 timeout: float = 3.0,
) -> dict[str, Any]:
 ip = socket.gethostbyname(hostname)

 packet = (
 b"SAMP"
 + socket.inet_aton(ip)
 + struct.pack("<H", port)
 + b"i"
 )

 with socket.socket(
 socket.AF_INET,
 socket.SOCK_DGRAM,
 ) as sock:
 sock.settimeout(timeout)
 sock.sendto(packet, (ip, port))
 response, _ = sock.recvfrom(65535)

 if len(response) < 16:
 raise ValueError("Слишком короткий ответ")

 offset = 11
 passworded = bool(response[offset])
 offset += 1

 players, max_players = struct.unpack_from(
 "<HH",
 response,
 offset,
 )
 offset += 4

 hostname_value, offset = read_string(response, offset)
 gamemode, offset = read_string(response, offset)
 language, offset = read_string(response, offset)

 return {
 "status": "online",
 "address": f"{hostname}:{port}",
 "name": hostname_value,
 "players": players,
 "max_players": max_players,
 "gamemode": gamemode,
 "language": language,
 "passworded": passworded,
 }


def main() -> int:
 if len(sys.argv) != 3:
 print(
 "Использование: check_samp.py HOST PORT",
 file=sys.stderr,
 )
 return 2

 hostname = sys.argv[1]

 try:
 port = int(sys.argv[2])
 result = query_server(hostname, port)
 print(
 json.dumps(
 result,
 ensure_ascii=False,
 )
 )
 return 0
 except Exception as error:
 print(
 json.dumps(
 {
 "status": "offline",
 "error": str(error),
 },
 ensure_ascii=False,
 )
 )
 return 1


if __name__ == "__main__":
 raise SystemExit(main())

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

chmod +x /opt/monitoring/check_samp.py

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

/opt/monitoring/check_samp.py \
play.example.com \
7777

Пример результата

{
 "status": "online",
 "address": "play.example.com:7777",
 "name": "Example Role Play",
 "players": 84,
 "max_players": 500,
 "gamemode": "RolePlay",
 "language": "Russian",
 "passworded": false
}

Код завершения

  • 0 — сервер ответил;
  • 1 — сервер не ответил или вернул неверные данные;
  • 2 — неправильно переданы параметры.

Запускайте скрипт с внешнего сервера

Так он проверит не только процесс, но и реальную доступность UDP-порта через интернет.

Проверка FiveM через JSON

Проверка информации

curl \
--fail \
--silent \
--show-error \
--max-time 10 \
http://play.example.com:30120/info.json \
> /dev/null

Проверка списка игроков

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

Подсчёт игроков через jq

curl \
--fail \
--silent \
--max-time 10 \
http://play.example.com:30120/players.json |
jq 'length'

Установка jq

sudo apt install jq -y

Не сохраняйте персональные данные без необходимости

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

Проверка должна завершаться ошибкой

Используйте --fail, чтобы HTTP-ошибка приводила к ненулевому коду завершения скрипта.

Какие показатели нагрузки контролировать

CPU

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

Оперативная память

Контролируйте:

  • занятую RAM;
  • доступную RAM;
  • использование swap;
  • рост памяти игрового процесса;
  • срабатывание OOM Killer.

Диск

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

Сеть

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

Быстрая проверка Linux

top
free -h
df -h
uptime
sudo ss -s

Размер серверного процесса

ps \
-o pid,%cpu,%mem,rss,vsz,etime,cmd \
-C omp-server

Мониторинг Linux через Node Exporter и Prometheus

Node Exporter предоставляет системные метрики, которые Prometheus регулярно собирает и сохраняет.

Установка Ubuntu

sudo apt update
sudo apt install prometheus-node-exporter -y

Запуск

sudo systemctl enable \
--now \
prometheus-node-exporter

Проверка метрик

curl http://127.0.0.1:9100/metrics |
head -n 30

Пример prometheus.yml

global:
 scrape_interval: 15s

scrape_configs:
 - job_name: gta-node
 static_configs:
 - targets:
 - 203.0.113.25:9100

Ограничьте доступ к порту 9100

sudo ufw allow \
from MONITORING_SERVER_IP \
to any port 9100 \
proto tcp

Не открывайте метрики всему интернету

Endpoint содержит сведения о системе, дисках, сети и процессах. Разрешите подключение только с сервера Prometheus или используйте защищённую внутреннюю сеть.

Графики GTA-сервера в Grafana

Grafana подключается к Prometheus и отображает системные показатели на панелях.

Полезные графики

  • общая загрузка CPU;
  • загрузка каждого ядра;
  • занятая RAM;
  • использование swap;
  • свободное место;
  • скорость операций диска;
  • сетевой трафик;
  • средняя нагрузка;
  • uptime VPS;
  • число игроков.

CPU в процентах

100 - (
 avg by(instance) (
 rate(
 node_cpu_seconds_total{
 mode="idle"
 }[5m]
 )
 ) * 100
)

Использование RAM

(
 1 -
 node_memory_MemAvailable_bytes
 /
 node_memory_MemTotal_bytes
) * 100

Использование корневого диска

100 * (
 1 -
 node_filesystem_avail_bytes{
 mountpoint="/"
 }
 /
 node_filesystem_size_bytes{
 mountpoint="/"
 }
)

Средняя нагрузка

node_load1

Входящий сетевой трафик

rate(
 node_network_receive_bytes_total[5m]
)

Пороговые значения уведомлений

Значения необходимо адаптировать под характеристики VPS и обычную нагрузку проекта.

Пример правил

Игровой сервер не отвечает:
3 последовательные проверки

CPU:
выше 90% более 10 минут

RAM:
выше 90% более 10 минут

Свободный диск:
меньше 15%

Свободный диск критично:
меньше 5%

Swap:
постоянный рост использования

FiveM info.json:
ошибка более 2 минут

Онлайн:
неожиданное падение до 0 при работающем сервере

Почему нужна задержка

Кратковременный всплеск CPU или один потерянный UDP-пакет не всегда означает сбой.

Создавайте уровни

  • Warning — проблема требует наблюдения;
  • Critical — сервис недоступен или близок к остановке;
  • Resolved — показатель вернулся в норму.

Не отправляйте уведомление каждую минуту

Настройте повторное сообщение через разумный интервал, например через 15–30 минут, если проблема сохраняется.

Контроль MySQL и MariaDB

Проверка службы

systemctl is-active mysql.service

Для MariaDB:

systemctl is-active mariadb.service

Проверка подключения

mysqladmin \
-u monitoring \
-p \
-h 127.0.0.1 \
ping

Число подключений

SHOW STATUS
LIKE 'Threads_connected';

Активные запросы

SHOW FULL PROCESSLIST;

Размер базы

SELECT
 table_schema,
 ROUND(
 SUM(data_length + index_length)
 / 1024 / 1024,
 2
 ) AS size_mb
FROM information_schema.tables
WHERE table_schema = 'gta_server'
GROUP BY table_schema;

Что отслеживать

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

Не используйте root для мониторинга

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

Настройка уведомлений о сбоях

Telegram

Для подключения обычно необходимы:

  • токен Telegram-бота;
  • Chat ID пользователя или группы;
  • разрешение боту отправлять сообщения.

Discord

Создайте webhook в выбранном канале и добавьте его URL в систему мониторинга.

Email

Укажите SMTP-сервер, порт, имя пользователя, пароль и адрес получателя.

Что должно содержать сообщение

Сервис: GTA Server 1
Статус: DOWN
Адрес: play.example.com:7777
Время: 2026-07-31 23:00
Ошибка: UDP query timeout
Повторные проверки: 3
Последний успешный ответ: 22:57

Настройте уведомления о восстановлении

Сервис: GTA Server 1
Статус: UP
Время сбоя: 6 минут
Текущий онлайн: 42/500

Используйте несколько каналов для критических проблем

Например, Telegram для быстрых сообщений и email для истории инцидентов.

Режим технических работ

Перед плановым обновлением временно отключите аварийные уведомления.

Когда включать обслуживание

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

Укажите

  • название работ;
  • время начала;
  • ожидаемое окончание;
  • затронутые сервисы;
  • сообщение для игроков.

Не отключайте сбор метрик

Даже во время обслуживания полезно сохранять графики CPU, RAM, диска и времени восстановления.

Безопасность системы мониторинга

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

Отдельный поддомен

status.example.com — публичная страница
monitor.example.com — административная панель

Ограничение панели по IP

Административный интерфейс можно разрешить только с IP владельца или через VPN.

Защищайте webhook

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

Как уменьшить количество ложных уведомлений

  • используйте несколько попыток;
  • задайте разумный timeout;
  • не проверяйте каждую секунду;
  • проверяйте сервер из стабильного дата-центра;
  • отделяйте ping от игрового query;
  • учитывайте плановые работы;
  • не объявляйте Offline после одного потерянного пакета;
  • отправляйте сообщение после нескольких ошибок подряд.

Пример

Интервал проверки: 60 секунд
Timeout: 5 секунд
Повторные попытки: 2
Статус DOWN: после 3 ошибок
Повтор уведомления: через 30 минут

Используйте несколько проверок

Ping работает
+
Процесс работает
+
Игровой query работает
+
База отвечает

Так проще определить, какая часть системы вышла из строя.

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

Каталог показывает Offline, но игроки подключаются

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

Ping работает, но сервер недоступен

Ping проверяет VPS, а не игровой процесс. Добавьте проверку query, TCP или HTTP-endpoint.

Uptime Kuma не проверяет SA-MP через TCP

SA-MP и open.mp используют UDP. Применяйте игровой запрос или отдельный UDP-скрипт.

FiveM info.json не открывается

  • сервер остановлен;
  • TCP 30120 закрыт;
  • неправильный bind;
  • прокси настроен неверно;
  • указан другой порт.

Статистика игроков всегда показывает 0

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

Нет уведомлений

  • неверный токен;
  • неверный Chat ID;
  • бот не добавлен в группу;
  • webhook удалён;
  • не выбран контакт для правила;
  • уведомления отключены техническим окном.

Node Exporter доступен всему интернету

Закройте порт 9100 и разрешите подключение только с IP Prometheus.

Диск заполнился историей

Ограничьте срок хранения метрик, журналов и скриншотов. Настройте ротацию файлов.

Контрольный список мониторинга GTA-сервера

Публичный каталог

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

Доступность

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

Нагрузка

  • контролируется CPU;
  • контролируется RAM;
  • контролируется swap;
  • контролируется диск;
  • контролируется сеть;
  • настроены графики;
  • заданы предупреждения.

Безопасность

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

Частые вопросы о мониторинге GTA-сервера

Зачем добавлять сервер в публичный мониторинг?

Он создаёт страницу проекта, показывает онлайн, сохраняет статистику и может приводить новых игроков.

Достаточно ли одного публичного каталога?

Нет. Для быстрых уведомлений нужен отдельный технический мониторинг.

Почему сервер отображается Offline?

Проверьте IP, порт, firewall, query и реальную доступность сервера из интернета.

Нужно ли включать announce?

Для публикации open.mp в master list — да. Сторонние каталоги могут добавляться отдельно.

Нужно ли включать query?

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

Можно ли проверить SA-MP обычным TCP-монитором?

Нет, основной игровой и query-трафик использует UDP.

Как проверить FiveM?

Используйте TCP-проверку порта и HTTP-запрос к info.json.

Где лучше установить Uptime Kuma?

На отдельном VPS. Тогда уведомления продолжат работать при полном отключении игрового сервера.

Что лучше: Uptime Kuma или Grafana?

Uptime Kuma проще для проверки доступности. Grafana и Prometheus лучше подходят для подробных графиков нагрузки.

Можно ли использовать обе системы?

Да. Это наиболее практичная схема.

Как часто проверять сервер?

Обычно достаточно интервала 30–60 секунд для доступности и 1–5 минут для статистики игроков.

Как избежать ложных сообщений?

Отправляйте уведомление только после нескольких неудачных проверок подряд.

Что делать при заполнении диска?

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

Можно ли показывать онлайн на своём сайте?

Да. Получайте данные серверным скриптом или используйте API выбранного мониторинга. Браузер не может напрямую выполнять большинство UDP-запросов.

Нужно ли хранить имена игроков?

Для обычной статистики достаточно количества подключений. Не собирайте лишние персональные данные.

Можно ли автоматически перезапускать сервер?

Да, через systemd, службу Windows или Планировщик заданий. При этом обязательно сохраняйте журнал причины сбоя.

Какие уведомления самые важные?

Недоступность игрового endpoint, заполнение диска, нехватка памяти, остановка базы и серия перезапусков.

Итог

Надёжный мониторинг GTA-сервера должен проверять не только IP, но и игровой query, процесс, базу данных и нагрузку VPS. Публичный каталог нужен для статистики и продвижения, а отдельная система доступности — для быстрого обнаружения сбоя.

Для SA-MP и open.mp включите query и проверяйте сервер через UDP. Для FiveM используйте TCP-порт и HTTP-endpoint info.json. Не полагайтесь только на ping.

Uptime Kuma подходит для контроля доступности и уведомлений. Prometheus, Node Exporter и Grafana позволяют строить подробные графики CPU, RAM, диска и сети.

Размещайте основную систему мониторинга отдельно от игрового VPS, защищайте её HTTPS и двухфакторной аутентификацией, а также регулярно проверяйте доставку тестовых уведомлений.

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

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

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

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