Valhalla Legends Forums Archive | Battle.net Bot Development | No Response to SID_ENTERCHAT

AuthorMessageTime
shadypalm88
I have been following the login sequence listed on bnetdocs for W2BN/STAR/SEXP/etc, so my bot is sending them and expecting them in the same order. The only difference between my bot's sequence and bnetdocs' is my bot uses SID_LOGONRESPONSE2 instead of SID_LOGONRESPONSE.

So, after I recieve SID_LOGONRESPONSE2, I send SID_ENTERCHAT (0x0A). Here is an example packet my bot is sending:[code][Packet C->S] FF 0A 0E 00 53 4F 29 44 61 52 4B 28 00 00[/code]
After I send this, Battle.Net does not disconnect me, but it doesn't respond to the packet either. Also Battle.Net continues sending SID_PING. Any ideas as to why this may be happening?

Edit: I have also tried with SID_LOGONRESPONSE, and with sending SID_UDPPINGRESPONSE with the ASCII values corresponding to "bnet". Same result.
November 7, 2003, 1:42 AM
Myndfyr
I have successfully implemented SID_LOGINRESPONSE (0x29 IIRC) and SID_LOGINRESPONSE2 (0x3a IIRC) in my bot and used SID_ENTERCHAT (0x0a) successfully with both.
November 7, 2003, 3:17 AM
shadypalm88
If this helps at all, here's my bot's BNCS packet sequence:
[color=aqua]C->S SID_AUTH_INFO 0x50[/color]
[color=lime]S->C SID_PING 0x25[/color]
[color=aqua]C->S SID_PING 0x25[/color]
[color=lime]S->C SID_AUTH_INFO 0x50[/color]
[color=aqua]C->S SID_AUTH_CHECK 0x51[/color]
[color=lime]S->C SID_AUTH_CHECK 0x51[/color] - Passed.
[color=aqua]C->S SID_LOGONRESPONSE2 0x3a[/color]
[color=lime]S->C SID_LOGONRESPONSE2 0x3a[/color] - Login accepted.
[color=aqua]C->S SID_UDPPINGRESPONSE 0x14[/color]
[color=aqua]C->S SID_ENTERCHAT 0x0a[/color]
November 7, 2003, 3:48 AM
iago
[quote author=shadypalm88 link=board=17;threadid=3458;start=0#msg27845 date=1068176912]
If this helps at all, here's my bot's BNCS packet sequence:
[color=aqua]C->S SID_AUTH_INFO 0x50[/color]
[color=lime]S->C SID_PING 0x25[/color]
[color=aqua]C->S SID_PING 0x25[/color]
[color=lime]S->C SID_AUTH_INFO 0x50[/color]
[color=aqua]C->S SID_AUTH_CHECK 0x51[/color]
[color=lime]S->C SID_AUTH_CHECK 0x51[/color] - Passed.
[color=aqua]C->S SID_LOGONRESPONSE2 0x3a[/color]
[color=lime]S->C SID_LOGONRESPONSE2 0x3a[/color] - Login accepted.
[color=aqua]C->S SID_UDPPINGRESPONSE 0x14[/color]
[color=aqua]C->S SID_ENTERCHAT 0x0a[/color]
[/quote]

I love the lime/aqua theme.. I really do :)
November 7, 2003, 4:30 AM
Kp
Shady: you do realize you also need to join the channel, right? Use 0xc to do that. SID_ENTERCHAT doesn't actually put you in a channel (in fact, I'm not sure what it does for newer clients; with Diablo and DSHR, it was used to specify your logon name and statstring. After passwords were implemented, it still provided statstring.)
November 7, 2003, 10:03 PM
shadypalm88
Yeah, I do realize that, but shouldn't this still give a reply, telling me if I'm a #2, etc, even on a CD-Key'd client? It's set to join the home channel after it recieves a reply, but I'll try beforehand, see if I don't get IP-banned.
November 7, 2003, 11:56 PM
shadypalm88
Hell, nevermind, it joined the home channel. Thanks, that really had me stuck.

But, on a sidenote, should it be sending a reply?
November 7, 2003, 11:59 PM
Kp
I believe you do get a reply, but I don't recall for sure; however, if you look at the real clients, they slam out 0xa, 0xb, and 0xc all at once, then wait for the server to react.
November 8, 2003, 2:21 AM
Myndfyr
[quote author=Kp link=board=17;threadid=3458;start=0#msg27981 date=1068242621]
Shady: you do realize you also need to join the channel, right? Use 0xc to do that. SID_ENTERCHAT doesn't actually put you in a channel (in fact, I'm not sure what it does for newer clients; with Diablo and DSHR, it was used to specify your logon name and statstring. After passwords were implemented, it still provided statstring.)
[/quote]

I'm pretty sure I don't send a "join channel" message to Battle.net, just SID_ENTERCHAT upon authentication. It joins the game-default channel (for example, Brood War joins Brood War USA-1 or the like), or since I'm in a Warcraft III clan, it joins the clan channel. It also sends a SID_CHATEVENT (0x0f) with the join channel message that I joined the channel.
November 8, 2003, 6:11 AM
Soul Taker
[quote author=Myndfyre link=board=17;threadid=3458;start=0#msg28083 date=1068271916]
[quote author=Kp link=board=17;threadid=3458;start=0#msg27981 date=1068242621]
Shady: you do realize you also need to join the channel, right? Use 0xc to do that. SID_ENTERCHAT doesn't actually put you in a channel (in fact, I'm not sure what it does for newer clients; with Diablo and DSHR, it was used to specify your logon name and statstring. After passwords were implemented, it still provided statstring.)
[/quote]

I'm pretty sure I don't send a "join channel" message to Battle.net, just SID_ENTERCHAT upon authentication. It joins the game-default channel (for example, Brood War joins Brood War USA-1 or the like), or since I'm in a Warcraft III clan, it joins the clan channel. It also sends a SID_CHATEVENT (0x0f) with the join channel message that I joined the channel.
[/quote]
You get to game-default and War3 clan channels by, in fact, sending 0x0c to join a channel.
November 8, 2003, 12:42 PM
shadypalm88
Just following up... for some reason, after I made it send SID_JOINCHANNEL without waiting for SID_ENTERCHAT, I started getting SID_ENTERCHAT replies. I took off the one that didn't wait and everything works fine. Odd.
November 9, 2003, 5:22 AM

Search