• Welcome to Valhalla Legends Archive.
 

>> SID_WARCRAFTGENERAL

Started by Flexx_rus, December 03, 2006, 11:03 AM

Previous topic - Next topic

Flexx_rus

1. Sucommand 0x00. Start ladder game search.

I posted it to BnetDocs as comment.

Client -> Server:
(DWORD) Cookie
(5 bytes) Always 0, Unknown
(BYTE) Game type*
(WORD) Enabled and disabled maps**
(WORD) Unknown (0)
(BYTE) Unknown, always 08.
(DWORD) Tick count***
(BYTE) Game race****
(3 BYTES) Unknown (0), but maybe Game race is DWORD.

* Game type:
00 - 1x1
01 - 2x2
02 - 3x3
03 - 4x4
04 - FFA

** Enabled and disabled maps
12 warcraft maps. Bit = 1 - enable, 0 - disable. For examlpe 0FFF - enable all maps.

*** Use GetTickCount() funcion to get this value.

**** Game race:
01 - Human
02 - Orc
04 - Night Elf
08 - Undead
20 - Random

==========================================================
Server -> Client:

Subcommand 0x00, start ladder game search.
(DWORD) Cookie
(BYTE) Status*
(DWORD) Average game search time in seconds.
(BYTE) Unknown (0)

* Known status:
0x00 - Search game started
0x04 - Banned CD-Key
==========================================================
When game found server send 0x01 submessage. Now i do not fully know fields of this message.


Subcommand 0x07:
I think it is tournament data. (Standart 1x1, Sponsor: Blizzard Entertament, Time 03.12.2006 16-00)
C->S

0040         ff 44 09 00 [07] [01 00 00 00]                 ...D.......

S->C

0040         ff 44 1d 00 [07] [01 00 00 00] 01 00 88 ae f0  ++.D............
0050   da 16 c7 01 02 30 00 00 00 00 00 00 02 08 00     .....0.........

Maybe 01 00 88 ae f0 da 16 c7 is FILETIME?

Updated 5 dec 23-57 :
Subcommand 0x00, start ladder game search. (Server -> Client)
You can download FlexxBot from here: http://flexx.mlpa.ru/flexxbot016en.zip

Flexx_rus

Subcommand 0x02:

Client -> Server:

(DWORD) Cookie
(BYTE) Count of request records; maybe 1-5;
For each record:
(4 CHARS) Record; Maybe 'LRU'#0, 'PAM'#0, 'CSED', 'RDAL', 'EPYT'
(DWORD) Maybe 0, if you want get special server answer.


Server->Client

(DWORD) Cookie
(BYTE) Count of request records; maybe 1-5;
For each record:
(4 CHARS) Record; Maybe 'LRU'#0, 'PAM'#0, 'CSED', 'RDAL'
(DWORD) Unknown
(WORD) Decompressed data size
(WORD) Compressed data size
(BYTE[]) Zlib compressed data.
(BYTE) (0) End of compressed data. But somtimes not present.


I don't know what is compressed data. After decompress it looks like:
For 'MAP':

was created by my packet buffer:
00000000 90 EA 8D 00 6C F7 12 00 12 0B 43 00 5C 36 8D 00        ....l.....C.\6..
00000010 05 92 42 00 A8 F7 12 00 F9 92 42 00 5C 36 8D 00        ..B.......B.\6..
00000020 77 09 43 00 A8 F7 12 00 A8 F7 12 00 5C 36 8D 00        w.C.........\6..
00000030 EE 04 1E 00 00 00 00 00 20 00 00 00 70 F6 12 00        ........ ...p...
00000040 00 C0 D3 77 0A 80 00 00 FC F6 12 00 F6 74 D4 77        ...w.€.......t.w
00000050 0A 80 00 00 EE 04 1E 00 FC FF FF FF 00 00 00 00        .€..............
00000060 00 00 00 00 84 F7 12 00 72 6C D4 77 B0 F6 12 00        ........rl.w....
00000070 20 00 00 00 A8 F6 12 00 C9 0A 00 00 0E B0 D5 77         ..............w
00000080 5A B0 D5 77 90 93 5E 00 15 02 00 00 00 00 00 00        Z..w..^.........
00000090 00 00 00 00 01 00 00 00 0E B0 D5 77 F0 F6 12 00        ...........w....
000000A0 34 87 D3 77 EE 04 1E 00 15 02 00 00 00 00 00 00        4..w............
000000B0 00 00 00 00 0E B0 D5 77 CD AB BA DC 00 00 00 00        .......w........
000000C0 2C F7 12 00 0E B0 D5 77 58 F7 12 00 D9 8B D3 77        ,......wX......w
000000D0 00 F0 FD 7F 58 F7 12 00 20 00 00 00 58 F7 12 00        ...X... ...X...
000000E0 F8 FB FD 7F 00 00 00 00 38 F7 12 00 AA F0 90 7C        .......8......|
000000F0 00 FC FD 7F 34 00 00 00 44 F7 12 00 5C 12 8D 00        ...4...D...\...
00000100 1A 00 00 00 F8 FB FD 7F 04 FA 12 00 00 00 00 00        ...............
00000110 C1 D9 90 7C 09 CB 80 7C 00 FC FD 7F 34 00 00 00        ...|..€|...4...
00000120 22 CB 80 7C 04 FA 12 00 00 00 00 00 EE 04 1E 00        ".€|............
00000130 1A 00 1B 00 5C 12 8D 00 00 00 00 00 0E B0 D5 77        ....\..........w
00000140 78 F7 12 00 B8 F7 12 00 84 38 43 00 61 C0 00 00        x........8C.a...
00000150 8C F7 12 00 46 BA D3 77 90 93 5E 00 A8 F7 12 00        ....F..w..^.....
00000160 8C F9 12 00 5C 36 8D 00 C9 90 42 00 5C 36 8D 00        ....\6....B.\6..
00000170 8C F9 12 00 5C 36 8D 00 47 07 43 00 00 00 00 00        ....\6..G.C.....
00000180 11 BD 00 00 EE 04 00 00 EE 04 1E 00 00 00 00 00        ................
00000190 0C F9 12 00 BC 39 43 00 EE 04 1E 00 04 FA 12 00        .....9C.........
000001A0 30 1E 8D 00 8C F9 12 00 14 40 43 00 8C F9 12 00        0........@C.....
000001B0 30 1E 8D 00 A5 A5 44 00 30 1E 8D 00 8C F9 12 00        0.....D.0.......
000001C0 77 09 43 00 04 FA 12 00 8C F9 12 00 30 1E 8D 00        w.C.........0...
000001D0 00 00 00 00 01 00 00 00 50 F9 12 00 68 39 43 00        ........P...h9C.
000001E0 0E B0 D5 77 EE 04 1E 00 F3 00 00 00 00 00 00 00        ...w............
000001F0 00 00 00 00 50 F9 12 00 B8 F9 12 00 5C 36 8D 00        ....P.......\6..
00000200 B8 F9 12 00 77 09 43 00 B8 F9 12 00 B8 F9 12 00        ....w.C.........
00000210 5C 36 8D 00 68 39 43 00 0E B0 D5 77 EE 04 1E 00        \6..h9C....w....
00000220 F3 00 00 00 01 00 00 00 00 00 00 00 88 F9 12 00        ................
00000230 F0 F9 12 00 5C 36 8D 00 F0 F9 12 00 77 09 43 00        ....\6......w.C.
00000240 F0 F9 12 00 F0 F9 12 00 5C 36 8D 00 16 35 43 00        ........\6...5C.
00000250 1E 35 43 00 34 F9 12 00 28 35 43 00 98 F8 12 00        .5C.4...(5C.....
00000260 18 F9 12 00 D5 0F A2 00                                                       ........


For 'URL':

00000000 A0 24 8C 00 6C F7 12 00 12 0B 43 00 5C 36 8C 00        .$..l.....C.\6..
00000010 05 92 42 00 A8 F7 12 00 F9 92 42 00 5C 36 8C 00        ..B.......B.\6..
00000020 77 09 43 00 A8 F7 12 00 A8 F7 12 00 5C 36 8C 00        w.C.........\6..
00000030 F6 04 4C 00 00 00 00 00 20 00 00 00 70 F6 12 00        ..L..... ...p...
00000040 00 C0 D3 77 0A 80 00 00 FC F6 12 00 F6 74 D4 77        ...w.€.......t.w
00000050 0A 80 00 00 F6 04 4C 00 FC FF FF FF 00 00 00 00        .€....L.........
00000060 00 00 00 00 84 F7 12 00 72 6C D4 77 B0 F6 12 00        ........rl.w....
00000070 20 00 00 00 A8 F6 12 00 4C 85 00 00 0E B0 D5 77         .......L......w
00000080 5A B0 D5 77 A0 5D 5F 00 15 02 00 00 00 00 00 00        Z..w.]_.........
00000090 00 00 00 00 01 00 00 00 0E B0 D5 77 F0 F6 12 00        ...........w....
000000A0 34 87 D3 77 F6 04 4C 00 15 02 00 00 00 00 00 00        4..w..L.........
000000B0 00 00 00 00 0E B0 D5 77 CD AB BA DC 00 00 00 00        .......w........
000000C0 2C F7 12 00 0E B0 D5 77 58 F7 12 00 D9 8B D3 77        ,......wX......w
000000D0 00 F0 FD 7F 58 F7 12 00 20 00 00 00 58 F7 12 00        ...X... ...X...
000000E0 F8 FB FD 7F 00 00 00 00 38 F7 12 00 AA F0 90 7C        .......8......|
000000F0 00 FC FD 7F 34 00 00 00 44 F7 12 00 5C 12 8C 00        ...4...D...\...
00000100 1A 00 00 00 F8 FB FD 7F 04 FA 12 00 00 00 00 00        ...............
00000110 C1 D9 90 7C 09 CB 80 7C 00 FC FD 7F 34 00 00 00        ...|..€|...4...
00000120 22 CB 80 7C 04 FA 12 00 00 00 00 00 F6 04 4C 00        ".€|..........L.
00000130 1A 00 1B 00 5C 12 8C 00 00 00 00 00 0E        ....\........

I don't know how to encode this data. Somebody know it? If it need i can post uncompressed  'CSED', 'RDAL',  'EPYT'.
You can download FlexxBot from here: http://flexx.mlpa.ru/flexxbot016en.zip

topaz

If the above research can be verified by someone else, I think it would make a good addition to BnetDocs.
RLY...?

Flexx_rus

#3
Two days i reserch 0x07 subcommand.

when login. C->S
0040         ff 44 09 00 [07] [01 00 00 00]                 ...D.......

Answer S->C (1) (Standart 1x1, Sponsor: Blizzard Entertament, Time 03.12.2006 16-00, My time zone +3)
0040         ff 44 1d 00 [07] [01 00 00 00] 01 [00 88 ae f0  ++.D............
0050   da 16 c7 01] 02 30 00 00 00 00 00 00 02 08 00         .....0.........

Answer S->C (2) (Gnoll Wood, 2x2, Sponsor: Blizzard Entertament, Time 05.12.2006 19-30, My time zone +3)
On Europe:
0040         ff 44 1d 00 [07] [01 00 00 00] 01 [00 74 b1 9b  ...D.........t..
0050   8a 18 c7 01] a0 3c 00 00 00 00 00 00 02 09 00         .....<.........

Answer S->C (2) (Gnoll Wood, 2x2, Sponsor: Blizzard Entertament, Time 06.12.2006 0-30, My time zone +3)
On USEast:
0040         ff 44 1d 00 [07] [01 00 00 00] [01] [00 7c 87 84  ...D.........|..
0050   b4 18 c7 01] e9 76 00 00 00 00 00 00 02 09 00           .....v.........

When tournament avairible:
0040         ff 44 1d 00 [07] [01 00 00 00] [02] [00 a8 93 cc  {..D............
0050   8e 18 c7 01] e8 06 00 00 00 00 00 08 02 09 00           ...............

When tournament not avarible:
0040         ff 44 1d 00 [07] [01 00 00 00] [00] [00 00 00 00  ...D............
0050   00 00 00 00] 00 00 00 00 00 00 00 00 00 00 00     ...............



Result: After analize this this information i see some dependence:

Subcommand 0x07. Tournament info (100%).

Client -> Server (request tournament info)
(DWORD) Cookie

Server -> Client
   (DWORD) Cookie
   (BYTE) Tournament status*
   (FILETIME) Average time**
   (WORD) Unknown
   (WORD) Unknown (0x00)
   (BYTE) Current wins
   (BYTE) Current losses
   (BYTE) Current draws
   (BYTE) Unknown (0x08)
   (BYTE) Unknown (0x02)
   (BYTE) Unknown, but i think it dependence of map and maybe tournament type.
   (BYTE) Unknown (0x00)

*Tournament status:
0x00: Tournament not available. All next fields in zero.
0x01: Before tournament satated. Average time - time of start signup tournament.
0x02: Time of end tournament. Average time - time of end signup tournament.
0x03: Tournament started. Average time - prelim game last call time.
0x04: Prelim Game Last Call. Average time - time of this period end.

**The Battle.net time. To convert to your local time use time zone.


Need more tournaments to decode this message. I will edit this post, when i research new fields.
You can download FlexxBot from here: http://flexx.mlpa.ru/flexxbot016en.zip

Flexx_rus

Why nobody discuss? This message not interesting?
You can download FlexxBot from here: http://flexx.mlpa.ru/flexxbot016en.zip

Spilled


Flexx_rus

Maybe it is not interesting, but i want to add to my bot tournament check feauture.
You can download FlexxBot from here: http://flexx.mlpa.ru/flexxbot016en.zip

MyndFyre

Quote from: Spilled on December 06, 2006, 11:59 AM
Nope.
You're an idiot.

Quote from: Flexx_rus on December 06, 2006, 09:48 AM
Why nobody discuss? This message not interesting?
I would like to, but my job has got me on three projects that were due yesterday.  I'm swamped right now, and don't have the time for Bnet.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

Hero

Quote from: Flexx_rus on December 06, 2006, 01:20 PM
Maybe it is not interesting, but i want to add to my bot tournament check feauture.
I'm actually finding it very useful, but I have nothing else to comment on  :D