• Welcome to Valhalla Legends Archive.
 

CheckRevision Database

Started by Barabajagal, March 28, 2007, 10:13 PM

Previous topic - Next topic

Barabajagal

As some of you know, I've had a database of CheckRevision values running on my site for a while (This Place). I've just completed a handy VB6 DLL file that will let people use it. You can download it at http://realityripple.com/Uploads/RRCRev.zip . Please read the Readme before asking questions on how to use it.

As of today, my database has 97.4% of the DRTL values, which was the main reason I made this (since BNLS doesn't support it). It also has 46% of the SC values, and at least some values from every game. The good news is that this database is updated constantly by people who use my bot (and by me adding values manually). The bad news is, like any other database, one change and it's all obsolete. Luckily, I'm stubborn, and if something DOES change, I'll add more values to it.

Right now, the DLL doesn't allow uploading values to my DB, because I don't want to deal with people sending bad data. Hope it's useful to those of you who still want to support D1.

Smarter

I am waiting on MyndFyre to update MBNCSUtil, to support BNLS CRev, then I plan to Add a CRev Logger to my bot, however I didn't think of having it support DRTL, but I believe I will. I was thinking of make a DB Program to run on my windows server, that my bot would update it's CRev values to, but I am trying to think of a way for the Server to Verify the values sent to it (to avoid corruption), have any ideas?
Since '99

BrutalNet.Net

Smarter

With alot of effort I could possibly produce something that resembles MBNCSUtil, however MyndFyre is an amazing C# programmer, far beyond my current skill level, and I could probably add BNLS to MBNCSUtil, but again, he is far more skilled, and would be able to produce a much stronger result, I would most likely do allot of repetitive coding that he wouldn't as he has professional experience in programming in C#, as well as tricks, etc.
Since '99

BrutalNet.Net

MyndFyre

Quote from: brew on March 30, 2007, 05:27 PM
second thing: BNCSUtil was never intended to use ...bnls...
if you want bnls support, you would have to add it on your own. And a checksum logger isn't terribly hard to do at all. My plan (however) is to catch all the checksum formulas that my db doesn't have, then later use my own bnls checksum finder bot to get the values for those.

Well, since I didn't write BNCSUtil, but I did write MBNCSUtil, don't I get to decide what is in or out of the scope of my own project?

BNCSUtil also never intended to have packet/data buffers or readers, MPQ support, or Battle.net FTP support.  The packet stuff has been in since 1.2, and MPQ and FTP support is part of 2.0 in MBNCSUtil.

MBNCSUtil is not a wrapper for the BNCSUtil library.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

warz


Hell-Lord

Quote from: ♥ on March 30, 2007, 06:26 PM
it's ok. it's just brew.

:P

Quote from: [RealityRipple] on March 28, 2007, 10:13 PM
As some of you know, I've had a database of CheckRevision values running on my site for a while (This Place). I've just completed a handy VB6 DLL file that will let people use it. You can download it at http://realityripple.com/Uploads/RRCRev.zip . Please read the Readme before asking questions on how to use it.

As of today, my database has 97.4% of the DRTL values, which was the main reason I made this (since BNLS doesn't support it). It also has 46% of the SC values, and at least some values from every game. The good news is that this database is updated constantly by people who use my bot (and by me adding values manually). The bad news is, like any other database, one change and it's all obsolete. Luckily, I'm stubborn, and if something DOES change, I'll add more values to it.

Right now, the DLL doesn't allow uploading values to my DB, because I don't want to deal with people sending bad data. Hope it's useful to those of you who still want to support D1.

Well done on getting d1 working :D

Spilled

Quote from: brew on March 30, 2007, 05:27 PM
Edit***
or skywing can release the checkrevision formulas all together and save us very much trouble, and save bandwith too. there is absolutely no valid reason to hold it back from the general public.

Speak for yourself. First off, he did the work and research for getting the formula, NOT YOU So therefore you have no say so. Second off, he host a public server at no charge so you can actually have a working bot.

Let me say on behalf of the community, Thank you skywing. Brew, your a moron.

Mystical

I'm still wondering why brew is talkin about BNCSutil.dll when we are talkin about MBNCSUtill

rabbit

Quote from: Spilled on March 31, 2007, 01:52 AM
Thank you skywing. Brew, your a moron.
I've been saying that since he started posting!  ARG!
Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

Smarter

Ok ok ok, can we all stop this now, and someone post about the last INTELLIGENT post?

I am waiting on MyndFyre to update MBNCSUtil, to support BNLS CRev, then I plan to Add a CRev Logger to my bot, however I didn't think of having it support DRTL, but I believe I will. I was thinking of make a DB Program to run on my windows server, that my bot would update it's CRev values to, but I am trying to think of a way for the Server to Verify the values sent to it (to avoid corruption), have any ideas?
Since '99

BrutalNet.Net

rabbit

Have the logger store everything so that you can double check it later if it's suspect.  Also, have the logger report success/failure.  I realize all this can be faked, but really...who would do that?
Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

Smarter

People who dislike me, but i'd like to make sure the db is 100% accurate on the fly, because I want to have my bot try to use it in the times that BNLS is down (not till it's got quite alot of values in it tho). I was thinking, to increase the security of people tampering with it, that I could have my bot send some type of ... key, that has to match up before it allows anymore, so like:
C > S : "f1234b3b123123123f1f167"
S > C : 0x01 (Pass)
C > S : CRev Values
S > C : 0x05 (Thanks ;) + Disconnect)

Looking @ that, it seems like a waste of coding, but I was hoping to find a way to test the values, like have the server slowly test them (it's win2k3 of course), but all this brings me to my second question:

How exactly does one use a CRev database? I mean, I know how to make one (you save the values returned from BNLS for 0x50 (mpq, request, exever checksum result)), but how would you use that in your program...
Since '99

BrutalNet.Net

l2k-Shadow

Quote from: Smarter on March 31, 2007, 12:36 PM
People who dislike me, but i'd like to make sure the db is 100% accurate on the fly, because I want to have my bot try to use it in the times that BNLS is down (not till it's got quite alot of values in it tho). I was thinking, to increase the security of people tampering with it, that I could have my bot send some type of ... key, that has to match up before it allows anymore, so like:
C > S : "f1234b3b123123123f1f167"
S > C : 0x01 (Pass)
C > S : CRev Values
S > C : 0x05 (Thanks ;) + Disconnect)

Looking @ that, it seems like a waste of coding, but I was hoping to find a way to test the values, like have the server slowly test them (it's win2k3 of course), but all this brings me to my second question:

How exactly does one use a CRev database? I mean, I know how to make one (you save the values returned from BNLS for 0x50 (mpq, request, exever checksum result)), but how would you use that in your program...

Perhaps for few hours daily, have starcraft (or another game that uses lockdown) run on the server. Code a fake local server for it and then have starcraft automatically connect to localhost, have the server send it a 0x51 packet with the values retrieved that day and check the sc response against the one received.

Of course doing this would be a complete waste.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

Smarter

Hmmm, would that even work? I'm actually not sure how I would even go about doing that.... but thanks for the idea! I know it would be a waste but you see, my windows server just sits there, I have no worry about letting a program run and test the values, etc, and if bnet changes it, I can just have it test the existing values from the beginning removing bad ones, and testing any new ones.
Since '99

BrutalNet.Net

Barabajagal

I added values to my server by requesting values from the server constantly and storing all the request data. Then, when I've got enough values, I have another program I run that automatically does a constant reconnect on D1, connecting to my fake server program (the one that does the reconnect for d1) so that I can get all the correct results. Then I have a third program upload them all to my database. (The reason for the three programs is so other people can gather values as well, and I can collect and upload them all at once myself.