/shortcircuit

Find shortest path using Tripwire and Eve data.

Primary LanguagePythonMIT LicenseMIT

Short Circuit

Description

Short Circuit (previously known as Pathfinder) is a desktop application which is able to find the shortest path between solar systems (including wormholes) using data retrieved from Eve SDE and 3rd party wormhole mapping tools. The application is able to run on all systems where Python 3.10 and PySide2 are supported.

Features:

  1. Ability to add wormhole connections from Tripwire.
  2. ESI authentication for reading the player location and setting the destination in-game.
  3. Avoidance list.
  4. Wormhole restrictions for: size, life, mass, last updated.
  5. Instructions specify the signature and type of the wormhole (makes navigation easier).
  6. One-line output which can be copy-pasted for those lazy fleet members.

Usage

$ pip install pipenv
$ mkdir .venv
$ pipenv install
$ pipenv shell
$ cd src
$ python main.py

Some users reported having troubles when installing PySide on Linux/Mac. Try using your built-in package manager. Example for debian-based systems:

$ sudo apt-get install python-pyside

For Arch Linux users: Short Circuit is available on AUR (Credits to Sanxion):

yaourt -S shortcircuit

Releases

Binaries (executables) can be downloaded from here.

SDE update

In case of SDE update, get new mapLocationWormholeClasses.csv, mapSolarSystemJumps.csv, mapSolarSystems.csv from https://www.fuzzwork.co.uk/dump/latest/ and overwrite ones in src/database.
Thank you, @fuzzysteve (Steve Ronuken).

About ESI

Using ESI is optional, but it provides features like getting current player location or setting in-game destination automatically.

Short Circuit uses implicit mode which only allows for a 20 minutes session, after that you have to relog. If you don't want to use the "implicit" mode, you will have to port back using your own keys feature.

Eve-Scout

TripwireConfig

If you enable Eve-Scout option then wormhole connections to/from Thera updated by Eve-Scout will be retrieved, also. However, if you use the public Tripwire server, which is https://tripwire.eve-apps.com/, then there's no need to enable this option because Eve-Scout is updating Thera connections on the public Tripwire server automatically.

This is only useful if you or your corp/alliance have their own Tripwire server.

Security prioritization

Security prioritization mechanism is defined by four values which represent a weight, or an effort:

  • HS - the amount of effort it takes to jump a gate to high-sec.
  • LS - the amount of effort it takes to jump a gate to low-sec.
  • NS - the amount of effort it takes to jump a gate to null-sec.
  • WH - the amount of effort it takes to jump a wormhole to any system.

Values may range from 1 to 100 and if all values are equal (ex. all equal to 1), then this function is practically disabled.

SecPrio

In the above scenario the user specified that the effort is the same for taking gates to high-sec or low-sec and there's no need to prioritize one above the other. Compared to this, it's ten times more difficult to take gates to null-sec and three times more difficult to take any wormholes compared to high-sec/low-sec gates.

For example, this may be useful when trying to avoid null-sec systems if possible, unless it shortens the path considerably, and when wormholes aren't bookmarked.

Screenshot

Screenshot

Video

Short Circuit video

How it works

Short Circuit reconstructs its own version of the Eve solar map from the 'mapSolarSystemJumps' table of the Static Data Export database. After that, the solar map can be extended by retrieving connections from popular 3rd party wormhole mapping tools. The JSON response from Tripwire is processed and the connections are added to the existing solar map. Graph algorithms will compute the shortest path taking certain things into account like avoidance list and wormhole size restrictions.

Sample JSON response from Tripwire (converted to YAML for easy reading). This type of response is processed and added to the application's own solar system representation:

id: "5642035"
signatureID: "GGC"
system: ""
systemID: "31000857"
connection: "Hutian"
connectionID: "30002217"
sig2ID: "JTC"
type: "B274"
nth: null
sig2Type: "K162"
nth2: null
lifeLength: "24"
life: "Stable"
mass: "Stable"
...

EvE Online CREST API Challenge

Pathfinder (now renamed to Short Circuit) won the EvE Online CREST API Challenge 2016!

https://community.eveonline.com/news/dev-blogs/winners-of-the-eve-online-api-challenge/

Pathfinder on the o7 Show

Future development

  1. Add support for more 3rd party wormhole mapping tools.
  2. Combine data from multiple sources (multiple Tripwire accounts, etc.).
  3. Suggestions?

Contacts

For any questions please contact Lenai Chelien. I accept PLEX, ISK, Exotic Dancers and drugs boosters.