Author | Message | Time |
---|---|---|
ptn | There was once information posted about those packets here, but few fields were not interpreted. Anyone knows what their meaning is? I tried various CRC16, for whole and parts of the packets, xoring various parts, and got nothing similiar. #define W3GS_CLIENTSYNC 0x27 // Clients Sync packets (only if packet size = 9) struct sW3GS_CLIENTSYNC { BYTE unknown; // most of the time 0, probably sync too. I don't really know if this extra byte is at end, and what all the fields mean SHORT sync; // ? SHORT crc16; // ? }; #define W3GS_CLIENTACTREQ 0x26 // Client requests action struct sW3GS_CLIENTACTREQ { SHORT sync; // dont know - maybe sync value SHORT crc16; // possible crc16? BYTE subPktData[1]; // sub packet data - consist game command }; #define W3GS_HOSTSYNC 0x0C // Host Sync packets or/with actions (only sync when packet size = 6) #define W3GS_HOSTACT 0x0C struct sW3GS_HOSTACT { SHORT sync; // 0xfa | 0x6D | 0x6E | 0x7D - time slot in ms, usually ~250 for battle.net 100 for lan/listchecker SHORT crc16; // possible crc16 value // command time in ticks? BYTE playerNum; // 1 (for host) subPktsArray[]{ SHORT subPktSize; // sub packet size = packet size - 11 // multiple subpackets allowed, each has size in front BYTE subPktData[1]; // sub packet data - consist game command } }; Usually packets look like that (these are real, in order of appearance - sync response/sync req): f7 27 09 00 a8 5f ce 03 02 f7 0c 06 00 fa 00 <-- this is fully understood 0xfa = 250, it must be sync f7 27 09 00 18 3a 1a f4 8c <-- this is what I'm interested in, probably first bytes are sync response, but why 5 bytes? Does not seem too change like GetTickCount, does not increase like number of packets or bytes f7 0c 06 00 fa 00 What could it be? | July 18, 2008, 6:25 PM |