Как добавить GTA-сервер в мониторинг и настроить контроль доступности
Мониторинг GTA-сервера позволяет отслеживать его доступность, количество игроков, задержку, нагрузку на процессор, использование памяти и свободное место на диске. Публичные каталоги помогают привлекать игроков, а технические системы наблюдения сообщают владельцу о сбоях и перегрузке VPS.
В этой инструкции рассмотрено добавление серверов CRMP, SA-MP, open.mp и FiveM в публичные мониторинги, настройка проверки игрового порта, сбор статистики онлайна, контроль CPU, RAM и диска, а также отправка уведомлений в Telegram, Discord или на электронную почту.
Названия доменов, IP-адреса, игровые порты, имена служб и пути в примерах необходимо заменить на используемые в вашем проекте.
Если игровой порт ещё не открыт:
Для удобного адреса мониторинга:
Перед изменением конфигурации:
Для чего нужен мониторинг 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-сервер в публичный мониторинг
Общий порядок
- Зарегистрируйте аккаунт.
- Выберите игру или платформу.
- Нажмите «Добавить сервер».
- Введите IP или домен.
- Укажите игровой порт.
- Дождитесь первой проверки.
- Подтвердите владение при необходимости.
- Добавьте описание, сайт и Discord.
- Загрузите баннер или логотип.
- Проверьте отображаемый онлайн.
Пример данных
Игра: 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 в систему мониторинга.
Укажите 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 и двухфакторной аутентификацией, а также регулярно проверяйте доставку тестовых уведомлений.
Комментарии к инструкции
Обсудите решение, задайте вопрос или дополните инструкцию