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