Обнаружение сбоев
Настройка отчётов о сбоях через Sentry в S2-Launcher, с дампами, выводом консоли и сообщениями лога Plugify.
В S2-Launcher встроены отчёты о сбоях через Sentry. Если они включены, при сбое в ваш проект Sentry уходит дамп процесса вместе с последним выводом консоли игры. По умолчанию Sentry выключен и включается в sentry.jsonc. Пока к процессу подключён отладчик, он тоже не работает.
Настройка
sentry.jsonc лежит рядом с лаунчером и crashpad_handler:
- Windows:
game/bin/win64/sentry.jsonc - Linux:
game/bin/linuxsteamrt64/sentry.jsonc
Загрузчик читает его при запуске. Не удаляйте файл и при выключенном Sentry: без него Launcher не запускается, а с Runtime сервер запускается без Plugify.
Чтобы включить отчёты, задайте enabled и свой DSN из Project Settings → Client Keys (DSN) на sentry.io:
Что попадает в отчёт
- Дамп сбоя: минидамп процесса, в разделе Issues вашего проекта Sentry.
- Вывод консоли: последний вывод консоли игры, как сообщение события.
- Сообщения лога Plugify: при
"logs_with_breadcrumbs": trueпоследние сообщения лога Plugify прикладываются как хлебные крошки, с модулем, файлом и функцией, которые их записали.max_breadcrumbsограничивает их число. - Лог сессии: при
"listen_console": trueвывод консоли ещё и пишется вsession.logв папкеlogs_path. - Вложения: файлы из списка
attachments.
Файл из поставки
Пути в файле задаются относительно папки самого файла. Параметры в комментариях выключены, их можно раскомментировать.
Основные параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
enabled | false | Включает отчёты. |
dsn | заглушка | DSN вашего проекта Sentry. Обязателен при enabled: true. |
database_path | ../../csgo/addons/plugify/crashes | Где хранятся дампы до отправки. Создаётся, если её нет. |
logs_path | ../../csgo/addons/plugify/logs/sessions | Папка для session.log. |
listen_console | false | Пишет вывод консоли в session.log. |
logs_with_breadcrumbs | false | Прикладывает к сбою последние сообщения лога Plugify как хлебные крошки. |
max_breadcrumbs | 100 | Сколько хлебных крошек хранится. |
sample_rate | 1.0 | Доля отправляемых событий, от 0.0 до 1.0. |
symbolize_stacktraces | true | Превращает адреса в стеке вызовов в имена функций. |
auto_session_tracking | true | Учитывает в Sentry нормальные и упавшие сессии. |
debug | false | Подробный вывод Sentry SDK для поиска проблем. |
Решение проблем
- Сбои не доходят до Sentry:
- Проверьте, что задано
"enabled": trueи DSN указан верно. - Проверьте, что
crashpad_handler.exe(Windows) илиcrashpad_handler(Linux) лежит рядом с лаунчером, или укажите путь к нему вhandler_path. - Проверьте, что процесс запущен не под отладчиком.
- Проверьте, что задано
- Нет хлебных крошек: задайте
"logs_with_breadcrumbs": true. - Дампы не записываются: проверьте, что процесс может писать в
database_path.