Crash Detection
Configure Sentry crash reporting in S2-Launcher to send crash dumps with the console output and Plugify log messages.
S2-Launcher has built-in Sentry crash reporting. When it is turned on, a crash sends a crash dump to your Sentry project, together with the recent console output of the game. Sentry is off by default and is turned on in sentry.jsonc. It also stays off while a debugger is attached to the process.
Configuration
sentry.jsonc lies next to the launcher and crashpad_handler:
- Windows:
game/bin/win64/sentry.jsonc - Linux:
game/bin/linuxsteamrt64/sentry.jsonc
The host reads it on start. Keep the file in place even with Sentry off: without it the Launcher doesn't start, and with the Runtime the server starts without Plugify.
To turn reporting on, set enabled and your DSN from Project Settings → Client Keys (DSN) on sentry.io:
What gets reported
- Crash dump: a minidump of the process, in the Issues of your Sentry project.
- Console output: the recent output of the game console, as the message of the event.
- Plugify log messages: with
"logs_with_breadcrumbs": true, the latest messages of the Plugify log are attached as breadcrumbs, with the module, file and function that wrote them.max_breadcrumbslimits how many are kept. - Session log: with
"listen_console": true, the console output is also written tosession.loginlogs_path. - Attachments: the files listed in
attachments.
The file as shipped
Paths in the file are relative to the folder of the file. Options in comments are turned off and can be uncommented.
Main options
| Option | Default | Description |
|---|---|---|
enabled | false | Turns reporting on. |
dsn | placeholder | DSN of your Sentry project. Required when enabled is true. |
database_path | ../../csgo/addons/plugify/crashes | Where crash dumps are kept before upload. Created if missing. |
logs_path | ../../csgo/addons/plugify/logs/sessions | Folder of session.log. |
listen_console | false | Writes the console output to session.log. |
logs_with_breadcrumbs | false | Attaches the latest Plugify log messages to a crash as breadcrumbs. |
max_breadcrumbs | 100 | How many breadcrumbs are kept. |
sample_rate | 1.0 | Share of events to send, from 0.0 to 1.0. |
symbolize_stacktraces | true | Resolves addresses in stack traces into function names. |
auto_session_tracking | true | Tracks healthy and crashed sessions in Sentry. |
debug | false | Verbose output of the Sentry SDK, for troubleshooting. |
Troubleshooting
- Crashes don't reach Sentry:
- Check that
"enabled": trueis set and the DSN is correct. - Check that
crashpad_handler.exe(Windows) orcrashpad_handler(Linux) lies next to the launcher, or set its path inhandler_path. - Check that the process isn't started under a debugger.
- Check that
- No breadcrumbs: set
"logs_with_breadcrumbs": true. - Crash dumps are not written: check that the process may write to
database_path.