Reference Source Test

WTF?! Adventure

Node CI Code Coverage WTFPL ESDocs Coverage Version

WTF?! Adventure is a massively multi-player online open-source project based on Little Workshop's 2012 demonstration for HTML5 WebSockets - BrowserQuest (BQ) and a subsequent fork called Tap Tap Adventure (TTA). WTF?! Adventure is completely open-source, allowing its community to collaborate and aid in the perfection of the game. Anyone is free to create their own derivative of WTF?! Adventure, with no strings attached.

Features & Functionality

Todo List

Running WTF?! Adventure

Running the server is fairly straightforward, for the most part. If you already have everything installed and configured you can skip directly to step 3.

Step 1 - Install the client dependencies

In the command line run: npm install

Open the client/config.json file and update the ports and settings to meet your needs.

Step 2 - Install the server dependencies

In the command line run: cd ./server && npm install

Open the server/config.json file and update the ports and settings to meet your needs. The secretKey should be a strong password that has been base62 encoded.

Step 3 - Install MySQL

Skip this step if you already have MySQL installed.

Windows: Use XAMP or install MySQL Shell.

Mac: Install MAMP for a graphical user interface. Install Homebrew then you can run the commands npm run mac-install-mysql

*nix: Install using Apt npm run apt-install-mysql or Yum npm run yum-install-mysql or dnf npm run dnf-install-mysql

Step 4 - Make sure MySQL is up and running

Start MySQL and make sure it's running.

Windows: Run XAMP or MySQL Shell

Mac: Run MAMP or if you installed using Homebrew run npm run mac-mysql-start

*nix: Use npm run nix-mysql-start

Step 5 - Run the NodeJS server

In the command line type: npm run wtfserver

Step 6 - Run the NextJS app

If you've never run the project before then you need to build it first: npm run build

Once you have a build you can start the game using: npm start

Step 7 - View in Browser

Now open your browser and navigate to http://{ip}:{port}/ as defined in your client configuration file. Typically this will be http://localhost:3000 if you use the default webpack and client configuration settings provided.

Troubleshooting