MQTT telemetry bridge for Kerbal Space Program 1.12.5. The plugin runs inside KSP and publishes real-time vessel telemetry over MQTT so browsers, dashboards, ESP32 microcontrollers, Grafana, voice agents, hardware control panels, or any MQTT subscriber can consume live flight data.
Wire format mirrors KSA-Bridge exactly (the Kitten Space Agency counterpart), so consoles built for one game work against the other with only a topic-prefix change.

Eighteen telemetry topics, all under the configured prefix
(default ksp/telemetry/*):
vehicle, navigation, attitude (with full Unity
quaternion), state_vectors, target/vehicle,
target/state_vectors, target/attitudedynamics (body rates + linear/angular acceleration +
g-load), atmosphere (density, pressure, temperature, Mach)orbit (full Keplerian set), parent_body, maneuver,
encounter, performance (ΔV, TWR, mass, thrust), resources
(per-resource amount + mass)situation (expanded Vessel.Situations flags),
staging (next-stage composition, retained), docking/context
(engagement state, retained)Plus _bridge/status (retained) for liveness with Last-Will-and-Testament
on disconnect.
Full schema reference: docs/TOPICS.md.
KSP_x64.exe). The zip's GameData/KSPBridge/ folder lands
alongside KSP's GameData/Squad/.Settings.cfg defaults to localhost:1883, which
works out of the box if you have Mosquitto running on the same
machine. For a remote broker, edit
GameData/KSPBridge/Settings.cfg and set broker_host to its
hostname or IP.GameData/KSPBridge/install-check.bat to verify
every prerequisite is wired up — KSP install, plugin DLLs,
broker reachable, MQTT round-trip, WebSocket listener, FDO
console assets, web server smoke test. After all checks pass,
the script offers to launch the FDO browser console for you.A hard-scifi mission-control dashboard ships in the source repo at
consoles/hard-scifi/. Three.js draws the planet and orbit;
panels pull live data from the topics. Body-aware contour pipeline
covers every stock world (Kerbin, Eve, Moho, Ike, Tylo, Vall, Laythe,
Gilly, Bop, Pol, Minmus, Eeloo, Dres, plus Jool's cloud bands).
The console takes a ?broker= query-string override so the same
file works against localhost or a remote broker without edits.
id (Vessel.id Guid as a string) and persistentId
(Vessel.persistentId uint), so consumers can key telemetry to
specific vessels reliably across save/load.github.com/johnmknight/KSPBridge
MIT-licensed. Issues and PRs welcome.
Raw stats are from the beginning of time until now. Each follower and download entry represents one hour of data. Uneventful hours are omitted.