master
Alex 2022-03-15 20:43:51 +01:00
parent 107a9a8467
commit a2e34202d3
2 changed files with 8 additions and 0 deletions

View File

@ -148,6 +148,7 @@ func HandleMinecraftMessage(conn *websocket.Conn, msg []byte) {
logger.Minecraft.Debugln("webCmdID", webCmdID) logger.Minecraft.Debugln("webCmdID", webCmdID)
// TODO: Get minecraft server dest from func
a := &structs.A{WebCmdID: webCmdID, CmdIDFromMinecraftServer: cmdID, DestFromMinecraftServer: 10} a := &structs.A{WebCmdID: webCmdID, CmdIDFromMinecraftServer: cmdID, DestFromMinecraftServer: 10}
webClient.VoiceCmdIDsByBackend = append(webClient.VoiceCmdIDsByBackend, a) webClient.VoiceCmdIDsByBackend = append(webClient.VoiceCmdIDsByBackend, a)
@ -160,6 +161,7 @@ func HandleMinecraftMessage(conn *websocket.Conn, msg []byte) {
logger.Minecraft.Debugln("webCmdID", webCmdID) logger.Minecraft.Debugln("webCmdID", webCmdID)
// TODO: Get minecraft server dest from func
a := &structs.A{WebCmdID: webCmdID, CmdIDFromMinecraftServer: cmdID, DestFromMinecraftServer: 10} a := &structs.A{WebCmdID: webCmdID, CmdIDFromMinecraftServer: cmdID, DestFromMinecraftServer: 10}
webClient.MobileCmdIDsByBackend = append(webClient.MobileCmdIDsByBackend, a) webClient.MobileCmdIDsByBackend = append(webClient.MobileCmdIDsByBackend, a)

View File

@ -31,10 +31,13 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt
if status == kraProtocol.StatusReply { if status == kraProtocol.StatusReply {
if isVoice { if isVoice {
logger.WebVoice.Debugln("Reply from Web Voice")
for _, data := range webClient.VoiceCmdIDsByBackend { for _, data := range webClient.VoiceCmdIDsByBackend {
if data.WebCmdID == cmdID { // forward to target dest if data.WebCmdID == cmdID { // forward to target dest
mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.DestFromMinecraftServer)) mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.DestFromMinecraftServer))
logger.WebVoice.Debugln("Forwarding reply from web voice to mc client", mcClient.Name, "cmdID", cmdID)
raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.CmdIDFromMinecraftServer, 0, webClient.Uuid, 0, "") raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.CmdIDFromMinecraftServer, 0, webClient.Uuid, 0, "")
err = mcClient.SendBinaryMessage(raw) err = mcClient.SendBinaryMessage(raw)
@ -57,10 +60,13 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt
webClient.RemoveVoiceCmdID(cmdID) webClient.RemoveVoiceCmdID(cmdID)
} }
} else { } else {
logger.WebMobile.Debugln("Reply from Web Mobile")
for _, data := range webClient.MobileCmdIDsByBackend { for _, data := range webClient.MobileCmdIDsByBackend {
if data.WebCmdID == cmdID { // forward to target dest if data.WebCmdID == cmdID { // forward to target dest
mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.DestFromMinecraftServer)) mcClient := GetMinecraftClientByName(getMinecraftServerNameByDest(data.DestFromMinecraftServer))
logger.WebMobile.Debugln("Forwarding reply from web mobile to mc client", mcClient.Name, "cmdID", cmdID)
raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.CmdIDFromMinecraftServer, 0, webClient.Uuid, 0, "") raw = kraProtocol.EncodeJavaMessage(kraProtocol.StatusReply, data.CmdIDFromMinecraftServer, 0, webClient.Uuid, 0, "")
err = mcClient.SendBinaryMessage(raw) err = mcClient.SendBinaryMessage(raw)