Log in

View Full Version : [PROPOSAL] General JJ2 Utility/Patch/Package manager


FQuist
Nov 4, 2007, 11:29 AM
In recent years some cool tools have been written: Carrotade, the JJ2 port changer, JJ2 1.23, etc. These greatly enhance the game, yet you have to know about them to get them, and most people won't ever install them.

Additionally, it appears the userbase of JJ2 is still gaining new people, but as time flies by a very huge amount of them have issues with having wrongful versions, no patches or firewall/router problems. Many will leave or get stuck.

I'm wondering if the following might encourage more adoption of JJ2 and more JJ2 players and less of a "divide" between the different groups of players:

A general "JJ2 Addon" package promoted on every major JJ2 website, replacing links to other utilities. This to create some sort of "main" popular utility that would be mainstream and distributed by relevant sites. Even some less than good sites if people are naughty. It would be doing, for example, the following:

1. Checks out if a player has a good (non-OEM) version. If not, it would give help on this point, explaining the issue.
2. Guides player into downloading the 1.23 patch if needed but absent
3. Configures the list-servers if not done correctly.
4. Finds out if necessary ports are closed and tries to troubleshoot the user in opening them (finding out router, linking to proper guides?). This beats users testing out the game and thinking it doesn't work.
5. If this fails, utilizes Blur's port changer to possibly get around this issue. It could also provide a http serverlist tool to get around the listservers not working.
6. Enable the user to install common packages (Carrotade/NeoAC for security, etc)
7. Installs a patch/hook to enable the player to join 1.23/1.24 servers.
8. Perhaps allow for some other basic things that "elite" players easily know how to do but most don't (Nick/Colour stuff, general controller stuff?)

If such a tool were made, and open-sourced so that development could go on even if its creators failed, I think it might help make a lot of people's lives easier. C++, being one of the languages with the least dependencies upon libs, might work well for a thing like this. Anything like VB.NET/C# would need .NET, Java would require a Java VM, etc... Python might also be an accessible possibility. It'd probably be easy to bundle with the app.

It would probably be easy to make. Its main things would probably be polling the registry/jj2 for the right version, downloading/managing patches and polling the firewall for the right ports (that might be the hardest part). I would gladly help.

Any thoughts, suggestions and additions are appreciated.

Some more thoughts:


I question the legality of such a thing - I doubt it's legal, but if it is, might there be some way to convert/patch OEM versions to the official ones? Possibly ask developing companies for permission for this?
Level package/dependency management would be cool. A hook for this installed into the game would be even cooler. Say, you download a pack but you lack a tileset. A prompt could come up to download this tileset for you.

Falcury
Nov 4, 2007, 12:02 PM
Sounds like a great idea. I could help, but to be honest I've never programmed in C++ before (if we were to use that). I'm interested to see how this plays out.

Torkell
Nov 4, 2007, 12:11 PM
I actually had a go at one a few years back, but didn't do much more than a very basic design. I'll have a look and see if I've still got it.

Haze
Nov 4, 2007, 03:01 PM
It sounds like a very reasonable and welcome idea indeed. I'd be willing to support it were it ever to materialize. I'd like to make one suggestion though: from point 2 I get the feeling you were thinking of a framework where needed packages are downloaded on the fly?
I would like to add it might be a good idea to also give the option to use a local source for such packages, so a player can easily update and patch a copy of JJ2 on a computer without an internet connection. Perhaps you had thought of this but it seemed a good idea to also have this written down. :)

Bobby aka Dizzy
Nov 4, 2007, 04:40 PM
That's a great idea, FQ. Given the large number of new foreign players translating it might be kept in mind too.

Black Ninja
Nov 4, 2007, 05:38 PM
That's an awesome idea, Frank.

I'd be glad to help in any way I can (if you ask me to do something and I take forever to do it, remind me; I've probably forgotten).

Monolith
Nov 4, 2007, 06:31 PM
I had started work on something like this a while ago, but I did not get the support or time needed to continue. And unfortunately now I don't think I can put the time into it any more.

FQuist
Nov 4, 2007, 09:30 PM
Bob, good point. It would be great if the program had the ability to be interlingual.

FQuist
Nov 6, 2007, 09:14 AM
I'm currently a bit at a loss with how to set it up. I hope someone runs with the concept and makes it, since webdevelopment is my primary domain and application development and game hacking are kind of entirely new for me.

I'm having some issues making the exact desirable design clear. If one of the experienced developers like Mono or Bob could set aside 10 minutes sometime and find me on irc when they have that time, that would be great. The ideas I posted are kind of complicated in how you would set up a program that does something like that (because it combined wizard, package manager and "launcher" aspects. maybe too much) and I haven't thought of how to implement them. I will also be too unknowledgable to do the ports check & configure thing. I can probably help out on/do most other things, if specifications are fleshed out.