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.