EDMC-LimpetTimer is a small plugin for Elite Dangerous Market Connector that tracks Collector Limpet launches and estimates how many collectors are currently active, how many the ship can support, and when the next limpet is expected to expire.
The plugin was created with assistance from ChatGPT.
Elite Dangerous writes a journal event whenever a Collector Limpet is launched:
{ "event":"LaunchDrone", "Type":"Collection" }EDMC-LimpetTimer uses these events together with the ship's current Loadout journal entry to estimate the state of deployed Collector Limpets.
The plugin displays information directly in the EDMC main window, for example:
Collectors: 0/14 | lifetime 13:00
Collectors: 9/14 | next expiry 08:42
The first value is the estimated number of active Collector Limpets.
The second value is the maximum number supported by the currently enabled Collector Limpet Controllers.
- Tracks Collector Limpet launches through the Elite Dangerous journal
- Estimates currently active Collector Limpets
- Shows the maximum Collector capacity of the current ship
- Displays the expected time until the next Collector expires
- Automatically reads installed Collector Limpet Controllers from
Loadout - Only counts controllers that were enabled in the most recent
Loadout - Supports multiple Collector Limpet Controllers
- Uses the shortest lifetime if several enabled controllers have different lifetimes
- Automatically updates after ship changes
- Requires no external Python packages
For standard Collector Limpet Controllers, the module rating determines the lifetime:
| Rating | Lifetime |
|---|---|
| A | 12:00 |
| B | 07:00 |
| C | 08:30 |
| D | 10:00 |
| E | 05:00 |
The module size determines the maximum number of active Collector Limpets:
| Size | Maximum Collectors |
|---|---|
| 1 | 1 |
| 3 | 2 |
| 5 | 3 |
| 7 | 4 |
The internal Elite Dangerous module identifiers follow this pattern:
int_dronecontrol_collection_size<size>_class<class>
Elite uses the following internal class mapping:
class5 = A
class4 = B
class3 = C
class2 = D
class1 = E
Currently supported:
int_multidronecontrol_miningv2_size5_class5
- Maximum Collector Limpets: 14
- Collector lifetime: 13:00
Additional Multi-Limpet Controllers can be added once their internal module identifiers, Collector capacity and lifetimes are known.
If several enabled Collector Limpet Controllers are installed, their capacities are added together.
Example:
3A Collector Limpet Controller = 2
5A Collector Limpet Controller = 3
-----------------------------------
Total capacity = 5
If the installed controllers have different Collector lifetimes, the plugin intentionally uses the shortest known lifetime.
This provides a conservative estimate: the displayed expiry time may be earlier than the actual expiry of some Collectors, but it should not suggest that a limpet will survive longer than the shortest possible lifetime.
Elite Dangerous logs when a Collector Limpet is launched, but does not provide a journal event when a Collector:
- expires normally
- crashes into an asteroid
- is otherwise destroyed early
Because of this, the active Collector count is an estimate.
A Collector that is destroyed early may continue to appear as active until its expected lifetime has elapsed.
Elite also does not provide a journal event containing the updated power state when a module is manually enabled or disabled from the ship's Modules panel.
The plugin therefore uses the On state from the most recent Loadout event.
For example, if you disable one of your Collector Limpet Controllers after the last Loadout, the displayed maximum capacity may remain unchanged until Elite writes another Loadout event.
If a Collector-capable controller is found that the plugin does not yet know, it will not guess its capacity or lifetime.
Instead the EDMC window will display:
Collectors: unknown limpet controller
If you encounter this, please open an issue and include the controller's internal Item identifier from the Elite Dangerous journal.
- Elite Dangerous
- Elite Dangerous Market Connector
- A current EDMC version with Python 3 plugin support
The plugin does not require any additional Python modules.
- Download the latest release of EDMC-LimpetTimer.
- Open EDMC.
- Go to Settings → Plugins.
- Click Open to open the EDMC plugin directory.
- Extract or copy the
EDMC_LimpetTimerfolder into that directory. - Restart EDMC.
The resulting directory should look like:
plugins/
└── EDMC_LimpetTimer/
├── load.py
└── README.md
On Linux, the default plugin location is usually:
~/.local/share/EDMarketConnector/plugins/
When EDMC receives a Loadout event, the plugin searches the installed modules for enabled Collector-capable Limpet Controllers.
From these modules it calculates:
- maximum Collector capacity
- Collector lifetime
- the shortest lifetime when different controller types are installed
Every subsequent:
{ "event":"LaunchDrone", "Type":"Collection" }starts a new internal expiry timer.
The display is updated continuously while EDMC is running.
EDMC-LimpetTimer is written for the current Python 3 plugin API used by EDMarketConnector.
Plugin development documentation:
https://github.com/EDCD/EDMarketConnector/blob/main/PLUGINS.md
The initial plugin implementation and development were created collaboratively with assistance from OpenAI's ChatGPT.
Reports for unknown Limpet Controllers are especially useful.
When reporting one, please include:
- visible module name
- internal
Itemidentifier from theLoadoutjournal event - maximum number of Collector Limpets
- Collector lifetime
Bug reports and pull requests are welcome.
MIT License