Author | Message | Time |
---|---|---|
DarkDarkDark | I'm trying to send the MCP_STARTUP pocket using the DataBuffer from MBNCSUtil.dll. However once I send it, my client closes its connection. (connecting to battle.net) Heres the SID_LOGONREALMEX: [code]0000 ff 3e 53 00 01 00 00 00 e3 6b 1a 2d 3f f0 ca 7a .>S......k.-?..z 0010 68 fb 5c 00 3f f0 ca 94 17 e0 00 00 00 00 06 00 h.\.?........... 0020 ec b4 9b 00 7a 12 1a 27 50 58 32 44 36 38 58 49 ....z..'PX2D68XI 0030 3f f0 ca 7a 09 10 00 00 6d b9 93 2f a4 b2 0e a6 ?..z....m../.... 0040 2a 69 bc 87 32 55 0e 4b 26 2b 43 78 54 72 61 6e *i..2U.K&+CxTran 0050 64 6f 00 do.[/code] I send the 1 byte and then send the MCP_STARTUP: [code]0000 4a 00 01 01 00 00 00 e3 6b 1a 2d 3f f0 ca 7a 68 J.......k.-?..zh 0010 fb 5c 00 00 00 06 00 ec b4 9b 00 7a 12 1a 27 50 .\.........z..'P 0020 58 32 44 36 38 58 49 3f f0 ca 7a 09 10 00 00 6d X2D68XI?..z....m 0030 b9 93 2f a4 b2 0e a6 2a 69 bc 87 32 55 0e 4b 26 ../....*i..2U.K& 0040 2b 43 78 54 72 61 6e 64 6f 00 +CxTrando.[/code] any I doing anything wrong? | January 2, 2010, 2:21 AM |
MysT_DooM | Everything seems in place, length corresponds correctly and all the chunks are in the right place and count. Unless I'm overlooking something, I cant seem to spot any problems | January 2, 2010, 8:56 AM |
DarkDarkDark | Alright thanks for your input, I guess its something wrong with my tcpclient then. | January 6, 2010, 12:12 AM |
Myndfyr | I'm trying to understand - in your original post you say "I send the 1 byte and then send the MCP_STARTUP." What's the 1 byte? I'm looking at the MCP plugin that I started for JinxBot: [code] private void ConnectRealm() { m_connection = new McpClient(m_ip.ToString(), m_port); if (!m_connection.Connect()) { // TODO: Raise an error event. } else { McpPacket pck = new McpPacket((byte)McpPacketId.Startup); pck.InsertInt32(m_mcpCookie); pck.InsertInt32(m_mcpStatus); pck.InsertByteArray(m_mcpChunk1); pck.InsertByteArray(m_mcpChunk2); pck.InsertCString(m_uniqueBnetName); Send(pck); } } [/code] I don't send any "1 byte" before MCP_STARTUP. What's that about? | January 6, 2010, 6:50 AM |
rabbit | I think he's sending 0x01 like you're supposed to with BNCS. | January 6, 2010, 1:32 PM |
Myndfyr | Ah could be. Have you tried not doing that, instead of doing it? I'm pretty sure you don't do that with the realms. They're not BNCS servers. | January 6, 2010, 2:47 PM |
DarkDarkDark | Sorry for the late reply. I'm going on info based on the BNCS/MCP clientless bot analysis on edgeofnowhere and what I get when I join in normally, which shows a 0x01 byte being sent. Also I try without the 0x01 and nothing happens, it stays connected but I don't get the http://www.bnetdocs.org/?op=packet&pid=337MCP_CHARLOGON I was thinking it was my tcpclient but no Exception comes up. | January 6, 2010, 6:37 PM |
MysT_DooM | Yes, you are supposed to send the 0x01 like you do in a BNCS. Also are you using the same socket to connect to battle.net that you are when you connect to MCP? If so try using two seperate sockets, one for BNCS, and the other for MCP. | January 6, 2010, 6:59 PM |
DarkDarkDark | Yes I am using the same socket: [code]Dim tcpClient As New System.Net.Sockets.TcpClient() tcpClient.Connect("useast.battle.net", 6112) Dim NS As NetworkStream = tcpClient.GetStream()[/code] Edit: So I made two connections, when I send the 0x01 then the MCP_STARTUP, my connection doesn't close but I don't get a response | January 6, 2010, 7:14 PM |
MysT_DooM | Are you sending the 0x01 to the MCP socket? And are you sending 0x01MCP once you're connected to the realm server that you got from 0x3E(BNCS). i.e something like: parse out IP/Port from 0x3E data, connect to MCP socket with the IP/Port gotten from 0x3E, on successfull connection then send 0x01MCP. Are you doing that? | January 6, 2010, 9:49 PM |
DarkDarkDark | Awesome thank you very much. I wasn't making a connection to the IP/Port of the MCP from 0x3E. I didn't know I had to do that :P, its working good now thanks for your help! | January 6, 2010, 11:25 PM |
-MichaeL- | Am i correct in assuming BNSharp now has RealmLogin? | January 8, 2010, 1:33 AM |
Myndfyr | [quote author=-MichaeL- link=topic=18134.msg183928#msg183928 date=1262914406] Am i correct in assuming BNSharp now has RealmLogin? [/quote] No. It can be implemented as a plugin. | January 8, 2010, 4:23 PM |