Skip to content

CMDR-WDX/EDMC-PvPBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDMC-PvpBot

What is this

This is a plugin for Elite Dangerous Market Connector.

Its purpose is to communicate with the new Gank Bot. If you get killed, or kill someone, this plugin will send that information to the Gank Bot Server. Your kills can then be queried with the new Discord Bot.

Usage

Put the plugin in EDMC's Plugin Directory, then start the game and go out there and gank ;)

Settings

This plugin has settings. On the EDMC Window, go to File > Settings. Head to the EDMC_PvpBot Tab. Here you have the following options:

  • Look for Updates on Startup
    • Turn this off if you do not want to be informed about a new version on Startup
  • Allowed CMDRs
    • you can enter a List of Commander Names here. Use the following format: Name1, Name2, Name 3 etc.
  • API Key
    • You will need to set this value. Otherwise the Server will reject your Commands.
  • Aggregate Historic Data on next Startup
    • If you check this option and restart EDMC, it will look through your older Log files and find all Pvp Kills and deaths and send them to the server. It will respect the filter you set with the Allowed CMDRs Option.

File Access

The only times this plugin reads from the Filesystem directly (as opposed to via EDMC) is to read the version-File to compare with the same file on GitHub to see if a new Version can be downloaded.
Said file access happens in classes/version_check.py::__get_current_version_string

Additionally, the Filesystem is accessed when the User has chosen to upload old Died/PVPKill events - as in this instance the Plugin will manually load old data. This functionality is disabled by default and needs to be turned on in the Settings.

Network Access

This plugin downloads the version-File on startup to see if a new version is present. This feature can be turned off in the Settings. You can look up the implementation in classes/version_check.py::__is_current_version_outdated

This plugin will also make POST-Requests to the Gank Bot Backend. The implementation can be found in classes/event_handling.py::HttpThread::__thread_loop

What type of Data does the Backend Receive?

Died- and PVPKill-Events are the only events this Plugin cares about. The Backend will receive the CMDR Name, Ship and Combat Rank for both Killer and Victim. That is all.

Below you can see some example POST-Bodies:

// /kill Endpoint
{
  "timestamp": 1584017394,
  "killers": [
    {
      "name": "WDX",
      "ship": "anaconda",
      "rank": 3
    }
  ],
  "victim": {
    "name": "Name of Victim Cmdr",
    "rank": 4
  }
}

// /died Endpoint
{
  "timestamp": 1648501269,
  "victim": {
    "name": "WDX",
    "ship": "TestShip",
    "rank": 4
  },
  "killers": [
    {
      "name": "Attacker1",
      "ship": "diamondback",
      "rank": 2
    }
  ]
}

// /died Endpoint with multiple Killers
{
  "timestamp": 1648412088,
  "victim": {
    "name": "WDX",
    "ship": "TestShip",
    "rank": 4
  },
  "killers": [
    {
      "name": "Attacker1",
      "ship": "anaconda",
      "rank": 8
    },
    {
      "name": "Attacker2",
      "ship": "anaconda",
      "rank": 4
    }
  ]
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages