A high-performance, WebSocket-compatible server interface to the EVE Swagger API, built on Sails.js.
The authority for GLOSS.
- EVE SSO Authentication
- Automatic refresh token handling
- EVE Swagger API (ESI) support
- REST support for all models
- WebSocket pub/sub support for all models
- Database agnosticism thanks to Waterline ORM
- Sophisticated Redis-based job scheduler backed by Kue
- Updates location, ship, status for active character sockets every 5 seconds
Arbiter requires Node 8, a running database server, and a Redis instance. MongoDB is configured by default, but any Waterline-supported database will do. A sample nginx config is provided.
You need a recent copy of the EVE SDE. Conversions are provided by the wonderful Fuzzwork. Depending on the database you choose for this (it is not the same as Arbiter's internal DB) you'll want to download PostgreSQL dump, the MySQL dump, or what have you.
Example (assuming db eve
running on PostgreSQL):
pg_restore --no-privileges --no-owner -d eve postgres-20180529-TRANQUILITY.dmp
- Register an EVE application at https://developers.eveonline.com
- Enter client ID & secret in the .env (example provided here)
sudo npm i -g yarn ember-cli sails@1.0.0-45
git clone git@github.com:dougestey/arbiter.git
cd arbiter
yarn
sails lift
(with Sails CLI installed) ornpm start
Server currently listens on :8080, this can be configured in config/env.
Kue web frontend is available at :6565.
GET /api/systems
GET /api/systems/:systemId