These instructions will get you a copy of the project up and running on your local machine for development purposes.
- Node.js
- yukon-server
- assets
- Clone this repository.
git clone https://github.com/wizguin/yukon
- Install node dependencies.
npm install
- Merge contents of assets into the assets folder.
- Running the dev server.
npm run dev
- Running Phaser Editor for scene editing.
npm run editor
- Building the client for production. Production files can be found in "/dist".
npm run build
- Building crumbs. This will merge files in "/assets/media/crumbs/en" into a single json file, you only need to run this when modifying crumbs.
npm run build-crumbs
Editing .scene files requires a copy of Phaser Editor.
If you'd like to use the included PHP account registration locally, you must host it on a PHP supported web server running on port 80 at the path "/create/scripts/php". Webpack dev server will proxy requests accordingly.
'/create/scripts/php': 'http://localhost:80'
See here for a simpler way to create accounts locally.
The following is required when running the project in production.
- Routes for proxying game worlds must be set up on your web server, the following is an example of an Apache configuration.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/world/login [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule /(.*) ws://localhost:6111/$1 [P,L]
ProxyPass /world/login http://localhost:6111
RewriteCond %{REQUEST_URI} ^/world/blizzard [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule /(.*) ws://localhost:6112/$1 [P,L]
ProxyPass /world/blizzard http://localhost:6112
-
Make sure to use the minified bundle and index.html file generated with the build command. These can be found in "/dist" (the contents can just be merged onto your web server).
-
To modify the outputted index.html file, edit the template file "index.ejs" and rebuild.
-
If you aren't going to be making any changes to the code, then the latest release can be downloaded from here.
This project is intended for personal use only.
This project is a work in progress, please report any issues you find here.