This guide will show you how to integrate your CryEngine game into Backtrace for crash reporting.
Backtrace has first-class support for the native crash reporting format of CryEngine. The basic integration consists of modifying a configuration file setting so your game uses your Backtrace instance as the crash reporting server. The system will accept crash reports from the game client and will automatically extract and index all the metadata provided by the client, and accept any file attachments alongside.
Supported Platforms
Backtraces integration with CryEngine supports games deployed for Windows. If you are deploying to Game Consoles (PS4, Xbox One) Use Backtrace's Game Console Integrations
On Premise (self hosted) Users: CryEngine crash ingestion requires specific packages. Please reach out to support for details and instructions.
How to Integrate
Register for a Backtrace instance
If you don't have one, register for a Backtrace instance here. You can create projects and tokens to manage your incoming crashes.
Your server instance will have a domain in the following form:
https://<AAAA>.sp.backtrace.io
Your submission token is accessible under your project configuration menu (see here) and will look like this:
45e44f361045ae4343e4113e77e0ea3eee1043367342c3f03c3a273cb3e433ae
It only takes a few minutes to integrate your game into Backtrace.
Configuration File Edits
The configuration file is located in different paths depending on the type of execution method.
- Development - edit user.cfg in the project directory:
- Production - edit system.cfg in the build directory:
The following console variables must be changed:
- sys_crashrpt - enable or disable the crash reporter
- sys_crashrpt_appname - application name
- sys_crashrpt_appversion - application version
- sys_crashrpt_email - your companies support email address to display to the player
- sys_crashrpt_privacypolicy - link to your companies privacy policy to display to the player
- sys_crashrpt_server - Backtrace crash server, in the format described below:
https://cryengine.backtrace.io/post?universe=[universe]&token=[token]
Example values:
- sys_crashrpt = "1"
- sys_crashrpt_appname = "My Game"
- sys_crashrpt_appversion = "0.8"
- sys_crashrpt_email = "support@gamingcompany.com"
- sys_crashrpt_privacypolicy = "https://gamingcompany.com/privacy"
- sys_crashrpt_server = "https://cryengine.backtrace.io/post?universe=gamingcompany&token=5ba5cd76ceac75975cc3c0e8237d65ba743abd0e4d85aa2f5e57e98a44643b4c"
Attributes and File Attachments
TBD - Which standard attributes are collected. How to define custom attributes? How to attach log files, videos, or other?
Debug Symbols
When building your game, it should be configured to generate debug symbols (.pdb files) that can be provided to Backtrace so that you can have proper deduplication / grouping of minidumps and human readable call stacks. To learn more, please see the Symbolication Guide.
TBD - CryEngine platform debug symbols (Does Backtrace provide them so customer's don't need to provide unless they customize the engine?)
You're done!
You can now view new incoming CryEngine crashes in your Backtrace instance. Check out the Debugger to see your crashes in detail.