Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: ChR0NiC on March 13, 2004, 06:52 PM

Title: Does Any One Have 0x9
Post by: ChR0NiC on March 13, 2004, 06:52 PM
I noticed 0x9 (Get BW Game List) is not on BNET Docs
And UL told me 0x9 is the correct packet for this.

So does anyone have a detailed documentation on 0x9?

In the form that BNET Docs might have it???
Title: Re:Does Any One Have 0x9
Post by: UserLoser. on March 13, 2004, 06:57 PM
BnetDocs doesn't have *everything*

You can easily figure out that it's 0x09 and it's format, by using a great utility called a packet logger.  It's also used to retrieve the game list for any product, not just Starcraft Brood War.

If you're looking for a packet logger, try using WPE Pro (http://www.userloser.net/files/WPEPRO.zip).

To use WPE Pro, follow these easy steps:

1) After opening WPE Pro, click the "Target Program" button.
2) When the "Select Target Program" window comes up, find the program that you want to packet log.
3) When you found the program on the list, select it, and hit "Open", the dialog will now disappear.
4) To start logging, hit the button that's an arrow pointing to the right
5) The packet logger is now enabled, to stop it, press the red square.  If any packets were logged, they would be displayed in a new output window.
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 13, 2004, 07:10 PM
Quote from: UserLoser. on March 13, 2004, 06:57 PM
BnetDocs doesn't have *everything*

You can easily figure out that it's 0x09 and it's format, by using a great utility called a packet logger.  It's also used to retrieve the game list for any product, not just Starcraft Brood War.

If you're looking for a packet logger, try using WPE Pro (http://www.userloser.net/files/WPEPRO.zip).

To use WPE Pro, follow these easy steps:

1) After opening WPE Pro, click the "Target Program" button.
2) When the "Select Target Program" window comes up, find the program that you want to packet log.
3) When you found the program on the list, select it, and hit "Open", the dialog will now disappear.
4) To start logging, hit the button that's an arrow pointing to the right
5) The packet logger is now enabled, to stop it, press the red square.  If any packets were logged, they would be displayed in a new output window.

WPE Pro requires Windows 2000 or Windows XP which I do not have.
Title: Re:Does Any One Have 0x9
Post by: Kp on March 13, 2004, 07:37 PM
Quote from: ChR0NiC on March 13, 2004, 07:10 PMWPE Pro requires Windows 2000 or Windows XP which I do not have.

That statement would imply you still use a Windows 9x kernel.  If so, you should upgrade immediately as that product line is a horrible mistake that should have never been released to the public.
Title: Re:Does Any One Have 0x9
Post by: Banana fanna fo fanna on March 13, 2004, 07:47 PM
or a non ms os
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 13, 2004, 09:46 PM
Quote from: ChR0NiC on March 13, 2004, 06:52 PM
I noticed 0x9 (Get BW Game List) is not on BNET Docs
And UL told me 0x9 is the correct packet for this.

So does anyone have a detailed documentation on 0x9?

In the form that BNET Docs might have it???

LIES.
http://botdev.valhallalegends.com/documents/gamelist.txt (http://botdev.valhallalegends.com/documents/gamelist.txt)
Title: Re:Does Any One Have 0x9
Post by: UserLoser. on March 13, 2004, 09:47 PM
Quote from: Eli_1 on March 13, 2004, 09:46 PM
Quote from: ChR0NiC on March 13, 2004, 06:52 PM
I noticed 0x9 (Get BW Game List) is not on BNET Docs
And UL told me 0x9 is the correct packet for this.

So does anyone have a detailed documentation on 0x9?

In the form that BNET Docs might have it???

LIES.
http://botdev.valhallalegends.com/documents/gamelist.txt (http://botdev.valhallalegends.com/documents/gamelist.txt)

Doesn't display the format for requesting it
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 13, 2004, 09:50 PM
Quote from: UserLoser. on March 13, 2004, 09:47 PM
Quote from: Eli_1 on March 13, 2004, 09:46 PM
Quote from: ChR0NiC on March 13, 2004, 06:52 PM
I noticed 0x9 (Get BW Game List) is not on BNET Docs
And UL told me 0x9 is the correct packet for this.

So does anyone have a detailed documentation on 0x9?

In the form that BNET Docs might have it???

LIES.
http://botdev.valhallalegends.com/documents/gamelist.txt (http://botdev.valhallalegends.com/documents/gamelist.txt)

Doesn't display the format for requesting it

oops, sorry bout that chr0nic  :P
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 13, 2004, 10:27 PM
Regardless of not being able to request it, thanks alot for that URL, it will help me alot once I am able to request it :)

Edit: Now My Search Shall Continue  :P
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 12:13 AM
C -> S
0000  ff 09 2c 00 0a 00 00 00 1f 00 00 00 00 00 00 00   ..,.............
0010  01 00 00 00 43 61 74 20 4d 69 63 65 20 43 72 79   ....Cat Mice Cry
0020  73 74 61 6c 20 77 61 72 7a 00 00 00               stal warz...

The last NTString I'm assuming is the last game name you joined.
Not sure on the info before it, nor the last 2 null characters...

[Edit]
Just packet logged again with the name of the game changed
0000  ff 09 1b 00 0a 00 00 00 1f 00 00 00 00 00 00 00   ................
0010  01 00 00 00 73 77 61 74 00 00 00                  ....swat...


From the information there I can guess the format is something like this:

   (DWORD) &H0A (unknown)
**(DWORD) 31?   (unknown)
   (DWORD) &H0   (unknown)
   (DWORD) &H01 (unknown)
   (STRING ) Last game joined
   (WORD) &H0     (unknown)

**    not exactly sure what to put here, the hex dump was 1F 00 00 00 and when I did the Val of &H0000001F I got 31 both times...
all the values besides the NonNTString seem to be non changing on this comp...
(when I typed this all the first time I read the packet wrong, so I guess you could just do (DWORD) &H1F)

(unknown)    not exactly sure on what thier purpose is or what they actually represent, but that's what the packet shows...  :-\
hope this somehow helps

Also:

I'v never done anything with packets and also havn't used anything besides CSB, so the information about adding the DWORDS and WORDS might be wrong, but you should get the idea... :P
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 12:33 AM
Quote from: Eli_1 on March 14, 2004, 12:13 AM
C -> S
0000  ff 09 2c 00 0a 00 00 00 1f 00 00 00 00 00 00 00   ..,.............
0010  01 00 00 00 43 61 74 20 4d 69 63 65 20 43 72 79   ....Cat Mice Cry
0020  73 74 61 6c 20 77 61 72 7a 00 00 00               stal warz...

The last NTString I'm assuming is the last game name you joined.
Not sure on the info before it, nor the last 2 null characters...

[Edit]
Just packet logged again with the name of the game changed
0000  ff 09 1b 00 0a 00 00 00 1f 00 00 00 00 00 00 00   ................
0010  01 00 00 00 73 77 61 74 00 00 00                  ....swat...


From the information there I can guess the format is something like this:

   (DWORD) &H0A (unknown)
**(DWORD) 31?   (unknown)
   (DWORD) &H0
   (DWORD) &H01
   (STRING ) Last game joined
   (WORD) &H0

**    not exactly sure what to put here, the hex dump was 00 00 00 1F and when I did the Val of &H0000001F I got 31 both times...
all the values besides the NonNTString seem to be non changing on this comp...

hope this somehow helps

Also:

I'v never done anything with packets and also havn't used anything besides CSB, so the information about adding the DWORDS and WORDS might be wrong, but you should get the idea... :P

Thanks Alot For Your Help, I'll Let You Know What I Find.
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 12:34 AM
before you go, would that work?
can you add DWORDS like &H0A and 31?
Title: Re:Does Any One Have 0x9
Post by: o.OV on March 14, 2004, 01:35 AM
Quote from: Eli_1 on March 14, 2004, 12:34 AM
before you go, would that work?
can you add DWORDS like &H0A and 31?

Of course you can.
It is just numbers.
Title: Re:Does Any One Have 0x9
Post by: l)ragon on March 14, 2004, 01:48 AM
Quote from: o.OV on March 14, 2004, 01:35 AM
Quote from: Eli_1 on March 14, 2004, 12:34 AM
before you go, would that work?
can you add DWORDS like &H0A and 31?

Of course you can.
It is just numbers.
Are you sure about that.
Title: Re:Does Any One Have 0x9
Post by: o.OV on March 14, 2004, 02:20 AM
Quote from: dRAgoN on March 14, 2004, 01:48 AM
Quote from: o.OV on March 14, 2004, 01:35 AM
Quote from: Eli_1 on March 14, 2004, 12:34 AM
before you go, would that work?
can you add DWORDS like &H0A and 31?

Of course you can.
It is just numbers.
Are you sure about that.

heh. yes.
unfortunately I read it too literally.
sorry, I didn't see the packetlog part of the post.
Title: Re:Does Any One Have 0x9
Post by: Eric on March 14, 2004, 02:20 AM
Use the search feature of this forum.
Title: Re:Does Any One Have 0x9
Post by: MyndFyre on March 14, 2004, 03:11 AM
Quote from: ChR0NiC on March 14, 2004, 12:33 AM
Thanks Alot For Your Help, I'll Let You Know What I Find.

ChR0NiC, since when do you capitalize every word in a sentence?  It's extremely annoying, and I don't see what exactly you were trying to say if you were making fun of him...
Title: Re:Does Any One Have 0x9
Post by: Arta on March 14, 2004, 08:56 AM
I have made this packet available on BnetDocs.
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 11:01 AM
Quote from: Arta[vL] on March 14, 2004, 08:56 AM
I have made this packet available on BnetDocs.

Packet ID: 0x09
Direction: Client -> Server (Sent)
Format:
(WORD)       Product-specific condition 1
(WORD)       Product-specific condition 2
(DWORD)       Product-specific condition 3
(DWORD)       Product-specific condition 4
(DWORD)       Maximum number of games to list
(STRING)       Game name
(STRING)       Game password
(STRING)       Game stats

hehehe, I was way off  :P

Quote
Thanks Alot For Your Help, I'll Let You Know What I Find.



ChR0NiC, since when do you capitalize every word in a sentence?  It's extremely annoying, and I don't see what exactly you were trying to say if you were making fun of him...
He was making fun of me?  :'(


...anyway
Arta, how'd you figure all that info out, like that the first 4 bytes are 2 WORDS and not 1 DWORD?  :o
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 11:43 AM
Quote from: Arta[vL] on March 14, 2004, 08:56 AM
I have made this packet available on BnetDocs.

Arta to the rescue again, thanks alot man.



Quote from: ChR0NiC on March 14, 2004, 12:33 AM
Thanks Alot For Your Help, I'll Let You Know What I Find.

Quote from: Myndfyre on March 14, 2004, 03:11 AM
ChR0NiC, since when do you capitalize every word in a sentence?  It's extremely annoying, and I don't see what exactly you were trying to say if you were making fun of him...

I was not making fun of him, it's just kind of a habit I need to break out of. Sorry if anyone took it as a diss.... :'(
Title: Re:Does Any One Have 0x9
Post by: UserLoser. on March 14, 2004, 12:15 PM
Quote from: ChR0NiC on March 14, 2004, 11:43 AM
Quote from: Arta[vL] on March 14, 2004, 08:56 AM
I have made this packet available on BnetDocs.

Arta to the rescue again, thanks alot man.



Quote from: ChR0NiC on March 14, 2004, 12:33 AM
Thanks Alot For Your Help, I'll Let You Know What I Find.

Quote from: Myndfyre on March 14, 2004, 03:11 AM
ChR0NiC, since when do you capitalize every word in a sentence?  It's extremely annoying, and I don't see what exactly you were trying to say if you were making fun of him...

I was not making fun of him, it's just kind of a habit I need to break out of. Sorry if anyone took it as a diss....:(

Edit: Are these strings Null Terminated for the game name and game pass and game stats ??

Strings are always Null terminated.  There's pretty much no such thing as a Non-null terminated string, as someone also stated before
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 12:38 PM
Quote from: UserLoser. on March 14, 2004, 12:15 PM
Strings are always Null terminated.  There's pretty much no such thing as a Non-null terminated string, as someone also stated before

Yes I figured this out, which is why I deleted that part of the post, but you caught me :P
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 01:15 PM
Quote
FF = Header
17 00 = Packet Size
00 00 = First WORD
00 00 = Second WORD
30 00 00 00 = First DWORD
00 00 00 00 = Second DWORD
19 00 00 00 = Third DWORD
00 = Game Name
00 = Game Password
00 = Game Stats

Have you tryed using an actual game name besides null?
try using some random name like...


.InsertNTString "Some Game :D"
.InsertWORD &H0


Quote
Please correct me if I am wrong, BY OTHER MEANS than flaming.

The past has clearly stated that asking people not to flame you will get you flamed...  :-*

[Edit 1] Fixed my tags
[Edit 2] Fixed the !@#$%^& tags... again
[Edit 3] haha, I caught you before you deleted your post  :P
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 01:24 PM
HEY I DELETED THAT POST !!!!!! DAMN YOU ELI !!!

But, I haven't tried inserting game names...
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 01:29 PM
did you delete it because you fixed the problem, or because you just decided you didn't want it here yet?

If you did find the problem, post that, cause I wanna know... ;D
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 01:31 PM
Quote from: Eli_1 on March 14, 2004, 01:29 PM
did you delete it because you fixed the problem, or because you just decided you didn't want it here yet?

If you did find the problem, post that, cause I wanna know... ;D

(#1) I am sick of newbies taking code and popping it in their bots without even knowing how it's done

(#2) I showed alot of code in that post and I kind of don't like people having all the work done for them.

(#3) I fixed the problem and was thinking about redoing the post, but then decided not to.
Title: Re:Does Any One Have 0x9
Post by: Eli_1 on March 14, 2004, 01:34 PM
Quote
(#3) I fixed the problem and was thinking about redoing the post, but then decided not to.

What was the fix?
Title: Re:Does Any One Have 0x9
Post by: MyndFyre on March 14, 2004, 01:35 PM
Quote from: UserLoser. on March 14, 2004, 12:15 PM
Strings are always Null terminated.  There's pretty much no such thing as a Non-null terminated string, as someone also stated before

According to Open Bnetdocs, for either the Ladder or the Game List data, there are some 0x0d-terminated strings.  I can't remember which, and I'm too lazy to look it up right now.
Title: Re:Does Any One Have 0x9
Post by: ChR0NiC on March 14, 2004, 01:35 PM
Quote
(#3) I fixed the problem and was thinking about redoing the post, but then decided not to.

Quote from: Eli_1 on March 14, 2004, 01:34 PM
What was the fix?

Well I realized that 30 00 00 00 meant &H1E not &H3
That's all =P
Title: Re:Does Any One Have 0x9
Post by: Kp on March 14, 2004, 01:40 PM
Quote from: Myndfyre on March 14, 2004, 01:35 PMAccording to Open Bnetdocs, for either the Ladder or the Game List data, there are some 0x0d-terminated strings.  I can't remember which, and I'm too lazy to look it up right now.

Internally, these are copied as a single null-terminated string.  When they are processed, the CR marks out the subsegments.  It's pretty common to have some indicator character to partition up strings into subsegments for parsing, but no one calls it a "comma-terminated string" or "CR terminated string", etc.