Skip to content

nghfp9wa7bzq/aq_classic_launcher

 
 

Repository files navigation

AQ Classic Launcher

A launcher for AdventureQuest Classic including some Quality of Life improvements.

DISCLAIMER:

I am not Artix Entertainment!
Now that I got your attention, I am a 3rd party developer unrelated to Artix Entertainment in any way, nor was this project endorsed by them.
This removes any responsibility for you using this launcher from Artix Entertainment.
Be sure you're completely aware of that before using it.

Thanks,
Nivp.

Same goes for me.
No warranties, guaranties, USE AT YOUR OWN RISK!


NOTE: It is a lot easier to just install a Ruffle plugin for your browser and use that to play AQ.

NOTE: Right now Ruffle has some issues with AQ.

  • Enemies may go down to 1 HP, but don't actually die.
  • Special triggers from monsters may persist across battles.
    (Say, a monster reduces damage by 5. Next monster does the same, regardless of monster type / name.)
  • Over time, the game becomes slow / FPS goes down.
    This is very noticeable in multiscreen mode.

These can be fixed by reloading the page / plugin and logging in again.


Version 1.8

This version is safer.
I have used the Electron docs and changed some settings.
Of course as we are dealing with the web, it can never be safe.

After some digging, I don't think this project can be done without the use of Electron or something similar.
(i.e. only using a JS and a HTML file - making it a lot simpler)
Mostly because CORS.

Version 1.6

In November 2023, I came across this launcher.
I have spent many hours to try to understand how it works and to update it.
This version kinda WORKS, but as it does not follow the electron security guidelines,
I would consider it UNSAFE.

How it worked:

"Electron embeds Chromium and Node.js to enable web developers to create desktop applications."
This application opened a Chromium browser tab and loaded the flash plugin into it with the right params to load AQ.
It could also open new tabs or for Multiscreen use one tab and load the flash plugin multiple times.
One could then package all this for multiple platforms.
However, you still needed to install Node.js and npm.

How it works now:

As flash is now considered dead, it would be a security risk to load a flash plugin.
More importantly as Chromium has dropped support for it,
you could only load it into an old Chromium version.
This of course would be a bigger risk...

BUT there is Ruffle.
It is a highly supported alternate plugin to play flash content.
You can just install it into your browser and play flash games again.
Some game sites load it automatically for you.

So I could have loaded the ruffle extension for Chromium into this project,
but that would have been harder and thankfully Ruffle can be loaded just like any other JS library.
(At this point, I thought, why use electron?
I could just as easily make a HTML file and a JS file that load Ruffle.
You could just open this in any browser.)

NOTE that drag and drop and isDev modules have been removed from the dependencies,
because they are old and may be vulnerable.
Also I have started to reorganize the project, which is only partially done.
I have mode parts of the JS code to the modules directory.
Popop menu content (like war wins) is no longer working because the AQ website has changed.
This could be fixed, but of course you can just as well open a normal browser to check them...
(Popup wasn't a priority to get working again...)

Multiscreen works, but it seems that all game objects only use one CPU core,
so it becomes a slideshow at 4 screens...
Using 4 browser windows seems to do a bit better...

NOTE right now with Firefox the Ruffle plugin 'lingers' after closing the game tab.
This is using CPU unnecessarily.
(I mean instead of using this project.)
NOTE Ruffle is a WIP - work in progress.
There may be issues with playing flash content.
I have found that sometimes you can't kill a monster.
It will have 1 HP, no matter how long you hit it.
The only solution is to close the tab and start a new one, and then relogin to AQ.
This project uses the latest Ruffle.
Hopefully these problems will be fixed soon.

NOTE all this has ONLY been tested on Debian 12 linux.

First install Node.js (and npm).
Install this project with: (inside the downloaded project folder)
npm install
Start with:
npm start

ORIGINAL README:

Features

Feature List:

  • Automatically fetches most recent AQ version.
  • Tabbed interface: load up several characters at the same time
  • Multiscreen support: Open several AQ instances on the same tab
  • Character page loader: Input a character ID and press "Go" to open it in new tab.
  • Keyboard Shortcuts:
    • F4 to clear cache
    • F5 to refresh
    • Ctrl+F5 to refresh and clear cache
    • F11 toggle full screen
    • Ctrl+Shift+I to open the Developer Console
  • Menu icon for various AQ resources that open in a draggable window.
  • Change the current tab's server to play on multiple servers or accounts.

Screenshots: https://imgur.com/a/QrbBoN2

Architecture

Building from source

Install Requirements

npm install

Include Flash Player plugin

Do note that per the Adobe Flash Player license agreement I can't distribute it, and you are therefore required to include it yourself in the resources folder. The most recent Flash version that doesn't include the Killswitch is 32.0.0.371. The plugins should be renamed as follows:

Linux 32-bit: libpepflashplayer_32.so

Linux 64-bit: libpepflashplayer_64.so

Windows 32-bit: pepflashplayer_32.dll

Windows 64-bit: pepflashplayer_64.dll

OS X: PepperFlashPlayer.plugin

ARM Linux: libpepflashplayer_armv7l.so

Package

Windows:

Windows has a script to automatically build for all available platforms:

./build.bat [version]

For example:

./build.bat 1.4.4

Otherwise run the same command as Linux for manually building for each platform.

Linux:

npm run package-[platform]

Platforms: mac, win, win64, linux, linux64, linuxarmv7l

For example, building to Windows 64-bit would be:

npm run package-win64

About

Unofficial AdventureQuest launcher

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 74.1%
  • CSS 9.5%
  • HTML 9.0%
  • Batchfile 7.4%