add recover in debug

This commit is contained in:
olebeck 2022-09-05 13:35:18 +02:00
parent dab34bcf58
commit 5484bbad52
2 changed files with 11 additions and 0 deletions

View File

@ -40,6 +40,9 @@ func (c *DebugProxyCMD) Execute(ctx context.Context, f *flag.FlagSet, _ ...inter
filters := strings.Split(c.filter, ",") filters := strings.Split(c.filter, ",")
if len(filters) > 0 { if len(filters) > 0 {
for _, v := range filters { for _, v := range filters {
if len(v) == 0 {
continue
}
if string(v[0]) == "*" { if string(v[0]) == "*" {
v = v[1:] v = v[1:]
} }

View File

@ -39,6 +39,7 @@ var MutedPackets = []string{
"packet.Animate", "packet.Animate",
"packet.NetworkStackLatency", "packet.NetworkStackLatency",
"packet.InventoryTransaction", "packet.InventoryTransaction",
"packet.PlaySound",
} }
var ExtraVerbose []string var ExtraVerbose []string
@ -50,6 +51,13 @@ func PacketLogger(header packet.Header, payload []byte, src, dst net.Addr) {
} else { } else {
pk = &packet.Unknown{PacketID: header.PacketID} pk = &packet.Unknown{PacketID: header.PacketID}
} }
defer func() {
if recoveredErr := recover(); recoveredErr != nil {
logrus.Errorf("%T: %w", pk, recoveredErr.(error))
}
}()
pk.Unmarshal(protocol.NewReader(bytes.NewBuffer(payload), 0)) pk.Unmarshal(protocol.NewReader(bytes.NewBuffer(payload), 0))
pk_name := reflect.TypeOf(pk).String()[1:] pk_name := reflect.TypeOf(pk).String()[1:]