diff --git a/modules/structs/MinecraftClient.go b/modules/structs/MinecraftClient.go index 654d2d1..20a34d8 100644 --- a/modules/structs/MinecraftClient.go +++ b/modules/structs/MinecraftClient.go @@ -52,8 +52,8 @@ func (mcClient *MinecraftClient) GenerateMinecraftCmdID() int { return mcClient.CurrentCmdIDIndexByBackend } -func (mcClient *MinecraftClient) AddMessageToSendQueue(raw []byte, cmdID int, originDest int) { - mcClient.SendQueueMessages = append(mcClient.SendQueueMessages, &SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, OriginDest: originDest, Time: time.Now()}) +func (mcClient *MinecraftClient) AddMessageToSendQueue(originDest int, originCmdID int, raw []byte, cmdID int) { + mcClient.SendQueueMessages = append(mcClient.SendQueueMessages, &SendQueueMessage{MessageRaw: raw, CmdID: cmdID, TrySendCount: 0, OriginDest: originDest, OriginCmdID: originCmdID, Time: time.Now()}) } func (mcClient *MinecraftClient) IsCmdIDInSendMessagesQueue(cmdID int) bool { diff --git a/routers/api/v1/minecraft/minecraft.go b/routers/api/v1/minecraft/minecraft.go index 861ea86..52dae18 100644 --- a/routers/api/v1/minecraft/minecraft.go +++ b/routers/api/v1/minecraft/minecraft.go @@ -12,7 +12,7 @@ func RestartServer(c *fiber.Ctx) error { if c.Params("accessKey") == serverConfig.Cfg.Servers.MinecraftServer.AccessKey { logger.Minecraft.Infoln("RestartServer msg", c.Params("serverName"), c.Hostname(), c.IP()) - serverCommunication.SendMessageToMinecraftServer(0, kraProtocol.StatusSend, kraProtocol.DestProxy, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 33329, c.Params("serverName")) + serverCommunication.SendMessageToMinecraftServer(0, 0, kraProtocol.StatusSend, kraProtocol.DestProxy, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 33329, c.Params("serverName")) return c.SendStatus(fiber.StatusOK) } diff --git a/serverCommunication/minecraft.go b/serverCommunication/minecraft.go index 6683beb..c2d3fb4 100644 --- a/serverCommunication/minecraft.go +++ b/serverCommunication/minecraft.go @@ -238,7 +238,7 @@ func SendMessageToServer(dest int, playerUuid string, args string) { } } -func SendMessageToMinecraftServer(originDest, status int, dest int, playerUuid string, cmdNumber int, args string) error { +func SendMessageToMinecraftServer(originDest int, originCmdID int, status int, dest int, playerUuid string, cmdNumber int, args string) error { cmdID := kraProtocol.DefaultCmdID serverName := getMinecraftServerNameByDest(dest) @@ -263,7 +263,7 @@ func SendMessageToMinecraftServer(originDest, status int, dest int, playerUuid s } if status == kraProtocol.StatusGet { - mcClient.AddMessageToSendQueue(raw, cmdID, originDest) + mcClient.AddMessageToSendQueue(originDest, originCmdID, raw, cmdID) } return nil diff --git a/serverCommunication/web.go b/serverCommunication/web.go index 2a810b7..678e4d9 100644 --- a/serverCommunication/web.go +++ b/serverCommunication/web.go @@ -130,7 +130,7 @@ func HandleWebMessage(isVoice bool, conn *websocket.Conn, uuid string, msg []byt originDest = kraProtocol.DestMobile } - err = SendMessageToMinecraftServer(originDest, status, dest, uuid, cmdNumber, args) + err = SendMessageToMinecraftServer(originDest, cmdID, status, dest, uuid, cmdNumber, args) if err != nil { raw := kraProtocol.EncodeWebMessage(kraProtocol.StatusErrTryAgain, cmdID, cmdNumber, args)