When I log in using W2BN, battle.net doesn't respond to SID_ENTERCHAT unless I send another packet after it.
For D2DV/D2XP/WAR3/W3XP I've got the bot set up to send SID_JOINCHANNEL after recieving the SID_ENTERCHAT response from battle.net, and that works just fine. Is it safe to assume that the server will always respond immediately to SID_ENTERCHAT?
o.O as far as i've ever noticed it does...
why dont you try sending a b and c at the same time? instead of waiting for a to come back?
You can't join a channel until after you've entered chat. My bot depends does some pretty complex stuff that depends on the response of SID_ENTERCHAT, and if for some reason the server responded out of order, it could cause unknown problems.
Of course, it's extremely rare for that to happen, but I've seen it before.
Does anybody know how the official client behaves? I haven't even got a working copy of Windows right now, so I can't look at it.
i'd help you out but i dont have wc2.. do you see the issue on sc?
No idea; I never bothered to try to get SC working because of warden.
All OLS clients (DRTL/DSHR/W2BN/SSHR/JSTR) send 0x0A, 0x0B, and 0x0C in that order all at once.
that's what i said o.O
Well then I'll just have to hope I never recieve SID_ENTERCHAT late.
I'm just telling him you're right. BTW, I've updated some of the logon sequences, but apparently linking and formatting isn't yet allowed in documents *cough*.
http://bnetdocs.dementedminds.net/?op=doc&did=10
The official clients send the 0x0A and 0x0C in the same function, you can also send the 0x0B (you must, however, in war3/w3xp) after the 0x0A and before the 0x0C. It must be in this order always. Battle.net enforces this with an IPBan for late packet sends.
I made a mistake. Diablo II Sends 0x0B before 0x0A or 0x0C apparently.
andy are you sure? as far as i know all clients send a b c in that order...
I'm working on getting the order of all the clients, and I just did D2XP Open and it was B A C.
From SID_LOGONRESPONSE (S>C):
26 63.241.83.8 1.1.1.100 8 Recv
0000 FF 3A 08 00 00 00 00 00 .:......
27 1.1.1.100 63.241.83.8 8 Send
0000 FF 0B 08 00 50 58 32 44 ....PX2D
28 1.1.1.100 63.241.83.8 33 Send
0000 FF 0A 21 00 52 65 61 6C 69 74 79 52 69 70 70 6C ..!.RealityRippl
0010 65 00 2C 52 65 61 6C 69 74 79 52 69 70 70 6C 65 e.,RealityRipple
0020 00 .
29 63.241.83.8 1.1.1.100 514 Recv
0000 FF 0B 02 02 42 6C 69 7A 7A 61 72 64 20 54 65 63 ....Blizzard Tec
0010 68 20 53 75 70 70 6F 72 74 00 4F 70 65 6E 20 54 h Support.Open T
0020 65 63 68 20 53 75 70 70 6F 72 74 00 42 6C 69 7A ech Support.Bliz
0030 7A 61 72 64 20 43 68 61 74 00 50 75 62 6C 69 63 zard Chat.Public
0040 20 43 68 61 74 00 4C 6F 44 20 54 72 61 64 69 6E Chat.LoD Tradin
0050 67 00 4C 6F 44 20 4C 61 64 64 65 72 00 4C 6F 44 g.LoD Ladder.LoD
0060 20 4C 61 64 64 65 72 20 54 72 61 64 69 6E 67 00 Ladder Trading.
0070 4C 6F 44 20 48 61 72 64 63 6F 72 65 00 4C 6F 44 LoD Hardcore.LoD
0080 20 48 61 72 64 63 6F 72 65 20 54 72 61 64 69 6E Hardcore Tradin
0090 67 00 4C 6F 44 20 50 76 50 00 4C 6F 44 20 42 61 g.LoD PvP.LoD Ba
00A0 72 62 61 72 69 61 6E 20 56 69 6C 6C 61 67 65 00 rbarian Village.
00B0 4C 6F 44 20 42 61 72 62 61 72 69 61 6E 20 54 72 LoD Barbarian Tr
00C0 61 64 69 6E 67 00 4C 6F 44 20 41 6D 61 7A 6F 6E ading.LoD Amazon
00D0 20 43 61 6D 70 00 4C 6F 44 20 41 6D 61 7A 6F 6E Camp.LoD Amazon
00E0 20 54 72 61 64 69 6E 67 00 4C 6F 44 20 4E 65 63 Trading.LoD Nec
00F0 72 6F 6D 61 6E 63 65 72 20 43 72 79 70 74 00 4C romancer Crypt.L
0100 6F 44 20 4E 65 63 72 6F 20 54 72 61 64 69 6E 67 oD Necro Trading
0110 00 4C 6F 44 20 50 61 6C 61 64 69 6E 20 54 65 6D .LoD Paladin Tem
0120 70 6C 65 00 4C 6F 44 20 50 61 6C 61 64 69 6E 20 ple.LoD Paladin
0130 54 72 61 64 69 6E 67 00 4C 6F 44 20 53 6F 72 63 Trading.LoD Sorc
0140 65 72 65 73 73 20 54 6F 77 65 72 00 4C 6F 44 20 eress Tower.LoD
0150 53 6F 72 63 65 72 65 73 73 20 54 72 61 64 69 6E Sorceress Tradin
0160 67 00 4C 6F 44 20 41 73 73 61 73 73 69 6E 20 44 g.LoD Assassin D
0170 65 6E 00 4C 6F 44 20 41 73 73 61 73 73 69 6E 20 en.LoD Assassin
0180 54 72 61 64 69 6E 67 00 4C 6F 44 20 44 72 75 69 Trading.LoD Drui
0190 64 20 47 72 6F 76 65 00 4C 6F 44 20 44 72 75 69 d Grove.LoD Drui
01A0 64 20 54 72 61 64 69 6E 67 00 57 43 47 20 4D 65 d Trading.WCG Me
01B0 72 63 75 72 79 00 57 43 47 20 56 65 6E 75 73 00 rcury.WCG Venus.
01C0 57 43 47 20 4D 61 72 73 00 57 43 47 20 4A 75 70 WCG Mars.WCG Jup
01D0 69 74 65 72 00 57 43 47 20 53 61 74 75 72 6E 00 iter.WCG Saturn.
01E0 57 43 47 20 4E 65 70 74 75 6E 65 00 57 43 47 20 WCG Neptune.WCG
01F0 55 72 61 6E 75 73 00 57 43 47 20 50 6C 75 74 6F Uranus.WCG Pluto
0200 00 00 ..
30 63.241.83.8 1.1.1.100 39 Recv
0000 FF 0A 27 00 52 65 61 6C 69 74 79 52 69 70 70 6C ..'.RealityRippl
0010 65 23 32 00 50 58 32 44 00 52 65 61 6C 69 74 79 e#2.PX2D.Reality
0020 52 69 70 70 6C 65 00 Ripple.
31 1.1.1.100 63.241.83.8 8 Send
0000 FF 46 08 00 00 00 00 00 .F......
32 1.1.1.100 63.241.83.8 20 Send
0000 FF 15 14 00 36 38 58 49 50 58 32 44 00 00 00 00 ....68XIPX2D....
0010 93 88 F8 46 ...F
33 1.1.1.100 63.241.83.8 18 Send
0000 FF 0C 12 00 05 00 00 00 44 69 61 62 6C 6F 20 49 ........Diablo I
0010 49 00 I.