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.
Put the plugin in EDMC's Plugin Directory, then start the game and go out there and gank ;)
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.
- you can enter a List of Commander Names here. Use the following format:
- 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.
- 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
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.
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
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
}
]
}