Author Topic: JavaOp2 -- Beta 42! (The Real Thread)  (Read 8735 times)

0 Members and 1 Guest are viewing this topic.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
JavaOp2 -- Beta 42! (The Real Thread)
« on: March 09, 2007, 01:16:46 am »
- Re-created StayConnected plugin. Implements another attempt at detecting disconnects and acting upon them.
- Moved the 0x00 sending code from Ping to StayConnected, as it's more fitting there.
- Switched the code in the Ping plugin from SID_EXTRAWORK to the intended SID_OPTIONALWORK so it is now properly caught, and also added SID_REQUIREDWORK parsing, in responce to IX86BlueDrake.mpq and IX86FarSight.mpq annoying the life out of me. Both are debug messages.
- Re-enabled CheckRevision on a by-product basis. Currently, it is set up to throw a InvalidVersion exception (which is caught, of course) if the product is STAR, SEXP, or W2BN. This allows D2DV D2XP, WAR3, and W3XP to hash locally, although they will need their local hashing information updated (see below about _GameData.txt).
- All clients now use BNLS_VERSIONCHECKEX2, where STAR and SEXP originally used BNLS_VERSIONCHECK. This reduces the code size of BNetLogin.versioning.BNLSClient by a fair deal, and removes an ugly kludge that I had for a reason I can't even remember.
- Removed a few debugging message that I put in for myself and forgot to remove. They didn't even have any debugging value if you didn't know exactly where they were firing from, either.
- Removed all coding for RCRS. I have no intention of rewriting it for Lockdown, nor does iago, and the code was getting out of date quickly with the new BNLS support.
- Changed the BNLSClient class to save the instance of the BNLS socket once it's created. Now you only connect to BNLS once for all your data, instead of before, where it connected for both version byte and checkrevision causing twice the stress on both you and BNLS. I started this but due to some problems I ran into it's been postponed until [eventually]. It's still pretty high priority on my list though.
- Updated some hardcoded values, so we're getting closer to supporting local hashing out of the box again. However, I don't have time or resources to get the version hashes so they may still need to be updated manually, although rumor is that Battle.net doesn't care about them anymore. Delete your _GameData.txt to revert to my new settings if you'd like.
- Why was BotCore setting the version number to BotCoreStatic in it's constructor?! I've changed it so it's returned straight from BotCore as a "magic string". The Version plugin as well as StaticExposedFunctions (interface) has been updated to reflect this, and I note the API change below.
- Some pieces of data in the login blob, notably the formula and version statstring, were removed along with their terminator -- something that never should have happened. With the new removeNtByteArray() function this is corrected, and they are now followed by a terminator which is added in the function they are used in -- not to the data itself.
- BNLSClient's creation of it's socket is now tied in with the global timeout value. Previously, this was hardcoded to 5000 miliseconds and the global timeout was only used in connecting to Battle.net.
- Fixed the error where you'll fail login when using a password with some upper-case characters. Passwords are supposed to be case insensitive, but JavaOp2 wasn't setting them to all lowercase. This has been fixed for account creation, password changing, and account login.
- Better documented the BNLSClient methods, and rewrote some to do it's work slightly better.
- BNetLogin now uses the username as the CD-Key owner instead of "www.javaop.com". It just makes more sense to me. The only attention it got us was negative attention.
- JavaOp2 is once again built against 1.4!

API changes:
- javaop2_pub.util.Buffer has a new method -- byte[] removeNtByteArray(). This can be used for removing a field that is treated as a null-terminated String, but is not safe to treat as a java.lang.String due to non-printable characters (examples being the Lockdown-Style formulas and the new Version Statstrings).
- javaop2_pub.util.Buffer has a new method -- void addNtByteArray(byte[]). This is exactly the same as the above function, only backwards.
- javaop2_pub.callback_interfaces.StaticExposedFunctions has a new method -- String getVersion(). This simply returns a plain-text string stating the bot's version.

Download:
http://joe.javaop.com/javaop/Core-42.zip
http://joe.javaop.com/javaop/Plugins-42.zip
« Last Edit: October 14, 2008, 06:35:33 pm by Joe »
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Ajan

  • Newbie
  • *
  • Posts: 17
  • I have visited my profile
    • View Profile
    • War Masters clan
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #1 on: March 09, 2007, 04:46:10 am »
Great job, Joe, but it seems both links are dead, have a look.

BTW the only thing JavaOp lacks now is I guess complete documentation with all commands explained, all plugins and settings described. I know it can be all read in Swing or even in command line conf, but seriously, a complete manual would really be handy and apart from iago's installagion guide and some info about flags, JavaOp never had one afaik.

And another thing, just off the top of my head, would it be possible to create separate language files for JavaOp? I mean throw all texts in one (or few) file which could be then translated to other languages for user's convenience?
We are but packets in this Internet of life.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #2 on: March 09, 2007, 11:14:39 am »
I named the folder javaop but typed it here as javaop2. Oops, fixed.

I'm not a fan of writing documentation, really. Was there something you needed explained, or a friend of yours? Most of it was pretty self-explanitory when I started out (although, I've been a user since beta1).

I'm not sure how I'd go about localizing JavaOp2. If we had done it from the start it might have happened, but now it'd mostly consist of going through each line of code, if(staticFuncts.getLanguage().equals("enUS")) { ... } else if(staticFuncts.getLanguage().equals("esES") { ... }. Pretty ugly. :(
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Ajan

  • Newbie
  • *
  • Posts: 17
  • I have visited my profile
    • View Profile
    • War Masters clan
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #3 on: March 09, 2007, 02:12:57 pm »
Well it's not that I need to know something right now, but I've been using JavaOp for years as well and very often I encountered functions which are kinda neat (like running two bots in one process in JavaOp1 or banevasion in JavaOp1) but they are actually very difficult even to see, not mentioning solving their purpose ;) . It seems like it's rather complicated bot with all those functions and it'd be cool to read about it.

And when it comes to localization, yeah I'm no programmer but I see the difficulty. I was just curious if it's possible to rewrite the bot so it uses language files like phpbb or other cms with different languages. But if that's too much work, no problem.
We are but packets in this Internet of life.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #4 on: March 09, 2007, 04:57:39 pm »
The biggest problem with localization would be that you need a resource file for each language for each Plugin. If you have one general resource file, then you'll be missing localization for some plugins that are third-party.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Ajan

  • Newbie
  • *
  • Posts: 17
  • I have visited my profile
    • View Profile
    • War Masters clan
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #5 on: March 10, 2007, 08:19:21 am »
That was just a quetion ;) . If it's too much work, just forget it :) .
We are but packets in this Internet of life.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #6 on: March 11, 2007, 12:35:26 am »
That's exactly what I just said I was going to do, in nicer words. :P
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline O)Matt_Burch

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #7 on: April 24, 2007, 09:49:12 am »
Quote from: ajan
BTW the only thing JavaOp lacks now is I guess complete documentation with all commands explained, all plugins and settings described. I know it can be all read in Swing or even in command line conf, but seriously, a complete manual would really be handy and apart from iago's installagion guide and some info about flags, JavaOp never had one afaik.
I posted a topic.  But it is only up to 40b or c plugins.. it doesn't have the stayconnect plugin or stuff that new on there.

Hey joe, did you use my anti flood?

Also, I only use the plugins that I need to have to run the bot.  Then I just load the sleepscript plugin, and write my own scripts.  My scripts are so sexy.  I got a login script.  you whisper my bot,  "-Login Name Password" and you are logged into that account, and has that persons access and flags..  you can do that from any account..  then when you are done you type "-Logout" :D  I'm working on a freezer..  Actually I already got one done.. I'll just convert it from my one bots script source to the other.. omg ya.

Sleepscript is awesome!! but kind of a little hard to learn if you have no clue about programming or scripting at all.  There are a few basic examples, though.
« Last Edit: April 24, 2007, 09:52:14 am by O)Matt_Burch »

Offline chuck

  • Full Member
  • ***
  • Posts: 335
  • Canadian Biathlete
    • View Profile
    • Chucks Blog
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #8 on: April 24, 2007, 10:20:43 am »
Sleepscript is awesome!! but kind of a little hard to learn if you have no clue about programming or scripting at all.  There are a few basic examples, though.
Wow, people are actully using it? Well lucky for you I've been working on a new version for the last few weeks... And it will come with (actual) documentation!
Chucks Blog
JavaOp2 Plugins

Quote
Error, keyboard not connected. Press F1 to continue.

Offline O)Matt_Burch

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #9 on: April 24, 2007, 10:15:58 pm »
I got some really complex scripts.  I can make almost anything..  I make my own scripts instead of using javaop commands.  and I got a lot of extra and unique commands.  I made own userdatabases and everything.  I know someone else who is also into this, he is the one who actually told me about it.

If you have a completed documentation, I could probably make a lot more and better stuff.

Offline deskalada

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #10 on: April 11, 2008, 04:28:27 pm »
it dosent work for me it seems to have version errors.....

Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #11 on: April 12, 2008, 12:21:02 am »
Quote
- BNetLogin now uses the username as the CD-Key owner instead of "www.javaop.com". It just makes more sense to me. The only attention it got us was negative attention.

Lame.  Negative attention is fun attention.  :)
And like a fool I believed myself, and thought I was somebody else...

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #12 on: April 12, 2008, 12:37:03 am »
That's expected from a product released nearly a year ago, deskalada. If you paste your problem in a new topic, we'll try our best to help you.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #13 on: April 12, 2008, 12:41:59 am »
Oh, crap, heh, I didn't even notice this was a zombie thread.  Quick, get iago.. err.. Rodge!
And like a fool I believed myself, and thought I was somebody else...

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #14 on: April 12, 2008, 10:29:19 am »
Quote
- BNetLogin now uses the username as the CD-Key owner instead of "www.javaop.com". It just makes more sense to me. The only attention it got us was negative attention.

Lame.  Negative attention is fun attention.  :)

Hey, I didn't notice that! I remember Joe asking me if he should change that, and I said no. I figured it was best to be able to explain the situation, not leave the person confused. Plus, it made me laugh a couple times. :)

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: JavaOp2 -- Beta 42! (The Real Thread)
« Reply #15 on: April 23, 2008, 04:16:36 am »
I don't recall asking you. Oh well, I can change it back in beta43. Well, if I ever program for JavaOp2 again.
I'd personally do as Joe suggests

You might be right about that, Joe.