Community: JJ2Pack Specification

Page to flesh out the specification for my proposal for a general JJ2 pack for new users!!

Steps required

  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. Guide 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?)

Global requirements

  • Program should be fast enough that it is no hassle to boot Jazz2 through the program instead of directly

Step 1 (OEM version) specifics

Checks out if a player has a good (non-OEM) version. If not, it would give help on this point, explaining the issue.

Requirements

  • Uses the version number to determine the right version.
  • Gets the right explanation for that version off a list.
  • For ease of translation and minimization of neccessary text strings, for every “major” version (OEM, 1.21, 1.23, 1.24, the shareware stuff) only one explanation should be provided.

Step 2 (1.23 patch downloader)

Requirements

Guide player into downloading the 1.23 patch if needed but absent
  • Checks if patch is applicable to used jj2 version.
  • Installs 1.23 patch exe.
  • Backs up original JJ2?

Step 3 (List server configuration)

Configures the list-servers if not done correctly.

Requirements

  • Should poll a neutral server for the right server list configuration.
  • Modify the registry
  • Modify Jazz2.exe if neccessary

Step 4 (Port checker)

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.

Depending on router, this step could include forwarding the ports automatically through UPnP or similar. ~BoggyB

Requirements

  • ???????
  • Warn user about ports if they were found to be invalid.
  • Suggest fixed.

Step 5 (Utilize Port Changer)

Requirements

????

Step 6 (package manager) specifics

Interface Mockup:
Image:JJ2Pack-Screenshot-Manage Jazz Jackrabbit 2 Packages.png

Requirements

  • A neutral website should provide a packages repository with signed keys & md5 strings for packages. It should be looked into how to provide a secure package environment.
    • Look into GPG/PGP for signing
  • Application keeps track of packages (these are file archives. ZIP would be an idea), runs md5 checksums on them and makes sure at no point they are changed
  • Application keeps track of every file it has extracted
  • Application should be able to delete every file and (if these files replaced something) restore the original file
  • Intelligent episode management? (ensuring that there aren’t too many .j2e files, giving the user the choice of installing the .j2e for a pack or not) ~BoggyB