mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Add Sentry Error Tracking (#2670)
* Add Sentry Error Tracking * Omit personally identifiable information and add additional sentry context * Remove debug message * Make sentry opt-out and add related notices and strings Also add Minecraft Version to error context * Update build to send release info to sentry * Adjust sentry error tracking - Send the user-friendly Minecraft Version in the error logs - Capture exceptions in more parts of the application We now capture exceptions from the following locations: - Protocol18 (1.8+) Packet errors - Errors during client initialization phase (When client is about to start, session keys are NEVER sent to sentry) * Make Sentry DSN configurable and repository-specific The Sentry DSN will automatically be filled out on the main repository through the Github Actions build. * Update build-and-release.yml Update sed command * style: change variable name nitpick, just to make it a little bit more descriptive * Add Sentry branding in README. * remove old code (merge conflict)
This commit is contained in:
parent
8756ff5b3c
commit
08551097c6
11 changed files with 148 additions and 24 deletions
|
|
@ -21,6 +21,7 @@ using MinecraftClient.Protocol.ProfileKey;
|
|||
using MinecraftClient.Protocol.Session;
|
||||
using MinecraftClient.Proxy;
|
||||
using MinecraftClient.Scripting;
|
||||
using Sentry;
|
||||
using static MinecraftClient.Settings;
|
||||
|
||||
namespace MinecraftClient
|
||||
|
|
@ -191,6 +192,33 @@ namespace MinecraftClient
|
|||
Log.WarnEnabled = Config.Logging.WarningMessages;
|
||||
Log.ErrorEnabled = Config.Logging.ErrorMessages;
|
||||
|
||||
// SENTRY: Send our client version and server version to Sentry
|
||||
SentrySdk.ConfigureScope(scope =>
|
||||
{
|
||||
scope.SetTag("Protocol Version", protocolversion.ToString());
|
||||
scope.SetTag("Minecraft Version", ProtocolHandler.ProtocolVersion2MCVer(protocolversion));
|
||||
scope.SetTag("MCC Build", Program.BuildInfo == null ? "Debug" : Program.BuildInfo);
|
||||
|
||||
if (forgeInfo != null)
|
||||
scope.SetTag("Forge Version", forgeInfo?.Version.ToString());
|
||||
|
||||
scope.Contexts["Server Information"] = new
|
||||
{
|
||||
ProtocolVersion = protocolversion,
|
||||
MinecraftVersion = ProtocolHandler.ProtocolVersion2MCVer(protocolversion),
|
||||
ForgeInfo = forgeInfo?.Version
|
||||
};
|
||||
|
||||
scope.Contexts["Client Configuration"] = new
|
||||
{
|
||||
TerrainAndMovementsEnabled = terrainAndMovementsEnabled,
|
||||
InventoryHandlingEnabled = inventoryHandlingEnabled,
|
||||
EntityHandlingEnabled = entityHandlingEnabled
|
||||
};
|
||||
});
|
||||
|
||||
SentrySdk.StartSession();
|
||||
|
||||
/* Load commands from Commands namespace */
|
||||
LoadCommands();
|
||||
|
||||
|
|
@ -588,6 +616,8 @@ namespace MinecraftClient
|
|||
}
|
||||
}
|
||||
|
||||
SentrySdk.EndSession();
|
||||
|
||||
if (!will_restart)
|
||||
{
|
||||
ConsoleInteractive.ConsoleReader.StopReadThread();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue