• Welcome to Valhalla Legends Archive.
 

Realm Chars won't show

Started by Tazo, February 06, 2004, 05:32 AM

Previous topic - Next topic

Tazo

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

botmaster

are you connected to the mcp?

Tazo


UserLoser.

Are you requesting the character list?

Tazo

yes

   If Asc(Mid(strTemp, 3, 1)) = &H1 Then
       With RealmPB
           .InsertDWORD &H8
           .SendPacket &H17
       End With

Tazo


UserLoser.

Quote from: laurion on February 09, 2004, 02:31 PM
no one has an answer?


The information your providing doesn't really explain anything

MyndFyre

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.
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.

UserLoser.

Better yet, a packet log of everything that happens from when you first attempt to connect to the realm

Tazo

#9
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)?

UserLoser.

#10
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

Zakath

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.
Quote from: iago on February 02, 2005, 03:07 PM
Yes, you can't have everybody...contributing to the main source repository.  That would be stupid and create chaos.

Opensource projects...would be dumb.

Tazo

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

UserLoser.

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)

Tazo

i just use that server cuz i couldnt get my makeserver function to work (i posted about that previously)