From bc12f4cd3b8e7a5cafd3f25cb3f6c0d6e418b0bc Mon Sep 17 00:00:00 2001 From: wish Date: Mon, 27 Nov 2023 21:03:26 +1100 Subject: [PATCH] fix DecoMyset responses in legacy versions --- server/channelserver/handlers_house.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/channelserver/handlers_house.go b/server/channelserver/handlers_house.go index 9dc51995d..35ebfa308 100644 --- a/server/channelserver/handlers_house.go +++ b/server/channelserver/handlers_house.go @@ -252,16 +252,21 @@ func handleMsgMhfLoadDecoMyset(s *Session, p mhfpacket.MHFPacket) { s.logger.Error("Failed to load decomyset", zap.Error(err)) } if len(data) == 0 { + data = []byte{0x01, 0x00} if s.server.erupeConfig.RealClientMode < _config.G10 { data = []byte{0x00, 0x00} } - data = []byte{0x01, 0x00} } doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSaveDecoMyset(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfSaveDecoMyset) + // TODO: Backwards compatibility for DecoMyset + if s.server.erupeConfig.RealClientMode < _config.ZZ { + doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) + return + } // https://gist.github.com/Andoryuuta/9c524da7285e4b5ca7e52e0fc1ca1daf var loadData []byte bf := byteframe.NewByteFrameFromBytes(pkt.RawDataPayload[1:]) // skip first unk byte