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!
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.
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.
All actions are invoked via npm
.
The following operations are available:
test
run the unit tests (with mocha)functest
run functional testsinttest
run integration tests (depends on external components)alltests
run all tests back-to-back with reduced output (also includes thelint
task below); handy as a basic smoke test before committingbench
run benchmarkslint
perform static code analysis with JSHint and JSCSdocs
generate HTML documentation with JSDocstart
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)
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).