• Welcome to Valhalla Legends Archive.
 

MCP Connections

Started by Tazo, March 29, 2005, 07:52 AM

Previous topic - Next topic

Tazo

Ok I am trying to connect to a realm with my bot. here is my debug output of 0x3E coming back to me.

0000:  FF 3E 57 00 01 00 00 00 FE BF 81 C3 3F F0 CA 83   ÿ>W....þ¿?Ã?ðʃ
0010:  A7 54 20 00 3F F0 CA 94 17 E0 00 00 00 00 00 00   §T .?ðÊ"à......
0020:  7B 98 93 06 BA CC 12 A0 50 58 32 44 36 38 58 49   {˜"ºÌ PX2D68XI
0030:  3F F0 CA 83 33 10 00 00 A3 A5 D3 97 2D DE 09 38   ?ðʃ3..£¥Ó—-Þ.8
0040:  D1 08 C3 EA 13 03 B3 6A 98 F1 2B AF 32 78 58 29   ÑÃê³j˜ñ+¯2xX)
0050:  54 61 7A 6F 00 00 00                              Tazo............
0000:  FF 3E 57 00 01 00 00 00 22 00 D1 64 3F F0 CA 83   ÿ>W....".Ñd?ðʃ
0010:  F7 55 20 00 3F F0 CA 94 17 E0 00 00 00 00 00 00   ÷U .?ðÊ"à......
0020:  7B 98 93 06 BA CC 12 A0 50 58 32 44 36 38 58 49   {˜"ºÌ PX2D68XI
0030:  3F F0 CA 83 33 10 00 00 31 68 B8 02 E9 22 A7 61   ?ðʃ3..1h¸é"§a
0040:  47 F5 B4 92 60 E5 73 20 C2 7A AA 81 32 78 58 29   Gõ´'`ås Âzª?2xX)
0050:  54 61 7A 6F 00 C9 02                              Tazo.É.........

and here is what i do on S -> C 0x3E

        Case &H3E
            Dim Server As String
            Dim bleh2 As String
            Dim port As String
            Dim IP As String
                Debug.Print DebugOutput(Data)
                p1 = Mid(Data, 5, 16)
                Server = Mid(Data, 21, 4)
                bleh2 = Mid(Server, 5, 4)
                port = Mid(Data, 25, 2)
               
                AddText vbYellow, "Attempting to connect to MCP server " & DWORDtoIP(Server)
                p2 = Mid(Data, 29, 48)
                frmMain.WSmcp.Close
                frmMain.WSmcp.Connect DWORDtoIP(Server), 6112

I connect to the server, but after that, nothing happens. At all. Even when I try to log on to chars..I think the socket dies or something for whatever reason.. I am supposed to connect to the MCP server after I receive the OK on 0x3A right? Well, any help would be appreciated. Thanks.

Archangel

#1
Diablo II, Query Realms (0x40) and the logon Realm (0x3E).
Ok, so are you sending the protocol byte after your sockect is connected to the realm?
After that you need to send MCP_STARTUP (0x01):
(DWORD[16])    MCP Startup Data
(STRING)     Battle.net Unique Name

The MCP Startup Data should be the: p1 and p2 on ur parsing.

Edit: I don't know but, you should convert the port 2, i dont know if it always will be "6112"
I'm not an Addict.

Tazo

#2
Yes I send the MCP_STARTUP. The port thing I will have to work on..

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