The code base as seen in https://legion.di.fct.unl.pt.
You will need node (npm) [https://nodejs.org/en/] and openssl [https://www.openssl.org]. During installation you will be asked for details to create a certificate. Each of these can be left empty (just press enter).
To install run:
git clone https://github.com/albertlinde/Legion
cd Legion
npm install #obtains required dependencies and setups development keys.
To install existing games built on top of legion:
cd applications #these folders are expected in the applications folder.
git clone https://bitbucket.org/pfouto/legion-shooter.git
git clone https://bitbucket.org/pfouto/pacman-mp.git
Startup now runs on ports 80 and 443. This requires running with sudo!
If you whish to use other ports (that don't require sudo) change the ./framework/server/config.js file.
To run the servers:
cd ./framework/server/
sudo node ProdServer.js #http and signalling
sudo node ObjectsServer.js #object storage
Opening https://localhost in your browser will give the same page as https://legion.di.fct.unl.pt. This will give a warning as you are currently using self signed certificates (https://letsencrypt.org lets you obtain free certificates for deployment).
- /applications contains example applications.
- Please only refer to examples/index.html. Other pages have working source but not updated textual content.
- /framework contains legion.
- /framework/client has client only code.
- /framework/client/protocols has overlay and messaging protocols.
- /framework/server has server (NodeJS) code.
- /framework/shared has code used by both client and server.
- /framework/shared/dataStructures has used data-structure implementations.
- /framework/shared/crdtLib has CRDT implementations.
- /extensions/ currently has Google Drive Realtime adapter implementations.
./compile.sh #builds minified JS files
The folder ./framework/server/keys contains all key files (after running npm install). To use your own keys, simply replace the existing keys with your own. Note that running npm will not replace/remove existing keys.
LegionOverlayVis - A simple peer-to-peer overlay network visualisation tool.
Albert van der Linde http://novasys.di.fct.unl.pt/~alinde/
Apache-2.0