/yukon

Primary LanguageJavaScriptMIT LicenseMIT

Yukon

Visit the Discord server for more support.

Yukon Discord members

Built With

Local Installation

These instructions will get you a copy of the project up and running on your local machine for development purposes.

Prerequisites

Installation

  1. Clone this repository.
git clone https://github.com/wizguin/yukon
  1. Install node dependencies.
npm install
  1. Merge contents of assets into the assets folder.

Usage

  • Running the dev server.
npm run dev
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

Scene Editing

Editing .scene files requires a copy of Phaser Editor.

Account creation

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.

Production Usage

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.

Disclaimer

This project is intended for personal use only.

This project is a work in progress, please report any issues you find here.