hch
2025-10-14 47813c8aef184ab6bc6f4556d2a18303a2a31d47
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/Protocol/MergeServerRecvProtocol.py
@@ -344,10 +344,14 @@
        return DumpString
    
    
#向跨服服务器发送自定义封包#tagLPStringData
#------------------------------------------------------
#服务器与服务器间的自定义跨服封包#tagLPStringData
class  tagLPStringData(Structure):
    Type = 0    #(BYTE Type)//类型
    DirType = 0    #(BYTE DirType)//0全广播,1通知主服务器排除合服子服,2通知服务器包含合服子服, 3通知跨服服务器
    ServerLen = 0    #(DWORD ServerLen)
    ServerList = ""    #(String ServerList)//服务器列表格式可以是 [(1,10),13,16,(22,30)]
    DataLen = 0    #(DWORD DataLen)
    Data = ""    #(String Data)//自定义消息
    data = None
@@ -359,12 +363,18 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.DirType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ServerLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerList,_pos = CommFunc.ReadString(_lpData, _pos,self.ServerLen)
        self.DataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Data,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
        return _pos
    def Clear(self):
        self.Type = 0
        self.DirType = 0
        self.ServerLen = 0
        self.ServerList = ""
        self.DataLen = 0
        self.Data = ""
        return
@@ -372,6 +382,9 @@
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        length += 4
        length += len(self.ServerList)
        length += 4
        length += len(self.Data)
@@ -380,6 +393,9 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Type)
        data = CommFunc.WriteBYTE(data, self.DirType)
        data = CommFunc.WriteDWORD(data, self.ServerLen)
        data = CommFunc.WriteString(data, self.ServerLen, self.ServerList)
        data = CommFunc.WriteDWORD(data, self.DataLen)
        data = CommFunc.WriteString(data, self.DataLen, self.Data)
        return data
@@ -387,17 +403,21 @@
    def OutputString(self):
        DumpString = '''
                                Type:%d,
                                DirType:%d,
                                ServerLen:%d,
                                ServerList:%s,
                                DataLen:%d,
                                Data:%s
                                '''\
                                %(
                                self.Type,
                                self.DirType,
                                self.ServerLen,
                                self.ServerList,
                                self.DataLen,
                                self.Data
                                )
        return DumpString
#------------------------------------------------------
#汇报玩家数据 #tagLPPlayerData