send message to mc client when connection with destination number is established
parent
91db91cdab
commit
0f61a33a36
|
@ -23,6 +23,8 @@ const (
|
||||||
DestPlayersCurrentServer = 11
|
DestPlayersCurrentServer = 11
|
||||||
|
|
||||||
DefaultCmdID = 1
|
DefaultCmdID = 1
|
||||||
|
|
||||||
|
DummyUUID = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
||||||
)
|
)
|
||||||
|
|
||||||
func EncodeWebMessage(status int, cmdID int, cmdNumber int, args interface{}) []byte {
|
func EncodeWebMessage(status int, cmdID int, cmdNumber int, args interface{}) []byte {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package minecraft
|
||||||
import (
|
import (
|
||||||
"github.com/gofiber/websocket/v2"
|
"github.com/gofiber/websocket/v2"
|
||||||
"krakatoa.net/backend/modules/cache"
|
"krakatoa.net/backend/modules/cache"
|
||||||
|
"krakatoa.net/backend/modules/kraProtocol"
|
||||||
"krakatoa.net/backend/modules/logger"
|
"krakatoa.net/backend/modules/logger"
|
||||||
"krakatoa.net/backend/modules/structs"
|
"krakatoa.net/backend/modules/structs"
|
||||||
serverCommunication "krakatoa.net/backend/serverCommunication"
|
serverCommunication "krakatoa.net/backend/serverCommunication"
|
||||||
|
@ -17,10 +18,21 @@ func RunHub() {
|
||||||
select {
|
select {
|
||||||
case connection := <-register:
|
case connection := <-register:
|
||||||
servername := connection.Query("s")
|
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:
|
case data := <-broadcast:
|
||||||
logger.Minecraft.Debugln("message received", data.Msg)
|
logger.Minecraft.Debugln("message received", data.Msg)
|
||||||
|
|
Loading…
Reference in New Issue