Valhalla Legends Forums Archive | Battle.net Bot Development | Auto Update

AuthorMessageTime
PaiD
Well with Blizzard releasing a new patch for sc. I was wanting to know if anyone know how to auto download the patch and run it and then get the new info/hashes?
January 19, 2006, 2:45 AM
Kp
[quote author=Savior link=topic=13956.msg142398#msg142398 date=1137638740]
Well with Blizzard releasing a new patch for sc. I was wanting to know if anyone know how to auto download the patch and run it and then get the new info/hashes?
[/quote]

Yes.  BNLS has this functionality, though it requires a specific command to activate it (for simplicity/security's sake).  You can't easily get the magic version value, but everything else is easy enough.
January 19, 2006, 2:54 AM
PaiD
KP: you know that wasnt what I was looking for. Ok.. going with BNLS, How does BNLS do this?
January 19, 2006, 3:11 AM
Myndfyr
[quote author=Savior link=topic=13956.msg142402#msg142402 date=1137640312]
KP: you know that wasnt what I was looking for. Ok.. going with BNLS, How does BNLS do this?
[/quote]

Once BNLS is issued the command, it downloads the patch via Battle.net's FTP service, then applies the patch to its game files per the Blizzard patching algorithm.
January 19, 2006, 3:15 AM
Skywing
If you want to learn how to do this, a good place to start would be taking a stab at reverse engineering bnupdate and possibly some of the standalone patches.

You'll probably also need a library capable of understanding single block compressed and bzip2 compressed MPQs.

Unfortunately, the C API for Storm has not been updated to support either of these to my knowledge, so you're better off looking for a third party implementation.
January 19, 2006, 3:33 AM
PaiD
Hm.
Thank you Skywing, that was the answer I was looking for.
January 19, 2006, 3:36 AM
JoeTheOdd
If you hadn't made us make wild stabs in the dark (your question was quite vague), I could have answered that it was bnupdate you were looking for in about two seconds. =p
January 19, 2006, 4:08 AM
Kp
[quote author=Savior link=topic=13956.msg142402#msg142402 date=1137640312]
KP: you know that wasnt what I was looking for. Ok.. going with BNLS, How does BNLS do this?
[/quote]

Perhaps not, but you requested only whether anyone knew how to do it.  The answer to that question is "yes", as demonstrated by the BNLS features I outlined.  Be careful what you ask, and you'll get more useful answers.
January 19, 2006, 4:51 AM
MesiaH
What about creating a public server to download the newest hash files for those who don't use BNLS? I can create a compression scheme for binary files to distribute as ONE file, to cloak the file names upon download (Just incase Blizzard were to ever catch on..) This doesn't seem too hard... I'm not referring to a webserver either, i mean a special protocol made simply to download the latest updated hash files upon detection of a new patch. Just a thought.
January 19, 2006, 12:48 PM
Myndfyr
[quote author=Mesiah / haiseM link=topic=13956.msg142450#msg142450 date=1137674935]
What about creating a public server to download the newest hash files for those who don't use BNLS? I can create a compression scheme for binary files to distribute as ONE file, to cloak the file names upon download (Just incase Blizzard were to ever catch on..) This doesn't seem too hard... I'm not referring to a webserver either, i mean a special protocol made simply to download the latest updated hash files upon detection of a new patch. Just a thought.
[/quote]

That's fine, but it might require a way to auto-update on your part.
January 19, 2006, 4:20 PM
shout
StormLib is available for getting files inside of mpq files, but I don't know how well it will work with current mpq files. I'm sure it could be fixed though.
January 19, 2006, 5:48 PM
Skywing
[quote author=Mesiah / haiseM link=topic=13956.msg142450#msg142450 date=1137674935]
What about creating a public server to download the newest hash files for those who don't use BNLS? I can create a compression scheme for binary files to distribute as ONE file, to cloak the file names upon download (Just incase Blizzard were to ever catch on..) This doesn't seem too hard... I'm not referring to a webserver either, i mean a special protocol made simply to download the latest updated hash files upon detection of a new patch. Just a thought.
[/quote]

That's likely to be bandwidth-intensive (who is going to provide all of the bandwidth to distribute those new version check files to thousands of people after every patch?), and it'd be a lot easier for Blizzard to nail you on distributed copyrighted materials than with doing something like using BNLS (or a compatible system).
January 19, 2006, 6:04 PM
PaiD
Why hasnt Blizzard tried to shutdown BNLS before? I am sure they know about it or do they not?
January 19, 2006, 6:57 PM
MesiaH
What are they going to do? Its the same concept as any other bot, and thousands of users log on bots every day. From what I understand, Blizzard is in no position to make formal agreements with anything that has to do with exploiting, modifying, or cloning there software.

Aside from that, Skywing:

I understand the bandwidth issues, which would be one of the reason for compression. It may not help a GREAT deal, but a simple queue priority system would easily handle 5,000 users at the same time... Who is going to provide the bandwidth? What is wrong with your average cable modem? If there is a queue, speed would be comprimised from the get-go. Also, I understand that BNLS is undoubtably the easiest way to do this, but unless you missed it, I was referring to Non-BNLS users. Hash files are roughly 1mb, or 1.5mb's, somewhere around there. Add a compression to it, then add it to an archive, youll end up with less than 500kb. 1 single 500kb file, sustained at 5kb/s would not take too long. The server would also be responsible for distributed: "Server Busy" messages, along with a link to an HTTP server with a manual hash file download. The main idea here is, Centrilization.
January 19, 2006, 7:05 PM
Myndfyr
[quote author=Mesiah / haiseM link=topic=13956.msg142476#msg142476 date=1137697515]
What are they going to do? Its the same concept as any other bot, and thousands of users log on bots every day. From what I understand, Blizzard is in no position to make formal agreements with anything that has to do with exploiting, modifying, or cloning there software.

Aside from that, Skywing:

I understand the bandwidth issues, which would be one of the reason for compression. It may not help a GREAT deal, but a simple queue priority system would easily handle 5,000 users at the same time... Who is going to provide the bandwidth? What is wrong with your average cable modem? If there is a queue, speed would be comprimised from the get-go. Also, I understand that BNLS is undoubtably the easiest way to do this, but unless you missed it, I was referring to Non-BNLS users. Hash files are roughly 1mb, or 1.5mb's, somewhere around there. Add a compression to it, then add it to an archive, youll end up with less than 500kb. 1 single 500kb file, sustained at 5kb/s would not take too long. The server would also be responsible for distributed: "Server Busy" messages, along with a link to an HTTP server with a manual hash file download. The main idea here is, Centrilization.
[/quote]

It would be better just to host a torrent tracker.
January 19, 2006, 7:33 PM
MesiaH
lol... very good point  :P
January 19, 2006, 9:20 PM

Search