Recently I've had reason to go back to siphon detection and see just how hard it is and what the best ways are to do it.
- Moon miners cycle in batches of 100
- Siphons steal 60% of the output of a miner, leaving 40% to go into storage
- The API fakes the contents of at least the first 2 silos in the chain
- Any moon goo container with contents not divisible by 100 has been siphoned
- When killing siphons someone should ensure that the containers are divisible by 100 again
Scenario 1 - 3 Silos
The current siphon detection method used by most people is a chain of 3 silos.
Each silo contains 20k product, this is 200 hours per silo, or 8.33 days.
Once your first two silos are full (16.66 days), your third silo will start getting irregular amounts shown on the API indicating siphon use.
Scenario 2 - 2 Coupling Arrays + 3 silos
Coupling arrays appear to be unaffected by the API faking, showing the correct contents:
Siphons are detectable with the following caveats
- You must have a coupling array at the start of your chain
- You must empty it out when you kill siphons
- You can only check for siphons every 6 hours (API cache)