Skip to content

Latest commit

 

History

History
89 lines (70 loc) · 3.35 KB

README.md

File metadata and controls

89 lines (70 loc) · 3.35 KB

eleven-server

This is the game server for Eleven Giants.

Work in progress disclaimer: The server is currently only able to run a limited portion of the game. To actually start up the client with it, additional components are required, which are not publicly available at this time. If you want to get involved in the development process, please let us know!

Prerequisites

Development and testing usually happens in our Debian based Vagrant VM, so that is probably the least painful way to get up and running. Setup instructions for the VM can be found in our internal wiki.

For the adventurous, it should be possible to run the server on most platforms that support Node.js v6. At the moment you also need Python 2.7 for the GSJS preprocessor script.

Setup

Note: The following setup steps are not necessary if you are using the Vagrant box and created the VM with the eleven-server and eleven-gsjs repos already present.

Clone this repository and eleven-gsjs in the same parent directory. Directory names are assumed to match the Git repository names. Call

npm -s run preproc

to run the preprocessor script that prepares the GSJS code for embedding in the game server.

Once that has finished successfully, compile the required non-JS npm packages:

npm install

If you are running the Vagrant VM on Windows, add --no-bin-links as an argument (necessary because symlinks cannot be created in folders shared between the VM and the Windows host).

The server expects environment specific parts of the configuration in a file called config_local.js in its root directory. Copy one of the config_local.js.SAMPLE_* files and adjust it according to your needs.

Operation

All actions are invoked via npm. The following operations are available:

  • test run the unit tests (with mocha)
  • functest run functional tests
  • inttest run integration tests (depends on external components)
  • alltests run all tests back-to-back with reduced output (also includes the lint task below); handy as a basic smoke test before committing
  • bench run benchmarks
  • lint perform static code analysis with ESLint
  • docs generate HTML documentation with JSDoc
  • start run the server

These scripts can be called using npm run-script (or the alias npm run); the -s flag hides distracting additional output, e.g.:

npm -s run test

To run specific tests or benchmark suites, append arguments for the test or benchmark runner with --, e.g.:

npm -s run test -- --grep objrefProxy
npm -s run bench -- utils.js

(this requires npm >= 2.0.0)

Contributing

Help is always welcome! If you are interested, please [get in touch] (http://elevengiants.com/contact.php) to get access to our [Slack] (http://slack.com/) instance, internal documentation, guidelines and other resources.

(If you are in fact already signed up and ready to go, have a look here).

License

MIT