update gophertunnel

This commit is contained in:
olebeck 2023-06-25 16:44:26 +02:00
parent d3dc870a8a
commit 3455793b8a
6 changed files with 17 additions and 8 deletions

2
go.mod
View File

@ -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

4
go.sum
View File

@ -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=

View File

@ -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
}

View File

@ -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
}

View File

@ -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)