diff --git a/mcproto/decode.go b/mcproto/decode.go index 6032f52..7b752d5 100644 --- a/mcproto/decode.go +++ b/mcproto/decode.go @@ -2,6 +2,8 @@ package mcproto import ( "bytes" + "strings" + "github.com/pkg/errors" ) @@ -29,6 +31,9 @@ func DecodeHandshake(data interface{}) (*Handshake, error) { return nil, err } + // Forge Mod Loader adds some data after the server address. Truncate it. + handshake.ServerAddress, _, _ = strings.Cut(handshake.ServerAddress, string(rune(0))) + handshake.ServerPort, err = ReadUnsignedShort(buffer) if err != nil { return nil, err