From e4a7d31f788df6754516f025c138a82508074b88 Mon Sep 17 00:00:00 2001 From: Regalis Date: Mon, 17 Apr 2017 19:48:29 +0300 Subject: [PATCH] If a recipient can't be found for a private message sent by a client, the server sends the "player not found" error message to the client --- Subsurface/Source/Networking/GameServer.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs index c7a1836aa..3044103ba 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Subsurface/Source/Networking/GameServer.cs @@ -1452,7 +1452,24 @@ namespace Barotrauma.Networking if (targetClient == null) { - AddChatMessage("Player \"" + command + "\" not found!", ChatMessageType.Error); + if (senderClient != null) + { + var chatMsg = ChatMessage.Create( + "", "Player \"" + command + "\" not found!", + ChatMessageType.Error, null); + + chatMsg.NetStateID = senderClient.chatMsgQueue.Count > 0 ? + (ushort)(senderClient.chatMsgQueue.Last().NetStateID + 1) : + (ushort)(senderClient.lastRecvChatMsgID + 1); + + senderClient.chatMsgQueue.Add(chatMsg); + senderClient.lastChatMsgQueueID = chatMsg.NetStateID; + } + else + { + AddChatMessage("Player \"" + command + "\" not found!", ChatMessageType.Error); + } + return; } }