GithubHelp home page GithubHelp logo

edce-client's Introduction

** NOTE **: Due to new authentication implemented by Frontier, EDCE no longer works. Please see the following if you wish to contribute: #30 **

edce-client

Elite Dangerous Companion Emulator

Purpose

This is an interface that emulates an iPhone accessing the Elite Dangerous Companion web API, which is normally used by a mobile application developed by Frontier Developments. This experimental code has not been created in association with Frontier Developments and is unsupported by them.

The EDCE client queries your Commander data on the Elite Dangerous Companion site as you would on your iPhone, and retrieves the data to file in JSON format. It also publishes market data to EDDN. No private information is published.

Installation

  • Requirements:
    • Python 3.3 or higher
    • Python requests library: pip3 install requests
  • Run the client-setup.py program: python3 client-setup.py
  • Enter your Frontier store credentials (NOTE: The password is stored unencrypted in the edce.ini file. You can leave the password blank, however this means you will need to run the client in interactive mode and you will be prompted to enter the password every time)

Usage

  • Launch the client: python3 edce_client.py
  • The first time you run the program, the Elite Dangerous Companion website will request a verification code, which shall be sent to your account email. Enter the code at the prompt. You should only have to do this once
  • The program will query your Commander's data, and dump the JSON result in the log directory (LZMA compressed, can be examined by 7-zip)
  • The program will also post the market data from the current station where your Commander is docked to EDDN. If he/she is not docked, the data is not sent.

General Notes

  • Protect your edce.ini file as it contains your Frontier store credentials in unencrypted form
  • Avoid querying the Elite Dangerous Companion site too often in order to avoid overloading it. As a rule, try not to query more than once every 2-3 minutes.
  • The web API sometimes lags actual game state by several seconds. For example, you might dock, but only be able to post market data to EDDN after a few seconds until the web API catches up.
  • You can modify the code as you wish, the edce subdirectory contains the core module to access the Elite Dangerous Companion web API

edce-client's People

Contributors

andargor avatar anthornet avatar betek avatar g-murray-sreams avatar marginal avatar sammcj avatar syberphunk avatar yrro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edce-client's Issues

ImportError: No module named 'requests'

% python3 client-setup.py
Enter your Frontier Store credentials here. You can leave your username or password empty, however you will be prompted every time you run the edce_client.py script.
Frontier Store Username: 
Frontier Store Password:
Send market data to EDDN. No private information is sent. [Y/n]:
Setup complete. edce.ini written.
**NOTE: Your username and password are not stored encrypted. Make sure this file is protected.

% python3 edce_client.py
Traceback (most recent call last):
  File "edce_client.py", line 7, in <module>
    import edce.query
  File "/Users/samm/git/edce-client/edce/query.py", line 7, in <module>
    import requests
ImportError: No module named 'requests'

Python 3.4.3

REQ: Better EDDN error when at a outpost without commodities market.

Noticed it before but forgot to mention it. I've cleared my save and started at an outpost without a market. Running EDCE 1..0.9 shows the following error: EDCE: Error: EDDN postMarketData FAIL submit error

You might want to consider changing that into a more descriptive message.

EDCE: more name diffs

From a PM, gazelle

[QUOTE=gazelle]Hoi,

found some more name diffs:

[CODE]Type | JSON | DISPLAY
---------+-----------------------+---------------------
Category | "Narcotics" | "Legal Drugs"
Category | "Slaves" | "Slavery"
Item | "Bio Reducing Lichen" | "Bioreducing Lichen"
Item | "Basic Narcotics" | "Narcotics"
[/CODE]

Also the "Waste " has a space at the end, so I use strip() for all names.

[/QUOTE]

UTF-8 encoding issue under Windows

from gbiobob:

NB there is one last encoding problem in the Window console when he launch the player_dump.py (he discovered it today) CMDR: Vanité
Not a big problem, for me you can close the issue.

REQ: --version and --help flag.

When toying around with multiple EDCE versions it would be great to have a --version flag so it possible to check which version I'm running. It would also give the casual user the possibility to check if he/she is running the latest version of EDCE.

A --help flag would also be nice for some explanation about the tool.

Note: Hoping that the author of the pull request for a library friendly version will add some examples soon(ish).

Generated filename for archive log - file with accent failed to be submit to EDDN

For commander with accent in cmdr name
the file generated for the log (filename got the cmdr name => filename with an accent) failed to be submit on EDDN :
EDCE: Error: EDDN postMarketData FAIL submit error.

Converting filename with unicode colld be good to create filename without special character,
here a small exemple in py :

import unicodedata
...
path = u'log/*.xz'
...
filenametmp = unicodedata.normalize('NFD', filename).encode('ascii', 'ignore')
pathSaveTmp = 'log/'+filenametmp.decode('ascii')+'.tmp.gz'
...

EDCE: Error: Invalid login credentials with Steam account

Hi,

I set: username (email), password and EDDN ( as "n" atm )

Frontiers Shop sent me the code for app activation (cookie creation)

After lunching the client script it gives me this message: "EDCE: Error: Invalid login credentials"

How to solve ?

problem with % sign in password

it was saying :
exception on password!
EDCE: Please run client-setup.py to generate the configuration file.
It seems the config parser interprets % as a substitution sign. I had to change my password to make it work
Probably not a big deal but perhaps letting users know...

missing commodity in convertCommodityEDDN

if name == 'Terrain Enrichment Systems':
    return 'Land Enrichment Systems'

if name == 'Agricultural Medicines':
    return 'Agri-Medicines'

if name == 'Heliostatic Furnaces':
    return 'Microbial Furnaces'

also there is a drone commodity wich has "NonMarketable" in categoryName, i guess this is for future implementation.

EDCE: Error: submitLogin FAIL 404

Hi,

Im trying to run the project in the command line. and I'm getting 404 error I tryied to debug it a bit but no luck. this what in getting with the debug set to true

performQuery
initSession
submitLogin
EDCE: Error: submitLogin FAIL 404

Can you please help
thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.