Устранение ошибок
Описание некоторых возможных ошибок и способов их устранения.
С чего начать
Почти по любой проблеме с игровым сервером подробности есть в двух местах.
Задания в панели. Администрирование → GDaemon задания, откройте последнее задание — там результат выполнения команды и вывод ошибки.
Журнал демона на выделенном сервере:
- Linux —
/var/log/gameap-daemon/output.log - Windows —
C:\gameap\daemon\logs\output.log
Если демон работает под systemd, тот же вывод доступен командой:
journalctl -u gameap-daemon -n 200 --no-pager
Чтобы получить больше подробностей, поставьте в конфигурации демона log_level: debug
и перезапустите его.
Ошибки запуска сервера
Статус сервера отображается неверно
Иногда сервер запускается, но в панели отображается как офлайн. См. Ошибки отображения статуса сервера.
Не указана команда запуска игрового сервера
Ошибка возникает, когда команда запуска для игрового сервера пуста.
Перейдите на страницу администрирования игровым сервером: Администрирование → Серверы → выберите игровой сервер. Либо с главной страницы: Список серверов → выберите сервер → Управление → Администрирование.
Найдите поле Команда запуска игрового сервера и впишите команду. Для Counter-Strike 1.6 она будет примерно такой:
./hlds_run -game cstrike +ip {ip} +port {port} +map {default_map} +maxplayers {maxplayers} +sys_ticrate {fps}
Подробнее — настройка игровых серверов. Команду запуска по умолчанию можно задать в настройках модификации.
Окно с информацией висит и не меняется долгое время
Обычно запуск занимает меньше 10 секунд. Если полоса состояния застыла или статус не меняется несколько минут, проверьте, работает ли демон и подключён ли он к панели:
systemctl status gameap-daemon
Если демон не запущен:
systemctl start gameap-daemon
Если запущен, посмотрите в журнале, установлено ли соединение с панелью. Сообщения
gRPC connection failed и Reconnecting to panel... означают, что демон до панели не достучался —
см. Демон не подключается к панели.
Server start task is already exists / Задача уже существует
Ошибка возникает, когда задача на запуск уже создана и ещё не выполнена.
Перейдите на страницу GDaemon задания, найдите задачу со статусом ожидания (waiting), откройте её кнопкой Просмотр и нажмите Отменить. После этого запустите сервер ещё раз.
Если задачи регулярно зависают в ожидании, значит демон их не забирает — проверьте, работает ли он и подключён ли к панели.
Ошибки отображения статуса сервера
Несоответствие времени
Проблема связана с расхождением времени на сервере с панелью и на выделенном сервере.
Настройте синхронизацию часов на обоих серверах:
timedatectl set-ntp true
timedatectl status
Если systemd не используется, включите службу синхронизации времени — например chronyd
или ntpd.
Отдельно проверьте часовой пояс: он на точность часов не влияет, но из-за него время в интерфейсе может отображаться со сдвигом.
timedatectl set-timezone Europe/Moscow
В Debian и Ubuntu часовой пояс можно выбрать и в диалоге: dpkg-reconfigure tzdata.
Демон подключён, но статус не обновляется
Демон сообщает о состоянии серверов раз в metrics.collection_interval (по умолчанию 5 секунд)
и присылает heartbeat раз в 30 секунд. Если данные не обновляются дольше, посмотрите в журнале
демона, не разрывается ли соединение.
Ошибки установки серверов
Чтобы установить причину, посмотрите результат выполнения команды установки: Администрирование → GDaemon задания → найдите задание на установку и откройте.
Частые причины:
Нет источника
Панель не знает, откуда устанавливать игровой сервер. Способов несколько:
- через SteamCMD — в настройках игры должен быть указан Steam APP ID;
- из удалённого репозитория — должна быть указана ссылка на ZIP или TAR архив (RAR не поддерживается);
- из локального репозитория — путь к каталогу с файлами или к ZIP или TAR архиву. Файлы должны находиться на выделенном сервере, где работает демон.
Источник задаётся на странице Администрирование → Игры → выберите игру → Редактировать.
Неправильно сформирован архив установки
Архив должен содержать файлы игрового сервера в корне. Самая частая ошибка — файлы лежат во вложенном каталоге.
Неправильно сформированный архив для GTA: San Andreas Multiplayer:

Правильно:

Неправильно указан источник установки
Для локального репозитория проверьте, существует ли каталог на выделенном сервере, где работает демон.
Для удалённого — проверьте, что по ссылке действительно начинается скачивание файла. Ссылки на Яндекс Диск, Google Drive и подобные хранилища не поддерживаются: по ним отдаётся страница, а не файл.
Failed to install via steamcmd
Иногда SteamCMD прерывается посреди загрузки. Панель умеет работать с альтернативным загрузчиком depot downloader — замените скрипт SteamCMD:
cd /srv/gameap/steamcmd
mv steamcmd.sh steamcmd.sh.orig
curl -O https://raw.githubusercontent.com/gameap/steamcmd-depotdownloader/main/steamcmd.sh
chmod 755 steamcmd.sh && chown gameap:gameap steamcmd.sh
Требуется вход в аккаунт Steam
Часть игр нельзя скачать анонимно — нужен аккаунт с приобретённой копией. Укажите его в разделе
steam_config конфигурации демона, см. GameAP Daemon.
На этом аккаунте должна быть отключена двухфакторная аутентификация, иначе демон не сможет войти.
Ошибки GameAP Daemon
Демон не подключается к панели
В GameAP 4 соединение устанавливает демон: он сам подключается к панели по gRPC на порт 31718. Панель к демону не подключается, и входящие порты на выделенном сервере для этого не нужны.
Признак в журнале демона — повторяющиеся gRPC connection failed и Reconnecting to panel....
Что проверить:
-
Доступность порта с выделенного сервера:
nc -zv panel.example.com 31718Если соединение не устанавливается, порт закрыт файрволом или панель слушает другой адрес.
-
Адрес панели в конфигурации демона — параметр
grpc.address. Он должен указывать на адрес, доступный с выделенного сервера. -
Ошибка проверки сертификата. Если в журнале сообщение о несовпадении имени в сертификате, значит демон подключается по адресу, которого нет в сертификате панели. Задайте на панели
GRPC_EXTERNAL_HOSTи перевыпустите сертификат — см. GRPC API. -
registration failed. Соединение установлено, но панель отклонила регистрацию: неверныйds_idилиapi_keyв конфигурации демона. Проще всего зарегистрировать демона заново.
Не работает консоль или файловый менеджер
Если серверы запускаются и останавливаются, а консоль и файловый менеджер не работают, проблема почти всегда в соединении с панелью: команды управления могли выполниться до разрыва, а консоль и файлы требуют работающего потока данных.
Проверьте соединение по разделу выше, при необходимости перезапустите демона:
systemctl restart gameap-daemon
Файл не загружается через файловый менеджер
По умолчанию запрещена загрузка архивов и произвольных двоичных файлов — тип определяется
по содержимому файла, а не по расширению. Разрешить их можно переменными
FILES_UPLOAD_ALLOW_ARCHIVES и FILES_UPLOAD_ALLOW_BINARY, см. Безопасность.
Предельный размер файла при обычной загрузке — 100 МБ.
После перезагрузки сервера демон не запускается
Включите автозапуск:
systemctl enable gameap-daemon
Task complete with an error
Общая ошибка при установке, запуске, перезапуске или остановке игрового сервера. Причин может быть много.
Откройте Администрирование → GDaemon задания, найдите последнее задание и посмотрите подробности. Затем проверьте журнал демона.
No source to install game
Для игры не задан ни один источник установки. См. Нет источника.
Ошибки входа в панель
После обновления не пускает администратора
В GameAP 4 двухфакторная аутентификация для администраторов обязательна: через 30 дней после первого напоминания вход перестаёт выдавать полноценную сессию. Это не блокировка учётной записи — нужно подключить 2FA и войти заново.
Порядок действий, в том числе при утере устройства с кодами, — Безопасность.
Слишком много попыток входа
После 20 неудачных попыток с одного адреса или 5 попыток на один логин вход блокируется на 15 минут,
ответ — 429. Ограничение снимается само по истечении времени.
Пароль не принимается при смене
Минимальная длина пароля — 12 символов, и он проверяется по списку скомпрометированных паролей. См. Безопасность.
Поиск причин
Если вашей проблемы здесь нет, ищите подробности в журналах.
Журнал демона — /var/log/gameap-daemon/output.log в Linux, C:\gameap\daemon\logs\output.log
в Windows. Для подробного вывода поставьте log_level: debug в конфигурации демона и перезапустите
его.
Журнал панели — вывод процесса gameap. Под systemd:
journalctl -u gameap -n 200 --no-pager
Уровень подробности задаётся переменной LOGGER_LEVEL, см.
Справочник config.env.
Задания — в панели Администрирование → GDaemon задания: там результат выполнения каждой команды запуска, установки и перезапуска.