diff --git a/client/handshake_packet.go b/client/handshake_packet.go index ee266a4..b09ddb8 100644 --- a/client/handshake_packet.go +++ b/client/handshake_packet.go @@ -9,10 +9,14 @@ import ( "github.com/admin-else/strom/proto_generated/v1_21_8" ) -func MakeHandshakePacket(s *proto.Conn, nextState proto_base.State) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) { +func MakeHandshakePacket(c *proto.Conn, nextState proto_base.State) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) { + return MakeHandshakePacketAddr(c, nextState, c.RemoteAddr().String()) +} + +func MakeHandshakePacketAddr(s *proto.Conn, nextState proto_base.State, addr string) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) { p = &v1_21_8.HandshakingToServerPacketSetProtocol{NextState: int32(nextState), ProtocolVersion: s.ProtocolVersion} var portStr string - p.ServerHost, portStr, err = net.SplitHostPort(s.RemoteAddr().String()) + p.ServerHost, portStr, err = net.SplitHostPort(addr) if err != nil { return } diff --git a/client/status.go b/client/status.go index f022b98..7456fa2 100644 --- a/client/status.go +++ b/client/status.go @@ -59,7 +59,7 @@ func StatusRaw(addr string) (s *StatusClient, err error) { s.RegisterUntilLatest(s.OnStatus) s.RegisterUntilLatest(s.OnPong) - p, err := MakeHandshakePacket(s.Conn, proto_base.Status) + p, err := MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr) if err != nil { return } diff --git a/tools/cli/main.go b/tools/cli/main.go index 786ae60..0e9d068 100644 --- a/tools/cli/main.go +++ b/tools/cli/main.go @@ -28,12 +28,14 @@ func Help(args []string) (err error) { } func mainE() (err error) { - slog.SetLogLoggerLevel(slog.LevelDebug) subcommands["help"] = Help // this is here because if it isn't tools/cli/main.go:17:5: initialization cycle for subcommands // tools/cli/main.go:17:5: subcommands refers to Help // tools/cli/main.go:22:6: Help refers to subcommands args := os.Args - args = []string{"TEST", "status", "-addr", "tcpshield.1f2d.net:25565"} + + // Debug stuff + //slog.SetLogLoggerLevel(slog.LevelDebug) + //args = []string{"TEST", "status", "-srv", "-addr", "tcpshield.1f2d.net:25565"} if len(args) < 2 { err = ExpectedASubcommandErr