From f5dc13f775ada1854e6bb4afb028ace76dab720d Mon Sep 17 00:00:00 2001 From: AeonLucid Date: Mon, 21 Sep 2020 00:45:16 +0200 Subject: [PATCH] Kick/ban proper messages --- src/AmongUs.Server/Net/Game.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/AmongUs.Server/Net/Game.cs b/src/AmongUs.Server/Net/Game.cs index 6fdfee7..97f9624 100644 --- a/src/AmongUs.Server/Net/Game.cs +++ b/src/AmongUs.Server/Net/Game.cs @@ -160,7 +160,7 @@ namespace AmongUs.Server.Net using (var packet = MessageWriter.Get(SendOption.Reliable)) { - WriteRemovePlayerMessage(packet, false, playerId, reason); + WriteRemovePlayerMessage(packet, false, playerId, (DisconnectReason) reason); SendToAllExcept(packet, player); } } @@ -177,7 +177,9 @@ namespace AmongUs.Server.Net player.Game = null; } - WriteRemovePlayerMessage(message, true, playerId, 0); + WriteRemovePlayerMessage(message, true, playerId, isBan + ? DisconnectReason.Banned + : DisconnectReason.Kicked); SendToAllExcept(message, player); } } @@ -264,8 +266,11 @@ namespace AmongUs.Server.Net } } - private void WriteRemovePlayerMessage(MessageWriter message, bool clear, int playerId, byte reason) + private void WriteRemovePlayerMessage(MessageWriter message, bool clear, int playerId, DisconnectReason reason) { + // Only a subset of DisconnectReason shows an unique message. + // ExitGame, Banned and Kicked. + if (clear) { message.Clear(SendOption.Reliable); @@ -275,7 +280,7 @@ namespace AmongUs.Server.Net message.Write(Code); message.Write(playerId); message.Write(HostId); - message.Write(reason); + message.Write((byte) reason); message.EndMessage(); } -- 2.39.5