Originally Posted by
eth0nic
OVER 9000? ;-)
Sure
Anyway here is my HELLO packet, that misc data is the account data that is sent to the logFteStep, and the unknown one is the map itself, it's probably there for the mapeditor (I've never used it).
Code:
class HELLO(Packet):
"""First packet to send after establishing a connection with the server.
It contains informations about the account, client and connection."""
def __init__(self):
Packet.__init__(self)
def loadData(self, data):
self.buildVersion, data = readUTF(data)
self.gameId, data = readInt(data)
self.guid, data = readUTF(data)
self.password, data = readUTF(data)
self.secret, data = readUTF(data)
self.keyTime, data = readInt(data)
size, data = readShort(data)
self.key, data = readBytes(data, size)
size, data = readInt(data)
self.mapdata, data = readUTFBytes(data, size)
self.entrytag, data = readUTF(data)
self.game_net, data = readUTF(data)
self.game_net_user_id, data = readUTF(data)
self.play_platform, data = readUTF(data)
self.platform_token, data = readUTF(data)
self.isExhausted(data)
def getData(self):
data = bytearray()
data = writeUTF(self.buildVersion, data)
data = writeInt(self.gameId, data)
data = writeUTF(self.guid, data)
data = writeUTF(self.password, data)
data = writeUTF(self.secret, data)
data = writeInt(self.keyTime, data)
data = writeShort(len(self.key), data)
data = writeBytes(self.key, data)
data = writeInt(len(self.mapdata), data)
data = writeUTFBytes(self.mapdata, data)
data = writeUTF(self.entrytag, data)
data = writeUTF(self.game_net, data)
data = writeUTF(self.game_net_user_id, data)
data = writeUTF(self.play_platform, data)
data = writeUTF(self.platform_token, data)
return data
def debugString(self):
return 'HELLO:' + \
' buildVersion="' + self.buildVersion + '"' + \
' gameId="' + str(self.gameId) + '"' + \
' guid="' + self.guid + '"' + \
' password="' + self.password + '"' + \
' secret="' + self.secret + '"' + \
' keyTime=' + str(self.keyTime) + \
' key=' + str(binascii.hexlify(self.key), 'ascii')
^And without tags