• Welcome to Valhalla Legends Archive.
 
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Logitech

#1
Can I just check, you send 0x1A after you receive 0x50, right?
#2
Ok, thanks. That makes sense.
#3
Quote from: Hdx on November 07, 2006, 11:04 AM
That is indeed where you are extracting the archive number, incorrectly.
The new lockdown MPQs are 2 digets, whereis you're only sending one.
Try extracting the full archive name, and then retrieving the number based off of that (Remamber the formats are: PRODver#.mpq ver-PROD-#.mpq lockdown-PROD-##.mpq)
~-~(HDX)~-~

So, I need to extract the following information and send back the full name, ie:

(for SEXP/PC) - 'lockdown-IX86-xx.mpq'
Whereas right now, I'm just sending one mpq digit.

Is that right?
#4
Quote from: Hdx on November 07, 2006, 11:04 AM
That is indeed where you are extracting the archive number, incorrectly.
The new lockdown MPQs are 2 digets, whereis you're only sending one.
Try extracting the full archive name, and then retrieving the number based off of that (Remamber the formats are: PRODver#.mpq ver-PROD-#.mpq lockdown-PROD-##.mpq)
~-~(HDX)~-~


Thanks, I'll look again at my code and let you know how I go.
#5
Quote from: Skywing on November 07, 2006, 09:39 AM
Quote from: Logitech on November 07, 2006, 03:28 AM
I am using BNLS. It's with BNLS that I am getting these errors, intermittently.
Perhaps you are not sending the full dll version to BNLS (or MPQ filename with BNLS_VERSIONCHECKEX2)?  Remember that there are two digits now.

Thanks. I think the problem's in here, right?



Case &H50
mpqname = Mid(data, InStr(LCase(data), "mpq") - 2, 5)
HASH = Mid(data, InStr(data, "mpq") + 4, Len(data) - 2)
mpqname = Val(Mid(mpqname, 1, 1))
server = Val("&h" & StrToHex(StrReverse(Mid(data, 9, 4))))
InsertDWORD GetBNLSByte()
InsertDWORD CLng(mpqname)
InsertNTString HASH
sendBNLSPacket &H9
#6
I am using BNLS. It's with BNLS that I am getting these errors, intermittently.
#7
Quote from: Skywing on November 04, 2006, 11:14 PM
Although you can continue to access the version check feature for these products using the old-style version check messages (BNLS_VERSIONCHECK, BNLS_VERSIONCHECKEX), it is highly recommended that you upgrade to BNLS_VERSIONCHECKEX2 as quickly as possible.  BNLS_VERSIONCHECKEX2 allows BNLS to decide which version check mechanism to use, instead of guessing that it is always enabled for Starcraft / Brood War.  This allows maximum future compatibility with any later changes to the version check system.

Can anyone give me some pointers on this? At the moment I can connect to bnet, but I get a lot of '(0x0101) Game version unrecognized' errors, which makes it rather hit or miss.

I've looked on bnetdocs but I can't see that's been updated to take this into account.

Would appreciate any advice.

Thanks,
#8
Quote from: dope on November 04, 2006, 08:39 AM
you could logon diablo2 for the mean time using bnls (It's not that hard to ask somone for a d2 key is it)
I'm sure it won't take more than a few weeks to update bnls properly.

BNLS is working with D2 right now?
#9
Quote from: Spilled on November 04, 2006, 02:08 AM
Quote from: Logitech on November 04, 2006, 01:50 AM
Can I just clarify - as far as I can tell from reading these threads, there is no public update for BNLS-enabled bots as yet?

You can log on using PMAC hashes. As for IX86, we are currently working on this.

Ok, thanks. My bot does not use local hashing though, so I may just wait patiently hoping that BNLS is publically updated. Then again, I may have a long wait?
#10
Can I just clarify - as far as I can tell from reading these threads, there is no public update for BNLS-enabled bots as yet?
#11
Crikey, that was easy enough, thanks. I wasn't getting IP banned though, just a disconnect. Ok, on with the next steps...

(thanks again)
#12
Battle.net Bot Development / Some help sending packets
September 23, 2006, 02:48 AM
Hi all,

I'm working on a new bot project and getting to grips with sending and receiving packets. I wondered if anyone had any thoughts on why I appear to be sending the same packets twice here? I appear to be sending 0x50 ok, but then rather than sending 0x51, it starts again.

The following log will show you:1  10.0.0.3:3654  63.161.183.205:9367  9  Send 
0000  09 00 0E 65 74 65 72 6E 00                         ...logitech.

2  63.161.183.205:9367  10.0.0.3:3654  7  Recv 
0000  07 00 0E D6 C7 2D D3                               .....-.

3  10.0.0.3:3654  63.161.183.205:9367  7  Send 
0000  07 00 0F 71 C1 A5 0E                               ...q...

4  63.161.183.205:9367  10.0.0.3:3654  7  Recv 
0000  07 00 0F 01 00 00 00                               .......

5  10.0.0.3:3655  63.240.202.139:6112  59  Send 
0000  01 FF 50 3A 00 00 00 00 00 36 38 58 49 57 32 42    ..P:.....68XIW2B
0010  4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    N...............
0020  00 00 00 00 00 00 00 00 00 55 53 41 00 55 6E 69    .........USA.Uni
0030  74 65 64 20 53 74 61 74 65 73 00                   ted States.

6  10.0.0.3:3656  63.161.183.205:9367  9  Send 
0000  09 00 0E 65 74 65 72 6E 00                         ...logitech.

7  63.161.183.205:9367  10.0.0.3:3656  7  Recv 
0000  07 00 0E F8 AE ED 82                               .......

8  10.0.0.3:3656  63.161.183.205:9367  7  Send 
0000  07 00 0F 53 48 F8 6D                               ...SH.m

9  63.161.183.205:9367  10.0.0.3:3656  7  Recv 
0000  07 00 0F 01 00 00 00                               .......

10  10.0.0.3:3657  63.240.202.139:6112  59  Send 
0000  01 FF 50 3A 00 00 00 00 00 36 38 58 49 57 32 42    ..P:.....68XIW2B
0010  4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    N...............
0020  00 00 00 00 00 00 00 00 00 55 53 41 00 55 6E 69    .........USA.Uni
0030  74 65 64 20 53 74 61 74 65 73 00                   ted States.


If it helps, here's my code for 0x50
Public Sub 0x50()

    InsertDWORD 0
    InsertNonNTString "68XI" & Game
    'InsertDWORD "&H" & GetVerByte()
    InsertDWORD Val("&H" & GetVerByte())
    InsertDWORD &H0
    InsertDWORD &H0
    InsertDWORD &H0
    InsertDWORD &H0
    InsertDWORD &H0
    InsertNTString "USA"
    InsertNTString "United States"
    sendPacket &H50
    If frmLoginOptions.chk0Ping.Value = vbChecked Then
        InsertDWORD &H0
        sendPacket &H25
    End If
   
End Sub


If you need to see anything else, please say so.

Thanks

[EDIT] - Now appear to have solved the issue of sending these twice, but after sending 0x50, I get a disconnect. Here's the latest log:

1  Hide  Hide  9  Send 
0000  09 00 0E 65 74 65 72 6E 00                         ...logitech.

2  Hide  Hide  7  Recv 
0000  07 00 0E 03 9B 1C F2                               .......

3  Hide  Hide  7  Send 
0000  07 00 0F 38 C1 C2 B3                               ...8...

4  Hide  Hide  7  Recv 
0000  07 00 0F 01 00 00 00                               .......

5  Hide  Hide  59  Send 
0000  01 FF 50 3A 00 00 00 00 00 36 38 58 49 57 32 42    ..P:.....68XIW2B
0010  4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    N...............
0020  00 00 00 00 00 00 00 00 00 55 53 41 00 55 6E 69    .........USA.Uni
0030  74 65 64 20 53 74 61 74 65 73 00                   ted States.[/code[

#13
Just so you know, this has been resolved thanks to the kind help of a member here.

#14
Hello all,

I can see from recent posts that a lot of bots need updating to account for the changes logging in. I'd be grateful for any advice as to how I can implement the changes. Firstly, am I looking in the right place?

Public Sub parseBNET(ByVal data As String)
Dim PacketData As String
On Error Resume Next
Dim packetid As Integer
Dim usrindex As Integer
Dim tempb As String, rb As Long
packetid = Asc(Mid(data, 2, 1))
'AddPackets vbgreen, "&H" & packetid
If BNLS = True Then
    Select Case packetid
    Case &H50
                servers = Val("&h" & StrToHex(StrReverse(Mid(data, 9, 4))))
                mpqname = Mid(data, 25, 12)
                HASH = Mid(data, 38, Len(data) - 2)
                mpqname = Val(Mid(mpqname, 8, 1))
                InsertDWORD GetBNLSByte()
                InsertDWORD CLng(mpqname)
                InsertNTString HASH
                sendBNLSPacket &H9


Any advice, gratefully received. Thanks.