From 3455793b8a1d6265abc035dd14e3eace486c2995 Mon Sep 17 00:00:00 2001 From: olebeck <31539311+olebeck@users.noreply.github.com> Date: Sun, 25 Jun 2023 16:44:26 +0200 Subject: [PATCH] update gophertunnel --- go.mod | 2 +- go.sum | 4 ++++ handlers/packet_logger.go | 3 +-- subcommands/resourcepack-d/resourcepack-d.go | Bin 6940 -> 6963 bytes utils/proxy.go | 6 ++---- utils/replay.go | 10 +++++++++- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index ba225ee..fd644f4 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/bedrock-tool/bedrocktool go 1.20 //replace github.com/sandertv/gophertunnel => ./gophertunnel -replace github.com/sandertv/gophertunnel => github.com/olebeck/gophertunnel v1.30.0-1 +replace github.com/sandertv/gophertunnel => github.com/olebeck/gophertunnel v1.30.0-3 //replace github.com/df-mc/dragonfly => ./dragonfly replace github.com/df-mc/dragonfly => github.com/olebeck/dragonfly v0.9.6-2 diff --git a/go.sum b/go.sum index 5e3fc10..ae85e44 100644 --- a/go.sum +++ b/go.sum @@ -92,6 +92,10 @@ github.com/olebeck/gio v0.0.0-20230607184051-9ab60b08f083 h1:ZnL97gNzNlVxNj7X3fh github.com/olebeck/gio v0.0.0-20230607184051-9ab60b08f083/go.mod h1:8CFQM/4LurRd9G3NUYdacFb9j2pK0LrAyVO2mAZo4mw= github.com/olebeck/gophertunnel v1.30.0-1 h1:GUI2WX48cJKK/UcTLSIRU1O+nG6iURV8/l2KS8GsMsk= github.com/olebeck/gophertunnel v1.30.0-1/go.mod h1:HxQfl/8mZzvjzhekEH8RO6xLAgan9i/wIyrQzw0tIPY= +github.com/olebeck/gophertunnel v1.30.0-2 h1:JbkADJTfpCfC7nL9O08LON0k8OBahfmOdByN3dy/CQE= +github.com/olebeck/gophertunnel v1.30.0-2/go.mod h1:HxQfl/8mZzvjzhekEH8RO6xLAgan9i/wIyrQzw0tIPY= +github.com/olebeck/gophertunnel v1.30.0-3 h1:D3PP7ttzZWgyHmacVMiPslWsTj3UNeRvO1x+5kA97wE= +github.com/olebeck/gophertunnel v1.30.0-3/go.mod h1:HxQfl/8mZzvjzhekEH8RO6xLAgan9i/wIyrQzw0tIPY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= diff --git a/handlers/packet_logger.go b/handlers/packet_logger.go index b537d12..b85ad3d 100644 --- a/handlers/packet_logger.go +++ b/handlers/packet_logger.go @@ -46,7 +46,6 @@ var MutedPackets = []string{ var dirS2C = color.GreenString("S") + "->" + color.CyanString("C") var dirC2S = color.CyanString("C") + "->" + color.GreenString("S") -var pool = packet.NewPool() func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler { var logPlain, logCrypt, logCryptEnc io.WriteCloser @@ -77,7 +76,7 @@ func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler { proxy = pc }, PacketFunc: func(header packet.Header, payload []byte, src, dst net.Addr) { - pk := utils.DecodePacket(header, payload) + pk := utils.DecodePacket(proxy.Server.Pool(), header, payload) if pk == nil { return } diff --git a/subcommands/resourcepack-d/resourcepack-d.go b/subcommands/resourcepack-d/resourcepack-d.go index e7fe9c8bd252f97449293f19b91c29184c6c2252..1a71341683f68568420410877c66aedd32c57fe3 100644 GIT binary patch literal 6963 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 diff --git a/utils/proxy.go b/utils/proxy.go index 0e5fdd0..bcdee75 100644 --- a/utils/proxy.go +++ b/utils/proxy.go @@ -545,9 +545,7 @@ func (p *ProxyContext) Run(ctx context.Context, serverAddress, name string) (err return err } -var pool = packet.NewPool() - -func DecodePacket(header packet.Header, payload []byte) packet.Packet { +func DecodePacket(pool packet.Pool, header packet.Header, payload []byte) packet.Packet { var pk packet.Packet if pkFunc, ok := pool[header.PacketID]; ok { pk = pkFunc() @@ -560,6 +558,6 @@ func DecodePacket(header packet.Header, payload []byte) packet.Packet { logrus.Errorf("%T: %s", pk, recoveredErr.(error)) } }() - pk.Marshal(protocol.NewReader(bytes.NewBuffer(payload), 0)) + pk.Marshal(protocol.NewReader(bytes.NewBuffer(payload), 0, false)) return pk } diff --git a/utils/replay.go b/utils/replay.go index ae5cc41..c46e05b 100644 --- a/utils/replay.go +++ b/utils/replay.go @@ -285,7 +285,7 @@ func (r *replayConnector) loop() { func createReplayConnector(filename string, packetFunc PacketFunc) (r *replayConnector, err error) { r = &replayConnector{ - pool: packet.NewPool(), + pool: minecraft.DefaultProtocol.Packets(true), proto: minecraft.DefaultProtocol, packetFunc: packetFunc, spawn: make(chan struct{}), @@ -315,6 +315,14 @@ func createReplayConnector(filename string, packetFunc PacketFunc) (r *replayCon return r, nil } +func (r *replayConnector) DisconnectOnInvalidPacket() bool { + return false +} + +func (r *replayConnector) DisconnectOnUnknownPacket() bool { + return false +} + func (r *replayConnector) Close() error { r.once.Do(func() { close(r.close)