Skip to content

AricStewart/eleven-server

 
 

Repository files navigation

eleven-server

This is the game server for Eleven Giants.

Work in progress disclaimer: The server is currently only able to run a very 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 v0.10.x (though it may be more painful on Windows). 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 equal 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 rebuild

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 JSHint and JSCS
  • 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

About

The game server for Eleven Giants.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.8%
  • Shell 0.2%