send message to mc client when connection with destination number is established
parent
91db91cdab
commit
0f61a33a36
|
@ -23,6 +23,8 @@ const (
|
|||
DestPlayersCurrentServer = 11
|
||||
|
||||
DefaultCmdID = 1
|
||||
|
||||
DummyUUID = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
||||
)
|
||||
|
||||
func EncodeWebMessage(status int, cmdID int, cmdNumber int, args interface{}) []byte {
|
||||
|
|
|
@ -3,6 +3,7 @@ package minecraft
|
|||
import (
|
||||
"github.com/gofiber/websocket/v2"
|
||||
"krakatoa.net/backend/modules/cache"
|
||||
"krakatoa.net/backend/modules/kraProtocol"
|
||||
"krakatoa.net/backend/modules/logger"
|
||||
"krakatoa.net/backend/modules/structs"
|
||||
serverCommunication "krakatoa.net/backend/serverCommunication"
|
||||
|
@ -17,10 +18,21 @@ func RunHub() {
|
|||
select {
|
||||
case connection := <-register:
|
||||
servername := connection.Query("s")
|
||||
dest := serverCommunication.GenerateDestForNewMinecraftClient()
|
||||
|
||||
cache.MinecraftClients[servername] = &structs.MinecraftClient{Name: servername, Dest: serverCommunication.GenerateDestForNewMinecraftClient(), Conn: connection}
|
||||
cache.MinecraftClients[servername] = &structs.MinecraftClient{Name: servername, Dest: dest, Conn: connection}
|
||||
|
||||
logger.Minecraft.Debugln("connection registered ", connection.Query("c"), connection)
|
||||
logger.Minecraft.Debugln("connection registered ", connection.Query("c"), connection, "dest:", dest)
|
||||
|
||||
mcClient := serverCommunication.GetMinecraftClientByConn(connection)
|
||||
|
||||
raw := kraProtocol.EncodeJavaMessage(kraProtocol.StatusGet, mcClient.GenerateMinecraftCmdID(), 0, kraProtocol.DummyUUID, 33767, mcClient.Dest)
|
||||
|
||||
err := mcClient.SendBinaryMessage(raw)
|
||||
|
||||
if err != nil {
|
||||
logger.Minecraft.Warnln("failed to send msg to mc client:", mcClient.Name, "dest:", mcClient.Dest)
|
||||
}
|
||||
|
||||
case data := <-broadcast:
|
||||
logger.Minecraft.Debugln("message received", data.Msg)
|
||||
|
|
Loading…
Reference in New Issue