Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: Tazo on February 06, 2004, 05:32 AM

Title: Realm Chars won't show
Post by: Tazo on February 06, 2004, 05:32 AM
I searched and no one posted on this before..
I got this from the old LOD soupbot for realm characters, and it seems it isnt working-any ideas?

   ElseIf Asc(Mid(strTemp, 3, 1)) = &H17 Then
       Dim Count As String, pA() As String, i As Long, pos As Long, tmpdata As String
           frmRealmCharSel.lstChars.ListItems.Clear
           tmpdata = Mid(strTemp, 4)
           Count = Asc(Mid(strTemp, 6, 1))
           pos = 9
               For i = 1 To Count
                   pA = Split(Mid(tmpdata, pos), Chr(0), 3)
                   frmRealmCharSel.lstChars.ListItems.Add , , pA(0)
                   tmpdata = pA(2)
                   pos = 1
               Next
           Erase pA()

thanks, i really appreciate all the help  ;D
Title: Re:Realm Chars won't show
Post by: botmaster on February 06, 2004, 09:52 AM
are you connected to the mcp?
Title: Re:Realm Chars won't show
Post by: Tazo on February 06, 2004, 01:50 PM
Yes
Title: Re:Realm Chars won't show
Post by: UserLoser. on February 06, 2004, 04:04 PM
Are you requesting the character list?
Title: Re:Realm Chars won't show
Post by: Tazo on February 06, 2004, 07:36 PM
yes

   If Asc(Mid(strTemp, 3, 1)) = &H1 Then
       With RealmPB
           .InsertDWORD &H8
           .SendPacket &H17
       End With
Title: Re:Realm Chars won't show
Post by: Tazo on February 09, 2004, 02:31 PM
no one has an answer?
Title: Re:Realm Chars won't show
Post by: UserLoser. on February 09, 2004, 03:29 PM
Quote from: laurion on February 09, 2004, 02:31 PM
no one has an answer?


The information your providing doesn't really explain anything
Title: Re:Realm Chars won't show
Post by: MyndFyre on February 09, 2004, 03:32 PM
Quote from: laurion on February 09, 2004, 02:31 PM
no one has an answer?


Don't beg; it's unbecoming.  Have you been looking at BnetDocs?  You admitted that you got it from the SoupBot source directly.

Try taking a packet capture and showing us what you get after sending 0x17.
Title: Re:Realm Chars won't show
Post by: UserLoser. on February 09, 2004, 03:54 PM
Better yet, a packet log of everything that happens from when you first attempt to connect to the realm
Title: Re:Realm Chars won't show
Post by: Tazo on February 10, 2004, 06:55 PM
After button to connect to realm is clicked:

1  192.168.2.37  63.240.202.120  13  Send  
0000  FF 34 0D 00 00 00 00 00 00 00 00 00 00             .4...........

2  63.240.202.120  192.168.2.37  75  Recv  
0000  FF 34 4B 00 00 00 00 00 01 00 00 00 00 00 00 C0    .4K.............
0010  D4 17 00 00 0F 2F 00 00 59 00 00 00 DB 92 01 00    ...../..Y.......
0020  FF FF FF FF 00 00 00 00 55 53 45 61 73 74 00 52    ........USEast.R
0030  65 61 6C 6D 20 66 6F 72 20 74 68 65 20 55 53 20    ealm for the US
0040  45 61 73 74 20 43 6F 61 73 74 00                   East Coast.

3  192.168.2.37  63.240.202.120  35  Send  
0000  FF 3E 23 00 01 00 00 00 D2 50 C1 26 D4 07 F4 DE    .>#......P.&....
0010  97 61 89 3B 7B 20 1E E1 29 A4 B1 4B 55 53 45 61    .a.;{ ..)..KUSEa
0020  73 74 00                                           st.

4  63.240.202.120  192.168.2.37  12  Recv  
0000  FF 3E 0C 00 01 00 00 00 02 00 00 80                .>..........

5  192.168.2.37  63.240.202.129  19  Send  
0000  01 12 00 01 01 00 00 00 02 00 00 80 4B 63 6F 6A    ............Kcoj
0010  31 34 00                                           14.


btw, i get IPBanned for about 2 minutes after i try to connect to the realm, does anyone know what DWORD[16] from 0x01 [MCP_STARTUP] is (quote from bnetdocs)?
Title: Re:Realm Chars won't show
Post by: UserLoser. on February 10, 2004, 07:06 PM
Quote

0000  FF 3E 0C 00 01 00 00 00 02 00 00 80                .>..........


That's your problem, you're most likely not hashing the realm password properly
Title: Re:Realm Chars won't show
Post by: Zakath on February 11, 2004, 12:55 AM
First of all, UserLoser may be right. The return value from 0x3E is horribly too small to even attempt a connection to the realm.

The DWORD[16] consists of the MCP data chunk, which is sent to you in 0x3E when you successfully indicate your desire to connect to the realm. This then has to be included when you send the MCP_STARTUP packet.
Title: Re:Realm Chars won't show
Post by: Tazo on February 11, 2004, 05:13 AM
connect to realm:

Public Function ConnectMCP(realm As String)
   Dim rpass As String
   Dim p As New PacketBuffer
   rpass = String(5 * 4, vbNullChar)
       Call A2(rpass, servers)
       p.InsertDWORD &H1
       p.InsertNonNTString rpass
       p.InsertNTString realm
       p.SendPacket &H3E
End Function

what i grabbed from 0x3E:

       Case &H3E
           Dim Server As String
           Dim bleh2 As String
           Dim port As String
           Dim IP As String
           Dim Hag$
               p1 = Mid(Data, 5, 16)
               Server = Mid(Data, 17, 8)
               bleh2 = Mid(Server, 5, 4)
               AddText vbYellow, "Attempting to connect to MCP server"
               p2 = Mid(Data, 29, 48)
               'MyName = Mid(Data, 77, Len(Data) - 79)
               frmMain.WSmcp.Close
                frmMain.WSmcp.Connect "63.240.202.129", 6112 'DWORDtoIP(Mid(bleh2, 4)), 6112

Using data from there, i then do

Private Sub WSmcp_Connect()
   frmMain.WSmcp.SendData Chr(1)
   RTBAdd "Connected to MCP server." & vbNewLine, vbGreen
   

With RealmPB
   .InsertNonNTString p1 & p2
   .InsertNTString MyName
   .SendPacket &H1
End With
End Sub
Title: Re:Realm Chars won't show
Post by: UserLoser. on February 11, 2004, 10:31 AM
Quote from: laurion on February 11, 2004, 05:13 AM
connect to realm:

Public Function ConnectMCP(realm As String)
   Dim rpass As String
   Dim p As New PacketBuffer
   rpass = String(5 * 4, vbNullChar)
       Call A2(rpass, servers)
       p.InsertDWORD &H1
       p.InsertNonNTString rpass
       p.InsertNTString realm
       p.SendPacket &H3E
End Function

what i grabbed from 0x3E:

       Case &H3E
           Dim Server As String
           Dim bleh2 As String
           Dim port As String
           Dim IP As String
           Dim Hag$
               p1 = Mid(Data, 5, 16)
               Server = Mid(Data, 17, 8)
               bleh2 = Mid(Server, 5, 4)
               AddText vbYellow, "Attempting to connect to MCP server"
               p2 = Mid(Data, 29, 48)
               'MyName = Mid(Data, 77, Len(Data) - 79)
               frmMain.WSmcp.Close
                frmMain.WSmcp.Connect "63.240.202.129", 6112 'DWORDtoIP(Mid(bleh2, 4)), 6112

Using data from there, i then do

Private Sub WSmcp_Connect()
   frmMain.WSmcp.SendData Chr(1)
   RTBAdd "Connected to MCP server." & vbNewLine, vbGreen
   

With RealmPB
   .InsertNonNTString p1 & p2
   .InsertNTString MyName
   .SendPacket &H1
End With
End Sub


63.240.202.129?  Looks like a Battle.net Chat server to me (from memory, pretty sure realm servers are not the same as the chat servers), not a realm server... In 0x3E, the server responds with the IP address of the realm server to connect to, along with the port (iirc)
Title: Re:Realm Chars won't show
Post by: Tazo on February 11, 2004, 01:49 PM
i just use that server cuz i couldnt get my makeserver function to work (i posted about that previously)