neweden: a wayfinding library for Eve Online
neweden is a rust library for system information, wayfinding and range queries for the MMORPG Eve Online from CCP Games.
Example
Get information about a system
use DatabaseBuilder;
use Navigatable;
let universe = new.build.unwrap;
let system_id = 30000142.into; // returns a SystemId
println!; // Jita
Find a route
use DatabaseBuilder;
use Navigatable;
use PathBuilder;
let universe = new.build.unwrap;
let jita = 30000142;
let camal = 30000049;
let path = new
.waypoint
.waypoint
.build;
for system in path
Development status
The library is under development and in early alpha stages. API's will change and your code will break. It also means that the build and test mechanism are slightly awkward and will improve over time.
Building
The library uses features
to define the backends for retrieving system
and connection information. By default the library builds without any features
and you are only able to create a universe by creating universes using your own data loaders.
There are build int dataloaders for CCPs static dump. You can enable the Postgres database backend
by using the postgres
feature or SQLite by using the sqlite
feature.
The rpc
feature is only for internal use and depends on a crate that is not open source.
To build the repository:
Running tests
To run tests or benchmarks you must use the nightly. If you build with the
database
flags you are required to provide a database connection using
the env variable DATABASE_URL
.