• Welcome to Valhalla Legends Archive.
 

Version Bytes

Started by Eric, December 20, 2003, 04:27 PM

Previous topic - Next topic

Eric

Is there any way to retrieve the current version byte from Battle.net after a patch?

UserLoser.

No, the only way would to be search the game's files that were extracted from the new MPQ after a new patch

iago

#2
You can [ugh, I hate myself for saying this] use BNLS's BNLS_REQUESTVERSIONBYTE
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


UserLoser.

#3
Actually what i have my client do is automatically increment the version byte by 1 (saved to registry).  Then it automatically downloads the MPQ - but that's pretty much useless :P  Then if the user adds the new game files for the patch to where they should be, and the user tries to connect to bot; if the bot gets unrecognized version, it adds 1, and does this process over and over to try and guess the version byte a few times - Good enough for me ;D

Dark-Feanor

Packet log the client and manual find it
- Feanor[xL]
clan exile
Firebot
iago: "caps lock is like cruise control for cool"

DarkMinion

Unless you're doing a client-side version check, why download the MPQ?  DMBot 3.0.5 auto-downloaded the MPQ's, but only because it did all the version check stuff client side...

Skywing

Quote from: UserLoser. on December 20, 2003, 04:56 PM
Actually what i have my client do is automatically increment the version byte by 1 (saved to registry).  Then it automatically downloads the MPQ - but that's pretty much useless :P  Then if the user adds the new game files for the patch to where they should be, and the user tries to connect to bot; if the bot gets unrecognized version, it adds 1, and does this process over and over to try and guess the version byte a few times - Good enough for me ;D
You should check the previous version code first before incrementing, otherwise your program won't handle patches that don't change the minor version number (e.g. 1.13a -> 1.13b).  In any case, I don't much see the use for this if you aren't going to automatically run the patches.

UserLoser.

#7
Quote from: Skywing on December 21, 2003, 01:17 PM
Quote from: UserLoser. on December 20, 2003, 04:56 PM
Actually what i have my client do is automatically increment the version byte by 1 (saved to registry).  Then it automatically downloads the MPQ - but that's pretty much useless :P  Then if the user adds the new game files for the patch to where they should be, and the user tries to connect to bot; if the bot gets unrecognized version, it adds 1, and does this process over and over to try and guess the version byte a few times - Good enough for me ;D
You should check the previous version code first before incrementing, otherwise your program won't handle patches that don't change the minor version number (e.g. 1.13a -> 1.13b).  In any case, I don't much see the use for this if you aren't going to automatically run the patches.

Well for that case that was War3, where the bot uses BNLS - Otherwise, oh well.  Maybe somehow i can figure something else out

Edit:  What you said about the minor version number gave me an idea. Looking at the exe's version minor matches the version byte, but only for d2/w3 - maybe all future patches, the exe minor version will be the version byte

Best i can do without knowing how to extract the mpqs or whatever you do~

Skywing

Quote from: UserLoser. on December 21, 2003, 01:22 PM
Well for that case that was War3, where the bot uses BNLS - Otherwise, oh well.  Maybe somehow i can figure something else out
Quite a few other games have had these kinds of patches, such as Starcraft / Brood War and Diablo II / Lord of Destruction.