My goal with this final release is to polish the bot inside and out, so that it'll be able to be used hassle-free until JavaOp3 comes out.
javaop2_pub - This package has been removed from the source tree.
javaop2 - This package is now the build target for all plugins. I don't know why there were two in the first place, but it's fixed now. javaop2 - util.Statstring - New class for statstring parsing. Can currently parse client IDs, as well as wins for StarCraft and WarCraft II, and clan names for WarCraft III.
javaop2 - constants.PacketConstants - Gave names to a ton of unknown packets. Still need to re-do []packetConstants.
BNetLogin - versioning.BNLSWrapper - Updated the list of BNLS servers. Current list: alendar.no-ip.org, jbls.org, jbls.idiat.com, distant.no-ip.org, ribose.no-ip.org, phix.no-ip.org
BNetLogin - versioning.BNLSWrapper - Rewrote getVersionByte and getVersionCheck to be much more readable, and use a more solid method of dealing with broken servers. Now, the server will be removed from the list and the function will recurse. Also, this gives a bit less error output.
BNetLogin - cdkey.War3KeyDecode - Verified that new 26-character keys work correctly with Diablo II and WarCraft II. It's been like this from the start, but I finally verified it
BNetLogin - cdkey.CDKeyDecode - This class is now used only to construct the other decoders. Numeric decoding moved to its own class.
BNetLogin - cdkey.NumericKeyDecode - New class based off of CDKeyDecode. BNetLogin - The Warden packet won't show up as unhandled anymore:
[22:28:21.958] ERROR: [BNET] Ignoring Warden challenge -- Disconnection in two minutes.
SwingGui - gui.ChannelList - A user's clan is now listed if they're on WC3.
Also, the login output has changed. Several of the redundant lines have been removed, and [BNLS] and [BNET] tags have been added, Stealthbot style:
[17:43:34.489] INFO: [BNLS] Server set to alendar.no-ip.org
[17:43:34.551] INFO: [BNET] Looking up useast.battle.net..
[17:43:35.401] INFO: [BNET] Got 1 addresses. Using: useast.battle.net/63.240.202.121
[17:43:35.405] INFO: [BNET] Connecting..
[17:43:36.613] INFO: [BNET] Connected to /63.240.202.121:6112
[17:43:36.626] INFO: [BNLS] Server set to alendar.no-ip.org
[17:43:36.653] INFO: [BNET] Switched to binary chat protocol.
[17:43:40.009] INFO: [BNET] Authorization info sent, waiting for reply.
[17:43:44.565] INFO: [BNET] CDKey and Version check sent.
[17:43:46.053] INFO: [BNET] CDKey and Version check successful. Attempting to log in.
[17:43:47.687] INFO: [BNET] Logon successful! Entering chat.
DOWNLOADS:
JavaOp2.zip is all the JAR files, which as always include the source code. (1.2MB)
JavaOp2 Source.zip is the source files, directly swiped from my Eclipse workspace after a clean operation. (1.0MB)
You should prepend com.javaop. to all your package names, and use a manifest to instruct the bot on how to load plugins. Currently, you're exploiting an implementation quirk of JVMs where ClassLoaders have scope. If you were to run JavaOp in a (theoretical) JVM that kept all classes in a globally visible scope, your plugins would clash for sharing the same class names.
I'm not sure, but I think that'd require a ground-up re-write for the most part. I feel that beta 44 will be the final beta of JavaOp2, and I'm trying to clean up all the code to the point that it's copypasta-ready for JavaOp3.
A ground-up rewrite to do some refactoring? lol...
Quote from: Chavo on June 23, 2009, 08:06:30 PM
A ground-up rewrite to do some refactoring? lol...
I believe he's suggesting a change to the core way the bot works -- it would break compatibility with every plugin. It'd be a *ton* of re-writing.
Maybe not ground-up, but pretty close!
Quote from: iago on June 23, 2009, 08:11:41 PM
Quote from: Chavo on June 23, 2009, 08:06:30 PM
A ground-up rewrite to do some refactoring? lol...
I believe he's suggesting a change to the core way the bot works -- it would break compatibility with every plugin. It'd be a *ton* of re-writing.
Maybe not ground-up, but pretty close!
Ground up, minus the few servings of copypasta I mentioned earlier.
You should include the date for any changes/updates made to the bot when you edit your post. You know, to keep changes clear. Or alternatively, just paste the changelog if you're keeping one. :P
Keep it up, Joe.
JavaOp3? lol.
How about COp? Let's write a bot in C! I even have a cool slogan:
COp -- Policing your channel since 2009
I thought of Cop and realized it'd be a really lame name. That, and I don't know enough C. That's an awesome slogan though, I'll keep it in mind.
Quote from: Newby on June 24, 2009, 02:27:37 PM
JavaOp3? lol.
How about COp? Let's write a bot in C! I even have a cool slogan:
COp -- Policing your channel since 2009
I'd do it.
I'd be down to give it a shot. C or C++.
Quote from: iago on June 23, 2009, 08:11:41 PM
Quote from: Chavo on June 23, 2009, 08:06:30 PM
A ground-up rewrite to do some refactoring? lol...
I believe he's suggesting a change to the core way the bot works -- it would break compatibility with every plugin. It'd be a *ton* of re-writing.
Maybe not ground-up, but pretty close!
The refactoring is trivial (at least it is with Eclipse), and modifying the plugin loader to get the plugin's main class name from a manifest would take fewer than 5 lines of code. Nothing would need to be re-written.
Where is the download link for this? :o
Quote from: tazo on July 07, 2009, 11:23:35 AM
Where is the download link for this? :o
Joe attached them to the post, which means only x86 members at the moment can download them.
Hopefully someone uploads them somewhere. :)
Or fixes the permissions on the forum.. :P
Well could one of you download it, megaupload it and PM me a link? I would appreciate it.
Didn't joe recently put this on google code?
Probably
http://maide.ca/javaop/
I also updated the change log, and categorized new things as they were in the last change log.
Yeah, it's on google code, but there are no downloads there.
Thanks blaze!
Quote from: tazo on July 07, 2009, 05:44:12 PM
Yeah, it's on google code, but there are no downloads there.
Thanks blaze!
The google code one is beta 43. I haven't updated the SVN, and I'm pretty lazy.
Quote from: Joe on July 11, 2009, 09:36:53 PM
Quote from: tazo on July 07, 2009, 05:44:12 PM
Yeah, it's on google code, but there are no downloads there.
Thanks blaze!
The google code one is beta 43. I haven't updated the SVN, and I'm pretty lazy.
Yeah, that right-click commit can be pretty tough.
Quote from: MyndFyre on August 03, 2009, 07:22:43 PM
Yeah, that right-click commit can be pretty tough.
He wanted to send me a zip of the source so I would commit it for him...
[edit] I wonder if he'd have sent it to me with .svn directories intact X'D
Still no download link? Someone release it ;D
They're attached to the first post. You could go to the members thread and PM a leader, asking them to fix permissions. They won't do it for me.
http://maide.ca/javaop/JavaOp2_b44.zip