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.
- 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.
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.
The easiest way to create accounts locally would be to simply enter them manually. Make sure to use a bcrypt hashed password, a tool such as this can be used to generate one.
$2a$10$nAxC5GXU0i/dacalTX.iZuRrtpmwmZ9ZzL.U3Zroh0jeSXiswFsne
If you'd like to use the included PHP account registration, you must host it on a PHP supported web server running locally on port 80 at the path "/create/scripts/php". Webpack dev server will proxy requests accordingly.
'/create/scripts/php': 'http://localhost:80'
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 generated with the build command. If you aren't going to be making any changes to the code, then the latest release can be downloaded from here.
-
Update the query string in index.html to the appropriate version number, e.g "?v=1.0.0".
<script src="assets/scripts/client/yukon.min.js?v=1.0.0"></script>
This project is a work in progress, please report any issues you find here.