From 6ecc983eb029984b73bfd768494dc207be870e6e Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 29 Dec 2021 22:48:22 +0100 Subject: [PATCH] reply handling --- serverCommunication/web.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/serverCommunication/web.go b/serverCommunication/web.go index fceadeb..68140c0 100644 --- a/serverCommunication/web.go +++ b/serverCommunication/web.go @@ -47,6 +47,28 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt // remove cmdID from VoiceCMDIDsByBackend list webClient.RemoveVoiceCmdIDByBackend(cmdID) + // remove cmdID from minecraftCmdIDs + mcClient.RemoveCmdID(data.CmdIDFromMinecraftServer) + return + } + } + } else { + for _, data := range webClient.MobileCmdIDsByBackend { + if data.WebCmdID == cmdID { // forward to target dest + mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.DestFromMinecraftServer)) + + raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.CmdIDFromMinecraftServer, 0, webClient.Uuid, 0, "") + + err = mcClient.SendBinaryMessage(raw) + + if err != nil { + logger.Web.Warnln("write:", err) + return + } + + // remove cmdID from VoiceCMDIDsByBackend list + webClient.RemoveMobileCmdIDByBackend(cmdID) + // remove cmdID from minecraftCmdIDs mcClient.RemoveCmdID(data.CmdIDFromMinecraftServer) return