Visit the Discord server for more support.
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.
This project is intended for personal use only.
This project is a work in progress, please report any issues you find here.