-
Notifications
You must be signed in to change notification settings - Fork 0
Usage
Caution
For LEARNING PURPOSES ONLY — automating the live Elite Dangerous service violates its Terms of Service. See Home.
- Elite Dangerous is running and you are in the cockpit, in a ship.
- A hyperspace route is plotted in the Galaxy Map. The bot flies your route — with none plotted it sits idle and the ship never moves (this is expected, and logged with a loud warning). Alternatively pass
--route-plotto let it plot via Spansh whenNavRouteis empty. - The ED-AFK controls preset is active in-game and the HUD mouse widget is on (see Installation).
- The nav compass is calibrated and
[vision].enabled = true(see Installation) — otherwise the bot fails closed and won't throttle forward.
Note
The bot does not launch the game or click menus for you — you start ED and get in the cockpit; it does the flying.
launch.ps1 at the repo root is a game-like, arrow-key launcher. It bootstraps the venv if missing, shows a menu, focuses the Elite window with a countdown, and starts the bot so its keypresses land in the game.
.\launch.ps1| Row | What it does |
|---|---|
| Jump | The everyday action — runs the full jump loop with all live wiring. |
| Scenes | Drive exactly one named procedure once (full live wiring), then exit — a one-shot for testing a single scene. |
| Settings | The knobs (below). |
| Quit | Exit. |
Every row is live — the menu lists only what actually runs. (Explore, Combat
and Trade were removed in July 2026: the first never worked in live testing,
the other two were empty scaffolds.)
Arrow keys move, Enter selects, Q quits. Picking Jump focuses Elite, counts down 5→1, and starts the bot. Keep Elite in front — if you click another window, the next keypress lands there. Ctrl+C in the terminal stops the run.
| Setting | Effect |
|---|---|
| Monitor-Only | Log only — the bot reports what it would do and sends no keys. OFF by default (the bot actually flies). Inverts to --no-engage-keys. |
| Record session | Save a JSONL log of the run (ON by default). Recording also captures a CV frame per read. |
| Log systems visited | Append every visited system to ~/Documents (ON by default). |
| Duration |
1h / 6h / 12h / Infinite. "Infinite" is a ~1-year stand-in — ED won't last that long; a real unbounded loop comes later. |
| Calibrate compass | Runs calibrate-compass inline (steering vision). |
| CV debug overlay (VISION) | Toggle the labeled CV-debug boxes. Persists ED_AUTOJUMP_OVERLAY_CV_DEBUG to projects/ed-autojump/.env. |
| Flag | Effect |
|---|---|
-DurationHours N |
Seed Duration to the nearest preset (default 6). |
-Infinite |
Start on the Infinite duration preset. |
-Monitor |
Start with Monitor-Only ON (log only, no keys). |
-NoRecord |
Start with Record OFF. |
-NoVisitedLog |
Start with the visited-systems log OFF. |
-Yes |
Skip the menu and go straight to Jump from the seeded flags. |
-NoFocus |
Do not focus the Elite window (debugging only). |
-PrintCmd |
Resolve the flags, print the exact CLI command, and exit (no focus, no run). |
-Help |
Print the plain-English guide. |
Pass-through to the CLI (skips the menu + focus):
.\launch.ps1 doctor
.\launch.ps1 calibrate-compass
.\launch.ps1 install-bindsEach scene is an editable *.toml procedure. During a Jump run the dispatcher picks and preempts between them automatically; the Scenes menu (or run --scene <name>) drives one in isolation.
| Scene | What it does |
|---|---|
startup |
Fresh load parked at a star (normal space): CV distance-gate, then pitch-off / SC-entry / SC-assist as needed, then lock + orient + jump. |
sc_resume |
Restarted already in supercruise: distance-gate → fast-resume or get-around → jump. |
arrival |
Every live FSDJump: throttle 0 → scoop-if-low → honk → SC-assist the row-0 arrival star → hand off to the next scene. |
traversal |
The steady A→B hop: orbit-settle → lock next hop → orient (compass + widget) → charge-aware jump. |
smack_recovery |
Star-smack drop inside an exclusion zone: pitch the star off, re-charge SC, ride the escape-vector marker back out, jump. |
dock |
Station terminus: SC-assist to the station → close to <7.5 km → request docking → Docked → station-services macro. |
dock_resume |
A new route plotted while docked: auto-launch → throttle out → wait mass-lock clear → jump. |
route_complete_park |
Route-final system: throttle 0 → top-off → SC-assist the star → confirm orbiting → stop. |
honk |
The one parallel track: hold PrimaryFire in analysis mode until FSSDiscoveryScan, then release. |
connection_recovery |
Server-drop CONNECTION ERROR modal: press OK → main menu → re-enter in Solo → re-plot the saved route. |
For scripted runs, invoke ed-autojump after activating the venv.
cd projects\ed-autojump
.\.venv\Scripts\Activate.ps1--no-engage-keys (the default) uses a NullSender that logs every key action without sending it. Good for verifying journal parsing and procedure logic.
ed-autojump run --no-engage-keys --duration 300ed-autojump run --engage-keys --record --duration 21600ed-autojump run --engage-keys --scene smack_recovery| Flag | Default | Effect |
|---|---|---|
--engage-keys / --no-engage-keys
|
off | Send real DirectInput keys, or use NullSender. |
--record / --no-record
|
on | Write a session JSONL (+ CV frame dumps). |
--duration N |
0 |
Seconds to run (0 = set up and exit — a dry check). |
--scene NAME |
— | Run exactly one procedure, then exit. |
--route-plot |
off | Auto-plot via Spansh when NavRoute is empty. |
--destination "Name" |
config | Override the auto-plot destination. |
--visited-log / --no-visited-log
|
on | Append each arrival to ~/Documents/ed-afk-systems-visited.log. |
--console-status / --no-console-status
|
on | Mirror live execution info to stdout. |
--eddn / --no-eddn
|
config | Publish to EDDN on FSS scans. |
With [overlay].enabled, EDMCOverlay shows in-game status text — the current procedure, step, and journal event. Turn on the optional CV-debug boxes via the launcher VISION toggle (or cv_debug = true in config.local.toml): every CV/OCR read flashes a labeled rectangle where it looks (green hit / red miss). On the first keyed run with boxes on, a one-shot self-test flashes a RAW and a TRANSFORMED rect — if only RAW shows, run calibrate-overlay. Live diagnostic overlays also exist standalone: ed-autojump cv-debug and ed-autojump navpanel-overlay.
-
Ctrl+Alt+P (requires the
hotkeyextra) — trips the panic switch from anywhere: releases held keys, throttles to zero, restores the binds preset, exits. - Ctrl+C in the terminal — always works; same cleanup path.
-
ed-autojump panic— release any stuck held key after a hard kill.ed-autojump cleanup— kill a leftover bot child from a crashed prior session (PID-file targeted).
The [safety].panic_hotkey config key overrides the default ctrl+alt+p.
With --record (on by default) the bot writes ~/ed-afk-sessions/session_<timestamp>.jsonl — one line per event (journal row, keypress, procedure outcome) — plus a _frames/ directory of the CV frame captured for each vision read, so any failed read is replayable offline against its reader.