Adventure quest worlds aqw

From FCL Wiki

Jump to: navigation, search

Shortly after the release of alpha, a tutorial was released by Cris on how to use WPE Pro to instantly kill monsters and make .spt autoers. This led to many hacks and methods that are still used today. After various cheats, LolSalad/Wahoa released the first trainer for the game coded in Delphi. It was basically a packet editor that had the game embed in the app, open source and with basic examples. This led to various trainers and cheap imitations. The next big thing were the first flash trainers by Divien and Cris, both separate but using the same methods(part of it re used from an open source scanner released by RJT). After that Cris' Trainer was decompiled and source was reused without credits by Beyond Awesomeness which then led to various flash trainers. The only thing missing were private servers which shortly came available after that thanks to developers of WQW. After some time SCRN released a program in the CEF UG that was able to leech AQW usernames from threads and other places and compiled it into a list, in that same program he had a password cracker which tried basic passwords from a different list on each of the accounts(ie: password, 123456, password123456, etc). Unsurprisingly, over 600 accounts were stolen in a couple of days due to the low intelligence of most of these players.



How to make your own trainer

Trainers are not so different from other kinds of application if you are looking at the method to make them. Obviously you need to know a programming language and must be fond of it. People prefer languages that you can easily use components and access their public functions and variables for making a trainer for AQW because to make cheating AQW easier people prefer loading it as a part of their trainer via flash component, or a browser component which loads the main page of AQW. Now the thing is that you don't have to load the game in your trainer but if you do, it makes things a breeze. As AQW is a flash game, if you make a trainer that doesn't load AQW in itself you have to go over lots of things: AQW can be in any browser so you have to monitor sent packets from all known browsers, alternatively you can just monitor all the packets sent from your computer but that'll slow things down.

You should go ahead and learn a decent programming language and learn some methods required to make an AQW trainer like API hooking(you need to hook winsock send function to learn which socket is being used by an instance of the AQW client at the moment to send any packet you want to the AQW server). Learning API hooking in general will help you a lot in the future and there are some various methods for doing it.

Open Source Trainers

You need Delphi 2009 to open the .dproj file. You also need to install Alpha Skins Lite component.

You need Flash CS4 to open the .fla file.

Packet Editing Trainers

If you're new to packet editing then you should look for a trainer. However the two possibilities are using a Packet Editor(ie: WPE Pro) or a trainer with packet editing. Basically the trainers with packet editing are made in delphi and C#(Not the only options, just the only ones used). Is features are mainly server sided since it usually consists of sending packets. Such examples are loading shops, sending messages, attacking monsters, etc. Usually combined to make an autoer.

Note: If you're using Firefox + WPE PRO then target plugin_container.exe

Flash Trainers

There are various flash trainers, some with bots and some with pretty interesting stuff you won't find in non flash trainers. Basically a flash trainer is like having control of the client, remaking the game if you'd call it. You can send packets through flash by accessing the smartfox server functions in the client, the format would be different though. You also have the ability to send in game functions, edit objects(Make things invisible, rotate them, bigger or smaller, etc). If the program you download has an extension of .swf then I suggest you get the Projectors from the Adobe site.

You can find most trainers in our FCLibrary.

How to make a flash trainer

Part 1

In this part of the tutorial, you will learn how to load the latest Swf onto your Flash application, as well as execute a simple variable change

  • 1. Start by opening up your Flash and selecting "Flash File (Action Script 3)" under your "Create New" tab.[1]
  • 2. Create 2 new layers using the button.
  • 3. Rename the bottom layer to "GameLdr" and the top for "GameHacks".[2]
  • 4. Right click on your "GameLdr" layer frame, and select "Actions".[3]
  • 5. Copy and paste this code into the actions panel.

import flash.display.*;
import flash.system.*;
import flash.text.*;
import fl.controls.*;


var sURL="";
var sFile;
var versionLoader:URLLoader;
var Game:Object;
var swfContext:LoaderContext;
var swfLoader:Loader;
var swfRequest:URLRequest;

function LoadGame() {
   versionLoader.removeEventListener(Event.COMPLETE, onVersionComplete, false, 0, true);
   swfContext=new LoaderContext(false,ApplicationDomain.currentDomain,null);
   swfLoader = new Loader();
   swfRequest=new URLRequest(sURL+"gamefiles/"+sFile);
   swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onGameComplete, false, 0, true);
   swfLoader.load(swfRequest, swfContext);

function onGameComplete(loadEvent:Event) {
   stage.addChildAt(loadEvent.currentTarget.content, 0);
   swfLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onGameComplete, false, 0, true);

function GetVersion() {
   versionLoader = new URLLoader();
   versionLoader.addEventListener(Event.COMPLETE, onVersionComplete, false, 0, true);
   versionLoader.load(new URLRequest(sURL + "gameversion.asp"));
function onVersionComplete(VersionComplete:Event) {
   var URLVars:URLVariables;
   URLVars=new URLVariables(;
   if (URLVars.status=="success") {

  • 6. Now that we have our loader, lets set our stage "Properties", make the attributes the exact same as the picture below.
  • 7. Lets begin with a simple hack, this one will edit the characters width. Start off by dragging and dropping a new button onto the stage.
  • 8. Now edit the buttons lable like so.
  • 9. Name the button "widthBtn".
  • 10. Copy and paste this code into your actions panel on your "GameHacks" layer on frame 2.
widthBtn.addEventListener(MouseEvent.CLICK, widthBtnHandler, false, 0, true);
function widthBtnHandler(M:MouseEvent):void {;
  • 11. Click on "File" and select "Publish Settings", edit them as follows.
  • 12. Click on "Publish" and your done.
Part 2:

In this part of the tutorial, you will learn how to spam code, in this case, "Looping"; we will use 2 types of loops, "while" and "for".

  • 1. Start by opening up your Flash and selecting "Flash File (Action Script 3)" under your "Create New" tab.[4]
  • 2. Now rename your layer like so.[5]
  • 3. Goto your "Actions" panel.[6]
  • 4. You may use anything in the place of what I put for spamming purposes, in this case I will use the "trace();" command, so I may see if my "Loop" is executing properly.

"while" Loop - A "while" loop only spams/loops if a value is true, for instance this code is an example of an infinite loop.

var wut:Boolean = true;
var num:Number = 0;

while (wut) {
   trace("Infinite loop example, on loop:"+num);

If that value were ever to become false, the loop would halt.
"for" Loop - A "for" loop only spams/loops until a set value is reached, for instance this code is an example of a loop that loops 5 times.

for (var num:Number = 0; num<6; num=num+1) {
   trace("Loop example 2, on number count:"+num);

That loop will halt once the value of variable "num" has reached 5.

  • 5. There you have it, now these loops are extremely useful when you want to save time and space, instead of having several lines of code one code, use a loop. (i.e. Autoers, most use several of the same packets, so replace the lines of code with a loop.)[7]

IDs for loading shops and quests

Shop and Quests IDs

Packet Editing


The first method used for hacking AQW presented by Cris when the game was released in alpha. Tutorial was released by him in CEF, on the same week that the first alpha test was released.

Guide on WPE Pro

Packet Structure

Lets take every text in between % characters in a packet as a separate variable.

The first two variables will always be the same for every packet, though meaning that they are the same in every packet doesn't mean that AE won't change them:

The third variable is always the packet type for example it can be: moveToCell, gar, afk, hi, ...
The fourth variable is the room number, for some packets like afk and hi this needs to be 1, in other packets like moveToCell you need the number of the current room (some people know this as character id in trainers instead of room number).
The fifth variable and all the variables after it are other information depending on the packet type. Think of them as arguments for a function, as it is how they treated when the packet arrives to the AQW server. For example if the packet type is moveToCell the fifth variable and variables after it include x,y coordinates and character speed.

WPE Autoers

Monster Autoers

  • 1.Open up a trainer that can save/load .spt's. Example. Hellquest, The new Trainer, Rep trainer(By Beyond Awesomness)
  • 2.Choose a monster you would like to Auto. For my example a use a chair in sleuthhound.
  • 3.Start recording packets before you enter the room. Then walk into the room and you will get a packet. It will look similar to this

The click add to list on it.

  • 4.Then continue to record packets.When your read equip a level 8 enhanced average weapon(Or the one you desire to auto with) and attack the monster and you will get a few packets that look like this

Put in all the packets you get of those and a few extra of them just incase.Then click add to list on all of them.

  • 5.Then add a respawn packet which I will give you now

And add it to the list

  • 6.After your done all that you almost done.Just add a few of these between packets in your autoer which Lowers the chance of Dcing

Then add them to the list

  • 7.Save your autoer in a .spt and you "List" is your autoer i suggest you save it so you dont have to remake it later.

Custom Items

When the first Flash trainers were released by Divien and Cris, they released the ability to load custom Armours, weapons, pets, etc. Although the effect was client sided(Only you could see it), it gave you the ability to make your own items and armours and play with them in game.

To make your own customs You'll need Flash CS3 or higher(Flash CS2 may be compatible but not confirmed).

Guide to making your own Armours

SWF List

SWF List Link
Character Builder for testing

Private Servers

Although the first Private Server was supposedly Alpha Evolution, it was never released despite the incredible hype by the creator Azzimi. The only actual proof of the server was some sketchy videos which showed a character simply moving and talking.

An AQ PS developer, Divien, created a simple PHP file which relayed the server information and logged the character in just to prove it could be done because no one seemed to have any clue on how to do it.

Eventually a programmer called XVII decided to create a server and within a few days had most the AQW server emulated, with Divien making minor function contributions and giving design ideas (for new features and so forth). XVII managed to get PvP working before the actual AQW server, which included safezones. The server was originally hosted on XVII's computer however it was transfered to a VPS shortly afterwards and soon after Cris and RJT joined the team to do client editing since XVII and Divien had no desire (I.E. Couldn't be fucked) to edit the client and learn AS3.

The server continued development for a while, and had most features of AQW at the time emulated, with the remaining few not being done because XVII rarely had time to develop and Divien was focussing on other things. The server was released to open source after XVII, Aviar (another contributor who helped out with design and documentation among other things) and Divien split from the home at the time of WQW due to disagreements with the site host (Hobo) in policies, mainly regarding the fact that a member and well known retard called Bruenor9 had payed to become a moderator despite the fact he was utterly useful and no one wanted him in that position. Cris decided to side with Hobo and stayed on, threatening to release the closed source Java files. XVII decided to release the source code (after talking to Aviar) mainly since he no longer cared about AE games in general and thought it was a waste to see the server be left doing nothing.

There are a lot of videos and tutorials showing how to setup the files for your own server on Youtube, and some modifications (although nothing major) have been done to help people add new features. XVII has said a few times that he might continue on the server at some point but since his decision to quit AQW development this seems unlikely unless a major motivation comes up.

Setting up your Server


  • WQW files (repack with MentalBlank's SWF signup)

Mirror 1:
Mirror 2:

  • Web server with PHP and MySQL

Select the web server you want to use (I use WampServer):

Set up a port forwarded server

1. Download the WQW files provided and extract them.
2. Download and install the web server of your choice.
3. Go to the "www" folder of the webserver and create a folder called "wqw".
4. Move the files from the folder "Client" in the WQW files to the "wqw" folder of the webserver.
5. Import the SQL file from the "Database" folder.
6. Edit "config.php" in "wqw" folder and "mysql.conf" in the folder "configs" in the "Server" folder to match your MySQL information.
7. To port forward, select your router from: ... rindex.htm
Click "Click here to skip this advertisement" in the upper right corner and select a random application from the lists, but instead of the mentioned port(s) use the following: 80 (TCP) and 5588 (TCP).
8. From the "Server" folder run "WinQuest_Worlds_SVN.jar" and "Start server".
9. You should be done now!


  • Cannot load mysqli extension.

1. Left click on WampServer icon in the tray on the taskbar.
2. Select PHP:
3. Select PHP extensions:
4. Make sure there is a check before php_mysqli, if there isn't one click on it. Wait a few seconds and try to load the page again.


Port forward without a double router setup

First of all this tutorial is NOT for double router setup (like main router + wireless router etc.)

  • 1. Open cmd, type "ipconfig /all" and get your internal ip, subnet mask, standard gateway and DNS servers.
  • 2. Now edit your TCP/IPv4 Protocol and click on "Use this IP-Address". Now type your internal ip and change the last number to something from 0 to 255. My internal ip was so i changed it to Then add all your other information too and click "OK".


  • 3. After that go to your router's admin page and port forward e.g. port 80 to your new static ip. My new static ip was so i port forwarded my ports to that ip.
  • 4. Allow the port from your Windows Firewall and [b]UNINSTALL ANY SOFTWARE FIREWALLS![/b]

Now other people will be able to connect to the port via your external ip BUT you won't be able to connect to the port via your external ip LOCALLY!

If you want to access a port from your external ip locally then, you will have to enable "NAT loopback" option on your router (search on google, how to do it with your router model). -Azzimi

Server Modifications

Although there's still a lot of room for improvement, here are some of the publicly released mods.
You'll need an account on the forums to see the content.

How to get SWFs

Method 1.

Tools Need

Sothink SWF Catcher

1.Go to a character page/Or if you have the name of the SWF like gamefile.swf, skip to step
2. Right Click on the page.
3. Then press Ctrl+F.
4. In the Find bar, next to "Find:", search for SWF.
5. Click "Next" until you get something you like, like helm or something. For the Helm/Armor/Weapon guide, goto "THE small AQW SWF GUIDE".
6. Copy that and paste it in this template:

7. Here's an example: [9]
8. Go to your link.
9. When at your link, open up Sothink SWF Catcher(It should be on your Toolbar if you put it there)
10. A sidebar should pop up. Right click the link and click "Save..." Save to where ever you want. You're done.

Method 2.

Step 1: Go to the character page with the character who has the item you want the .SWF for equipped.(must be equipped) e.g. I will get the BOA .SWF Then right click the page(not over the character's picture)[10]
Step 2:Go to view source on the menu that comes up [11]
Step 3:Now the view source menu comes up[12]
Step 4: When the view source window is up on your keyboard enter: CTRL+F. This should bring up a lower text finding bar. [13]
Step 5: In this bar you will type: .swf Then text should become highlighted like: [14]
Step 6: Currently the highlighted .swf is the hair .swf because it is the first .swf listed in the source, if you are not looking for the hair .swf e.g. you want the armor .swf , just press the next button on the bar to see the other .swf's, It should be easy to find what you want, I mean the alpha pirate .swf is pirate2_skin.swf, This is obviously the AP .swf.

Method 3. Downloading SWFs

Step 1: Download the Firefox Addon Download Helper [15].
Step 2: Restart Firefox and go to Tools-->Download Helper-->Preferences and under the Capture tab, add swf to the "File extensions on request" list. Restart Firefox again.
Step 3: Now go to
Step 4: You should see at the top left, the 3 swirling balls. Click on the arrow, and you should be able to download the .swf files that appear there. Click on "download" for whichever you want.
Step 5: You can save it under the equipment name you see selected in the character generator, and end the name with ".swf" so it will save it as an SWF file.

AE Cheating Toolbar

AE Cheating Toolbar was originally made by Rin of Cheat Engine Forums. The Toolbar was originally directed for users who cheated on Adventure Quest Worlds, but now it has evolved and includes all Artix Entertainment games. It compresses everything a person needs to have to successfully cheat on games made by Artix Entertainment, and also has a list of communities a user can join to receive further help and or contribute to.
Download Links are below.

Official Download Link

Secret URLs

Personal tools