Author | Message | Time |
---|---|---|
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 |