From 3d34ad59e98feeee768418932819ddb0f60399bc Mon Sep 17 00:00:00 2001 From: adman Date: Wed, 29 Apr 2026 18:31:36 +0200 Subject: [PATCH] allow for custom kick status message --- server/kicker.go | 12 +++++++----- server/server.go | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/server/kicker.go b/server/kicker.go index 3935320..1cba81e 100644 --- a/server/kicker.go +++ b/server/kicker.go @@ -17,7 +17,7 @@ var ( CantKickInStateErr = errors.New("cant kick in this state") ) -func Kick(c *proto.Conn, reason *text.Component) (err error) { +func Kick(c *proto.Conn, reason *text.Component, status string) (err error) { if c.Actor != proto_base.Servee { err = NotClientErr return @@ -26,10 +26,12 @@ func Kick(c *proto.Conn, reason *text.Component) (err error) { case proto_base.Handshaking: err = CantKickInStateErr case proto_base.Status: - var b []byte - b, err = reason.MarshalJSON() - if err != nil { - return + var b = []byte(status) + if status == "" { + b, err = reason.MarshalJSON() + if err != nil { + return + } } err = c.Send(&v1_21_8.StatusToClientPacketServerInfo{Response: fmt.Sprintf("{\"description\":%s}", string(b))}) case proto_base.Login: diff --git a/server/server.go b/server/server.go index eb8ce67..6e58ac8 100644 --- a/server/server.go +++ b/server/server.go @@ -37,7 +37,7 @@ func ServeClient(cNet net.Conn, factory Factory) { return } if err != nil { - err = Kick(c, text.Pretty(err.Error())) + err = Kick(c, text.Pretty(err.Error()), "") } } @@ -79,7 +79,7 @@ func StartServerWithOnConn(listenAddr string, onConn func(c *proto.Conn) (err er running = false } if connErr != nil { - connErr = Kick(c, text.Pretty(connErr.Error())) + connErr = Kick(c, text.Pretty(connErr.Error()), "") } }() }