From 6c91280125ce3d93a34fe43c7f40b476e55a5ed3 Mon Sep 17 00:00:00 2001 From: js6pak Date: Thu, 22 Aug 2024 23:37:51 +0200 Subject: [PATCH] Fix cheating disconnect message DisconnectReason.Hacking has been broken in base game for a long time so replace it with a custom message. Also add a random support code for easier debugging in case of false positives. --- src/Impostor.Server/Net/Client.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Impostor.Server/Net/Client.cs b/src/Impostor.Server/Net/Client.cs index 8579037..dfbc990 100644 --- a/src/Impostor.Server/Net/Client.cs +++ b/src/Impostor.Server/Net/Client.cs @@ -82,14 +82,22 @@ namespace Impostor.Server.Net return false; } - _logger.LogWarning("Client {Name} ({Id}) was caught cheating: [{Context}-{Category}] {Message}", Name, Id, context.Name, category, message); + var supportCode = Random.Shared.Next(0, 999_999).ToString("000-000"); + + _logger.LogWarning("Client {Name} ({Id}) was caught cheating: [{SupportCode}] [{Context}-{Category}] {Message}", Name, Id, supportCode, context.Name, category, message); if (_antiCheatConfig.BanIpFromGame) { Player?.Game.BanIp(Connection.EndPoint.Address); } - await DisconnectAsync(DisconnectReason.Hacking, context.Name + ": " + message); + var disconnectMessage = + $""" + You have been caught cheating and were {(_antiCheatConfig.BanIpFromGame ? "banned" : "kicked")} from the lobby. + For questions, contact your server admin and share the following code: {supportCode}. + """; + + await DisconnectAsync(DisconnectReason.Custom, disconnectMessage); return true; } -- 2.39.5