Valhalla Legends Forums Archive | Battle.net Bot Development | Time to Update BNet Docs

AuthorMessageTime
PaiD
So um yea....
Is it time to update bnetdocs to the normal user??
Not sure when it was last updated but it has been awhile.
I am sure other would like it updated also  ;D
May 29, 2005, 5:53 AM
UserLoser.
Last update occurred on May 12th, everything is ok.
May 29, 2005, 5:55 AM
PaiD
What was last added? and how would I get the date??

Edit: I went by the comment on the home page
[code]
Starcraft 1.12 released
Posted by UserLoser (Editor) on 16/02/05 10:16
BnetDocs has been updated for the latest changes for Starcraft and Starcraft: Brood War.
[/code]
May 29, 2005, 7:15 AM
iago
Somebody ought to update the nls change-password packets.  I documented them:
http://www.javaop.com/~iago/SRP.html
and I also reversed the stuff (equations/numbers) for the server signature.  But Arta's been too busy to add them, and I'm no good at adding stuff :(
May 29, 2005, 7:33 AM
PaiD
iago: just something small to point out in that doc @ http://www.javaop.com/~iago/SRP.html.
"There are 5 important packets I'll go over" that needs to be changed to 9 now :p
May 29, 2005, 7:35 AM
iago
[quote author=DueL link=topic=11717.msg114029#msg114029 date=1117352137]
iago: just something small to point out in that doc @ http://www.javaop.com/~iago/SRP.html.
"There are 5 important packets I'll go over" that needs to be changed to 9 now :p
[/quote]

Pfft.

Good point, I should be more careful when I add stuff.  *changes 9 to 'a bunch'*
May 29, 2005, 7:36 AM
LoRd
[quote author=DueL link=topic=11717.msg114025#msg114025 date=1117346025]
So um yea....
Is it time to update bnetdocs to the normal user??
Not sure when it was last updated but it has been awhile.
I am sure other would like it updated also  ;D
[/quote]

... BnetDocs contains information on virtually every packet.  The only reason it would need to be updated would be if Battle.net was updated.
May 29, 2005, 10:05 AM
Arta
I am a bit busy at the moment - sorry. Exams and stuff. If one of the editors would be so kind as to add those messages, I would be grateful :)

One of my planned upgrades at some point is to add some kind of indication for messages that have been recently updated, and too add 'last modified' dates to message pages. I'm also going to put the menu in a frame (or at least make that an option) because it takes so long to load.
May 30, 2005, 5:18 PM
Myndfyr
[quote author=Arta[vL] link=topic=11717.msg114180#msg114180 date=1117473509]
I am a bit busy at the moment - sorry. Exams and stuff. If one of the editors would be so kind as to add those messages, I would be grateful :)

One of my planned upgrades at some point is to add some kind of indication for messages that have been recently updated, and too add 'last modified' dates to message pages. I'm also going to put the menu in a frame (or at least make that an option) because it takes so long to load.
[/quote]

I'll do it, but I'm still unclear about what messages should be added.
May 30, 2005, 9:25 PM
iago
[quote author=MyndFyre link=topic=11717.msg114228#msg114228 date=1117488331]
[quote author=Arta[vL] link=topic=11717.msg114180#msg114180 date=1117473509]
I am a bit busy at the moment - sorry. Exams and stuff. If one of the editors would be so kind as to add those messages, I would be grateful :)

One of my planned upgrades at some point is to add some kind of indication for messages that have been recently updated, and too add 'last modified' dates to message pages. I'm also going to put the menu in a frame (or at least make that an option) because it takes so long to load.
[/quote]

I'll do it, but I'm still unclear about what messages should be added.
[/quote]

A couple from my SRP.html file (linked above) -- namely, the password change, and possibly the account create. 
May 30, 2005, 11:02 PM
raylu
For starters, how about
[quote]Botnet Headers
Botnet is a system whereby bots can share information about users and send commands to eachother. It is also used by various bot authors as a means of leak protection & statistics collection, and to administer BNLS & Webchannel, in addition to being a useful chat medium when more privacy is needed than Battle.net allows. The headers are as follows:

(BYTE)      Protocol Version (Currently 0x01)
(BYTE)      Message ID
(WORD)      Message Length, including this header
(VOID)      Message Data[/quote]

and something about the SC UDP headers?
June 1, 2005, 5:51 AM
Ringo
[quote author=raylu link=topic=11717.msg114364#msg114364 date=1117605078]
and something about the SC UDP headers?
[/quote]

Bnet docs only documents the logon and chat side of battle.net and not the battle side.
You will have to work your way through a few packet logs untill you figger it out (witch shouldnt take to long)
Failing that, go back and download some older clients (such as d1 shareware) and follow how blizzard changed the protocol for gameroom games (such as sc, w2 etc) as there UDP protocol developed along side there clients.

All the older clients UDP protocols work on the same principles and there is one thing you need to know to write a client for the protocol.
The 1st DWORD "00 00 00 00" is not part of the packet its self and the word after that is a check sum of the packets data (Search this forum for more info on UDP CS) and the infomation after that can be easy obtained/figgerd out from packet logging the protocol a number of times.

It would be best to figger this out your self, otherwise you would just find your self stuck on figgering out what the packet data means. (If u cant figger the header out, you are screwed)

Good luck in writing the client (If you proceed)
June 1, 2005, 7:17 PM
Arta
[quote author=Ringo link=topic=11717.msg114414#msg114414 date=1117653426]
Bnet docs only documents the logon and chat side of battle.net and not the battle side.
[/quote]

Can you be more specific? What did bnetdocs lack that you feel is necessary?
June 1, 2005, 10:54 PM
UserLoser.
[quote author=Ringo link=topic=11717.msg114414#msg114414 date=1117653426]
Bnet docs only documents the logon and chat side of battle.net and not the battle side.
[/quote]

Too bad BnetDocs is for Battle.net while Starcraft games are not over Battle.net and never were.
June 1, 2005, 11:09 PM
tA-Kane
Didn't BnetDocs used to contain a listing of D2GS packets? In any case, BnetDocs does contain some StarCraft UDP packets.
June 1, 2005, 11:52 PM
KkBlazekK
IIRC, it did have them.
June 1, 2005, 11:53 PM
UserLoser.
[quote author=tA-Kane link=topic=11717.msg114481#msg114481 date=1117669936]
Didn't BnetDocs used to contain a listing of D2GS packets? In any case, BnetDocs does contain some StarCraft UDP packets.

[/quote]

Yes, but I think they were removed because they were documented poorly and a lot of them changed during the last patch.

[quote author=Blaze link=topic=11717.msg114483#msg114483 date=1117670025]
IIRC, it did have them.
[/quote]

D2GS stuff wasn't ever public, so I don't think you've seen them unless you were a naughty boy.  There were no messages ever related to in-game Starcraft things, from as far back as I can remember. I [have/had] W3GS stuff that I've been waiting to add to BnetDocs, but that's up to Arta when he wants to create a section for them.
June 2, 2005, 12:38 AM
Ringo
I think the only UDP packets on bnet docs are packets that get sent to the bnserver, but there are still a few UDP packets that get sent to the bnserver that are not listed.

As for SC UDP packets, there is none, and D2GS.. must be held back from public viewing cos there is none on there.

Also there is more to battle.net than a few tcp servers.
It ranges from all the clients protocols that support "battle.net" style play.
(This includes peer on peer UDP even if the bnserver isnt handling them in anyway or recving them)
Alot of the starting UDP packets for SC game room related to the clients BNCS packets and its values in alot of ways. (And i dont mean the UDP version of the TCP 0x09!!)
Fair enough not in ways that would need to be used for writing a simple client, but if u were emulating SC in detail, then yes you would want/need to know this infomation.

This kind of brings fule to my 1st claim, why is D2GS packets held back from PUBLIC viewing? because they dont want the public to have this infomation.
Id have liked to have seen just 1 decompressed packet ID that was documented when i was writeing the protocol a while back, because i was unsure for a while if the decompression was right (it wasnt always a fixed packet ID) but after a while i started to see more clearly how the whole structure worked.

If this infomation wasnt held back, just 1 packet being documented would have saved me alot of time.

I really cant understand why no one wants to document these protocols in detail, i would do it my self but i suck at documentaion and documenting my logs/notes could take ages and it would probly only really make sence to me.

But if somone asks me persionaly about somthing i will answer it if i know the info on it, because i dont get injoyment out of being big headed and thinking im impressing people with the word "programer".
I also feel (like me) many people get injoyment out of writing clients for battle.net protocols, i persionaly do not get injoyment out of holding the resources back for others to injoy them selfs as well.

Its just a shame that some people do. (NO NAMES)

ps: if u take offence to this, then you are one of them people.

and again, not a dig at bnet docs but more of a dig at the generaly attitude of battle.net clients and there game protocols around here...
June 2, 2005, 12:59 AM
LoRd
[quote]because they dont want the public to have this infomation.
Id have liked to have seen just 1 decompressed packet ID that was documented when i was writeing the protocol a while back[/quote]

BlizzHackers had a large list of them.

[quote]I really cant understand why no one wants to document these protocols in detail, i would do it my self but i suck at documentaion and documenting my logs/notes could take ages and it would probly only really make sence to me.[/quote]

... who said it was undocumented?  It's just not publically documented.
June 2, 2005, 1:07 AM
UserLoser.
[quote author=LoRd[nK] link=topic=11717.msg114496#msg114496 date=1117674451]
[quote]because they dont want the public to have this infomation.
Id have liked to have seen just 1 decompressed packet ID that was documented when i was writeing the protocol a while back[/quote]

BlizzHackers had a large list of them.

[quote]I really cant understand why no one wants to document these protocols in detail, i would do it my self but i suck at documentaion and documenting my logs/notes could take ages and it would probly only really make sence to me.[/quote]

... who said it was undocumented?  It's just not publically documented.
[/quote]

Blizzhackers is also gone
June 2, 2005, 1:31 AM
Ringo
[quote author=LoRd[nK] link=topic=11717.msg114496#msg114496 date=1117674451]
[quote]because they dont want the public to have this infomation.
Id have liked to have seen just 1 decompressed packet ID that was documented when i was writeing the protocol a while back[/quote]

BlizzHackers had a large list of them.

[quote]I really cant understand why no one wants to document these protocols in detail, i would do it my self but i suck at documentaion and documenting my logs/notes could take ages and it would probly only really make sence to me.[/quote]

... who said it was undocumented?  It's just not publically documented.
[/quote]

If SC UDP protocol is documented but not public, then it wouldnt be known to many as been Documented.

If blizz hackers had a list, then it still doesnt explain why it was held back, and yes i understand the implications of "spam bots" and so on, but this infomation being public really wont change nothing in that sence.

Noob makes d2 realm bot.
Noob obtains D2GS ip from realm packet
Noob sends chat message
Noob has made D2GS spam bot d2 = fucked.

I do beleave that is why u said it is wrong to put this kind of stuff public, because any noob could then do stuff like that.
In regards to D2GS, if any noob tryed to do abuseive stuff, the server would just disconnect them, the server is EXTRAMLY well modorated and almost EVERYTHING has a check sum. (for anti dupe)

So if this info was public and documented in bnet docs fashion, it would saying somthing like:
(DWORD) Object Checksum
witch doesnt help that persion at all when doing somthing abuseive (like making a dupe)

When i kinda started my reply based on SC's UDP, witch as far as i know, is none existant when it comes to any infomation other than what a packet logger can give you.
Again i cant see any reassion why it would be bad to document this protocol.

Anyway..
If somone wrote a "nasty" program and put it up for anyone to download, it isnt much differnt than 1000 people writing there own "nasty" program, the effect is just as great.
June 2, 2005, 1:40 AM
LoRd
[quote]When i kinda started my reply based on SC's UDP, witch as far as i know, is none existant when it comes to any infomation other than what a packet logger can give you.[/quote]

Try using a dissassembler -- you might get a little further.
June 2, 2005, 1:47 AM
KkBlazekK
[quote author=UserLoser link=topic=11717.msg114491#msg114491 date=1117672726]
[quote author=Blaze link=topic=11717.msg114483#msg114483 date=1117670025]
IIRC, it did have them.
[/quote]
D2GS stuff wasn't ever public, so I don't think you've seen them unless you were a naughty boy.  There were no messages ever related to in-game Starcraft things, from as far back as I can remember. I [have/had] W3GS stuff that I've been waiting to add to BnetDocs, but that's up to Arta when he wants to create a section for them.
[/quote]

Must be realm I am thinking of.
June 2, 2005, 1:51 AM
Ringo
I cant comment to much on that, cos i dont know much about assembly, but iv already figgerd out everything about the protocol that is needed to know to write a client for it / and write a playable(ish) game that supports it.
I just lack willingness to continue :(
June 2, 2005, 1:55 AM
tA-Kane
[quote author=Ringo link=topic=11717.msg114494#msg114494 date=1117673985]As for SC UDP packets, there is none, and D2GS.. must be held back from public viewing cos there is none on there.[/quote]I don't recall whether or not D2GS was held back or not when I was able to view it. D2GS packets are no longer on BnetDocs, as far as I can tell however.

The SC UDP packets I was referring to are the same ones you're able to view: PKT_SERVERPING, PKT_KEEPALINE, PKT_CONNTEST, and PKT_CONNTEST2. I'm sure that the other SC packets are similar in structure.
June 2, 2005, 2:22 AM
Ringo
ye, the few server packets that are missing from the bnet docs are the same.
I will fish them out in a bit
June 2, 2005, 2:26 AM
LoRd
[quote author=Ringo link=topic=11717.msg114511#msg114511 date=1117679160]
ye, the few server packets that are missing from the bnet docs are the same.
I will fish them out in a bit
[/quote]

0x00: PKT_GAMEDATA
0x03: PKT_CLIENTREQ
0x05: PKT_SERVERPING
0x06: PKT_SELFPING
0x07: PKT_KEEPALIVE
0x08: PKT_CONNTEST
0x09: PKT_CONNTEST2
June 2, 2005, 2:33 AM
Myndfyr
The following UDP messages are on BnetDocs:
3: [C>0x00]  PKT_GAMEDATA  
3: [C>0x03]  PKT_CLIENTREQ  
1: [S>0x05]  PKT_SERVERPING  
3: [C>0x06]  PKT_SELFPING  
1: [C>0x07]  PKT_KEEPALIVE  
1: [C>0x08]  PKT_CONNTEST  
1: [C>0x09]  PKT_CONNTEST2  

The number 3 next to them indicates that they are draft or placeholders.  The number 1 indicates that they are public.

PKT_GAMEDATA has no information whatsoever, so we can assume it isn't documented.
PKT_CLIENTREQ has information that appears complete, and so it should be reviewed by other staff for correctness.
PKT_SELFPING has no information whatsoever.

[edit] LOL Lord, it's hilarious how we both came up with the same response (more or less).
June 2, 2005, 2:36 AM
Ringo
ye he listed them,  going by selfping im not sure thats right, i think that packet is a message from the server to tell the client it will no longer be expecting UDP packets form it

the client req?

Where do u think of these names
0x03 has 2 dowrds as i remember, dword 0 means dont answer, dword 1 means answer, generaly with the opersite dword (for game pinging)

You seem to have it rapped up already tho

[edit]
there was more to the 0x06 message that what i said, but i need to check my notes on that, and im pritty sure theres another packet iv seen

[reedit]
[quote author=MyndFyre link=topic=11717.msg114514#msg114514 date=1117679775]
The following UDP messages are on BnetDocs:
3: [C>0x00]  PKT_GAMEDATA 
3: [C>0x03]  PKT_CLIENTREQ 
1: [S>0x05]  PKT_SERVERPING 
3: [C>0x06]  PKT_SELFPING 
1: [C>0x07]  PKT_KEEPALIVE 
1: [C>0x08]  PKT_CONNTEST 
1: [C>0x09]  PKT_CONNTEST2 
[/quote]
bnet docs holds back this kinda packets as well? rofl

Battle.net/Starcraft UDP Messages:
[S>0x05]  PKT_SERVERPING 
[C>0x07]  PKT_KEEPALIVE 
[C>0x08]  PKT_CONNTEST 
[C>0x09]  PKT_CONNTEST2 

this is all that is on bnet docs to a normal persion. and as far as i can remember every client below d2 uses them packets
I might have missed somthing, but can you show a client sending this message?
[C>0x06]
June 2, 2005, 2:46 AM
LoRd
[quote]going by selfping im not sure thats right[/quote]

If it's not then battle.snp contains incorrect information.
June 2, 2005, 3:07 AM
Ringo
I was just going on the factor of pinging ur self.
June 2, 2005, 3:12 AM
Ringo
because i beleave in power to the people ;)
but seems as silly things like that are kept private on bnetdocs and in that 1 case wrong, this really is "Time to Update BNet Docs" :/

[edit]
seems editors dont get time to document much in reall time, why dont u open a thread so everyone can put infomation on the table in a fast/effective/selectable manner

[edit2]
What i mean by the 1st edit is, if people were working on a protocol and want to figger out a packet or find anything about it on bnet docs but the document was nonexistant, they could post what they know on the packet and some logs, then other people who also are working on the protocol can add to that packet reserch.
Soon enough that packet would be figgerd out and would be ready to go onto bnet docs, knowng the format is true and has been well test/looked into by a number of people.
This would also give people a good chance to point out things that needed to get pointed out before the packet was put on the site (to save hastle is fixing/updating existing documents)
This also gives change for the document to be typed up by who ever once the packets format is 100% known, making little effert for the document to be added to bnet docs.
People can also look on and learn how things got worked out as they are getting wored out, as well as contribute in figgering the packets format out fast.

Bnet docs would cover pritty much everything in that sence, or the board would stand as a 2nd staging post for finding info on a packet.

Reading back on this whole topic, i seem to come across abit strongly and get abit carryed away, but im asuming ppl can see my point on this?
Once ALL protocols / packets are documented, it doesnt have to be done again. And if 1 or 2 did because of changes in a patch for example, it would probly be done quickly via this board.

This was just a quick thought up idea why i was getting carryed away i guess, but i will leave it there.

on the server 0x06 packet, i did find somthing in my logs and im 99.9% sure it comes from the server, the client just returns the same dword back.
As for the dword its self, its in MS, so im asuming server side time or somthing like that, but next to the packet log i found i had wrote that i was unable to recv it on my client when trying to recv it.
It normaly gets sent to the client after it dubble sends 0x09 to test the games state its about to join.
I cant find much more on it than that, and as for the other packet, i was unable to find a log of it, but i think it was a null dworded 0x02 but im not sure.
June 2, 2005, 3:28 AM
Arta
hmm, several things to respond to.

D2GS is not documented at BnetDocs. I removed what was there, because it was incomplete and horribly out of date. If someone would like to contribute up-to-date information, I will happily recreate the D2GS section and make it as public as the contributor requests.

BnetDocs no longer arbitrarily witholds information. This policy was changed some time ago -- about the same time that the logon requirement was removed. The only information that is private is:

- Information that the contributor has requested remain private -- I consider this reasonable. It's their research, and thus, their choice.
- Information that is incomplete, confusing, wrong, or unconfirmed. Bnetdocs is supposed to be as authoritative as possible, so only things that are confirmed as definitely correct should be there.
- Information that is potentially damaging to Battle.net or its users. I encourage this kind of information to not be added to the site at all. None has been, to my knowledge.
- Information about messages that are no longer used (ever)

I would be happy to add a W3GS section to the site if Userloser is willing to maintain it.

The entire point of bnetdocs is and was to bring 'power to the people'. If you think this is bad, you should have seen what it was like a few years ago.

Bnetdocs is not a wiki, nor will it ever be. Wikis are a great idea -- wikipedia is among the best sites on the internet imho -- but I don't think it's appropriate for bnetdocs. There's just too much unconfirmed stuff and bullshit floating around. I have placed links on every page for people to contribute material, and I do read all those contributions and add many of them to the site. I also have plans for a new section of the site dedicated to research on topics that need it. I have tried to facilitate more regular updates by adding facilities to the site for editors, and by finding people willing to help.

Ultimately, the quality of the site will depend on the amount of material contributed. Bnetdocs is a big job, and neither I nor its editors have the time to research everything exhaustively. The only way things like the SC ingame protocol will make their way on to the site is if someone does the work and sends me the information. These are proprietary protocols, and time-consuming research is the only way we'll ever be able to understand them.

I'm not sure why PKT_CLIENTREQ was set to draft. It's possible that it's no longer used. I've made it public.
June 2, 2005, 1:58 PM
raylu
I know it does, but I was asking for the headers.
June 2, 2005, 4:20 PM
QwertyMonster
[quote author=raylu link=topic=11717.msg114576#msg114576 date=1117729215]
I know it does, but I was asking for the headers.
[/quote]

I think Arta was responding to Ringo's post. Please read back and you will find Ringo talking about your headers. Why do you want the headers anyway? (FF ID word).
June 2, 2005, 4:25 PM
raylu
Holy crap...Didn't notice there were 3 pages. I was responding to tA-Kane's post on the first page (https://davnit.net/bnet/vL/phpbbs/index.php?topic=11717.msg114481#msg114481), so ignore that =\.
June 2, 2005, 4:34 PM
Ringo
[quote author=Arta[vL] link=topic=11717.msg114561#msg114561 date=1117720721]
D2GS is not documented at BnetDocs. I removed what was there, because it was incomplete and horribly out of date. If someone would like to contribute up-to-date information, I will happily recreate the D2GS section and make it as public as the contributor requests.
[/quote]
I dont mind posting my reserch on the protocol, souly in the hope it will help others (who didnt understand it already) gain a better understanding of it (and not scare them away), but seems as i used nothing but packet logs, i can only guess how close to right i am on some things..
Where would i start such a topic?
And will people be willing to contribute as well?

[quote]
Ultimately, the quality of the site will depend on the amount of material contributed. Bnetdocs is a big job, and neither I nor its editors have the time to research everything exhaustively. The only way things like the SC ingame protocol will make their way on to the site is if someone does the work and sends me the information. These are proprietary protocols, and time-consuming research is the only way we'll ever be able to understand it.
[/quote]
Yes i agree the protocol is spamy and confusing when it comes to sequance. But this only realy relates to the game room packets.
If just a small bit of this was documented for starters, it would give a good starting point for ones goal for understanding it as well as feed interest and willingness to understand more of it.
Also as far as i remember, alot of the older clients UDP protocols that support game room are basicly exacly the same.
So this generaly would cover some other clients as well.


[quote]
I'm not sure why PKT_CLIENTREQ was set to draft. It's possible that it's no longer used. I've made it public.
[/quote]
Iv got all clients other than 3RAW and PX3W, but i know 100% SC clients and W2 client still use this packet, if u would like me to quickly check the clients before them, that is not a problem, but i dont think much has changed.
June 2, 2005, 9:52 PM
Arta
[quote author=Ringo link=topic=11717.msg114622#msg114622 date=1117749129]
Where would i start such a topic?
And will people be willing to contribute as well?
[/quote]

Here. That's one of the main purposes for this forum. Bnetdocs is a reference -- for information confirmed as correct -- and is not appropriate for ongoing research.

[quote author=Ringo link=topic=11717.msg114622#msg114622 date=1117749129]
Iv got all clients other than 3RAW and PX3W, but i know 100% SC clients and W2 client still use this packet, if u would like me to quickly check the clients before them, that is not a problem, but i dont think much has changed.
[/quote]

Yes. Sounds good. Thanks! :)
June 2, 2005, 10:09 PM
UserLoser.
All UDP games use this message IIRC, just too lazy to go change it right now
June 2, 2005, 10:22 PM
JoeTheOdd
Arta, the man with no life is at your service! ("...and looking for people to help...")
June 3, 2005, 4:10 AM
Ringo
[quote author=Joe[x86] link=topic=11717.msg114681#msg114681 date=1117771811]
Arta, the man with no life is at your service! ("...and looking for people to help...")
[/quote]

For give me for not wanting to brake the 11th comandment - "he shall not be a greedy basterd"
June 3, 2005, 4:51 AM
PiaNKA
[quote author=Ringo link=topic=11717.msg114685#msg114685 date=1117774285]
For give me for not wanting to brake the 11th comandment - "he shall not be a greedy basterd"
[/quote]

That might fall under the seventh commandment, "Thou shalt not steal." -- or something...
June 4, 2005, 7:35 PM

Search