diff --git a/serverCommunication/web.go b/serverCommunication/web.go index f2b86d2..8d4603e 100644 --- a/serverCommunication/web.go +++ b/serverCommunication/web.go @@ -36,6 +36,11 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt if data.CmdID == cmdID { // forward to target dest mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.OriginDest)) + if mcClient == nil { + logger.WebVoice.Warnln("mcClient is nil -> given dest", data.OriginDest) + continue + } + logger.WebVoice.Debugln("Forwarding reply from web voice to mc client", mcClient.Name, "cmdID", cmdID) raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.OriginCmdID, 0, webClient.Uuid, 0, "") @@ -44,7 +49,7 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt if err != nil { logger.Web.Warnln("write:", err) - return + continue } // remove cmdID from VoiceCMDIDsByBackend list @@ -52,7 +57,6 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt // remove cmdID from minecraftCmdIDs mcClient.RemoveCmdID(data.OriginCmdID) - return } }