Skip to content

GankisKhan/EDMarketConnector

 
 

Repository files navigation

Elite: Dangerous Market Connector (EDMC)

This app downloads commodity market and other station data from the game Elite: Dangerous and, at your choice, either:

Usage

The user-interface is deliberately minimal - when you land at a station just switch to the app and press the “Update” button or press Enter to automatically download and transmit and/or save your choice of data.

Click on the system name to go to its Elite: Dangerous Star Map (“EDSM”) entry in your web broswer.

Click on the station name to go to its Elite: Dangerous Database (“eddb”) entry in your web broswer.

Windows screenshot   Mac screenshot

Installation

Mac:

  • Requires Mac OS 10.9 or later.
  • Download the .zip archive of the latest release.
  • The zip archive contains the EDMarketConnector app - move this app to Applications or wherever you want it.
  • Double-click on the app to run it.

Windows:

  • Requires Windows 7 or later.
  • Download the .msi package of the latest release.
  • Double-click on it to install.
  • Run Elite Dangerous Market Connector from the Start Menu or Start Screen.

Setup

The first time that you run the app you are prompted for your username and password. This is the same username and password combination that you use to log into the Elite: Dangerous launcher, and is required so that the Frontier servers can send the app your data and the market data for the station that you are docked at.

You can also choose here what data to save (refer to the next section for details), whether to set up a hotkey so you don't have to switch to the app in order to “Update”, and whether to attach your Cmdr name or a pseudo-anonymized ID to the data.

The first time that you hit “Update” you will be prompted to authenticate with a “verification code”, which you will shortly receive by email from Frontier. Note that each “verification code” is one-time only - if you enter the code incorrectly or quit the app before authenticating you will need to wait for Frontier to send you a new code.

If you are not prompted to authenticate, but instead see the message “Error: Invalid Credentials” then choose the menu option EDMarketConnector → Preferences (Mac) or File → Settings (Windows) and double-check your username and password.

Output

This app can save a variety of data in a variety of formats:

  • Market data

  • Ship loadout

    • After every outfitting change saves a record of your ship loadout as a file that you can open in a text editor and that you can import into E:D Shipyard or Coriolis.
  • Flight log

    • Elite Dangerous Star Map - sends a record of your location to “EDSM” where you can view your logs under My account → Exploration Logs, and optionally add private comments about a system.
    • CSV format file - adds a record of your location, ship and cargo to a file that you can open in a text editor or a spreadsheet program such as Excel. Note: Don't edit, rename or move this file - take a copy if you wish to change it.

By default these files will be placed in your Documents folder. Since this app will create a lot of files if you use it for a while you may wish to create a separate folder for the files and tell the app to place them there.

Uninstall

Mac:

  • Delete the EDMarketConnector app.

Windows:

  • Uninstall Elite Dangerous Market Connector from Control Panel → Programs.

Note: Uninstalling the app does not delete any output files that it has previously written.

Troubleshooting

Can't Update - "Invalid Credentials"

Some people find that they can log-in and receive a verification code from Frontier. But on hitting the Update button they see an "Invalid Credentials" error.

It's not clear why this happens to some people, but it does seem to happen more often to people who purchased Horizons without Season 1.

This problem is tracked as Issue #43.

Can't see commodities market at some Outposts - "Can't get market data!"

The Frontier server that supplies the data to this app fails to supply commodity data for some outposts - particularly industrial and mining outposts. This is a known bug in Frontier's servers.

This problem is tracked as Issue #6

Doesn't track Systems visited

When you have the "Automatically make a log entry on entering a system" option selected this app uses Elite: Dangerous' logs to track and display the systems that you visit. Some people find that this doesn't work. The problem is most likely due to using the logs from a different copy of Elite: Dangerous than the copy that you're running.

When looking for the log files, this app assumes:

  • That you're running "Horizons" 64bit, if you have both Horizons and Season 1 installed.
  • That you're running from Steam, if you have both Steam and non-Steam versions installed.

In more detail, this app looks for the folder elite-dangerous-64 in the following places:

  1. In the Products folder under the launcher (in English versions of Windows usually C:\Program Files (x86)\Frontier\EDLaunch\Products).
  2. In the Elite Dangerous Horizons\Products folder under Steam (in English versions of Windows usually C:\Program Files (x86)\Steam\steamapps\common\Elite Dangerous Horizons\Products).
  3. In the Elite Dangerous\Products folder under Steam (in English versions of Windows usually C:\Program Files (x86)\Steam\steamapps\common\Elite Dangerous\Products).
  4. %PROGRAMFILES(X86)%\Frontier\Products (in English versions of Windows usually C:\Program Files (x86)\Frontier\Products).
  5. %LOCALAPPDATA%\Frontier_Developments\Products (usually C:\Users\you\AppData\Local\Frontier_Developments\Products).

EDMC expects the elite-dangerous-64 folder to contain the file AppConfig.xml and a Logs subfolder. It stops looking once it finds an elite-dangerous-64 folder that meets these criteria.

If it doesn't find elite-dangerous-64 in the above places it looks for a folder starting with FORC-FDEV-D-1 in the same places.

Running from source

Download and extract the source code of the latest release.

Mac:

  • Requires the Python “requests” and “watchdog” modules - install these with easy_install requests watchdog .
  • Run with ./EDMarketConnector.py .

Windows:

  • Requires Python2.7 and the Python “requests” and “watchdog” modules.
  • Run with EDMarketConnector.py .

Linux:

  • Requires the Python “imaging-tk”, “iniparse” and “requests” modules. On Debian-based systems install these with sudo apt-get install python-imaging-tk python-iniparse python-requests .
  • Run with ./EDMarketConnector.py .

Command-line

The command-line program EDMC.py writes the current system and station (if docked) to stdout and optionally writes player status, ship locations, ship loadout and/or station data to file. This program requires that the user has performed setup and verification through the app.

Arguments:

 -h, --help     show this help message and exit
 -v, --version  print program version and exit
 -c FILE        write ship loadout to FILE in Coriolis json format
 -e FILE        write ship loadout to FILE in E:D Shipyard format
 -l FILE        write ship locations to FILE in CSV format
 -m FILE        write station commodity market data to FILE in CSV format
 -o FILE        write station outfitting data to FILE in CSV format
 -s FILE        write station shipyard data to FILE in CSV format
 -t FILE        write player status to FILE in CSV format

The program returns one of the following exit codes. Further information may be written to stderr.

  1. Success. Note that this doesn't necessarily mean that any requested output files have been produced - for example if the current station doesn't support the facilities for which data was requested.
  2. Server is down.
  3. Invalid Credentials.
  4. Verification Required.
  5. Not docked. You have requested station data but the user is not docked at a station.
  6. I/O or other OS error.

Packaging for distribution

Mac:

  • requires py2app 0.9.x
  • Sparkle.framework installed in /Library/Frameworks
  • Run setup.py py2app

Windows:

  • requires py2exe 0.6.x
  • winsparkle.dll & .pdb from WinSparkle copied to the current directory
  • WiX Toolset
  • Run setup.py py2exe

Disclaimer

This app uses the “Companion” web API that Frontier supplies to support their Elite Dangerous iOS app. This API isn't officially supported for third-party use, so could go away at some time in the future - in which case this app will cease to work.

Acknowledgements

License

Copyright © 2015 Jonathan Harris.

Licensed under the GNU Public License (GPL) version 2 or later.

About

EDMC downloads commodity market and other data from the game Elite: Dangerous

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Batchfile 0.1%