Referenz
Spezifikation / API
Verständnis des Datenformats und der API
Um Daten von einer Drittanbieter-App oder Webseite abzurufen, benötigst du eine laufende SSC-Tracker App. SSC-Tracker fungiert als Proxy, um sicherzustellen, dass der ssc-tracker.org-Server nicht überlastet wird.
Du kannst auf Tracker-Daten über den Standard-Port 55055 auf localhost zugreifen. Von einem anderen Gerät im lokalen Netzwerk ist der Zugriff über http://[IP SIM PC]:55055 möglich. Dafür muss der LAN-Zugriff einmalig freigegeben werden (☰ → Connections → Enable LAN access, ein Admin-Dialog) – die App dauerhaft als Administrator zu starten ist nicht nötig.
Alle Endpunkte antworten per HTTP (HTTPS ist derzeit nicht implementiert). CORS-Header sind gesetzt, sodass Webseiten direkt darauf zugreifen können.
---
Übersicht aller Endpunkte
GET-Endpunkte
| Pfad | Beschreibung |
|---|---|
/ | Whazzup-v1-Format (für Little Navmap) |
/json | Live-Flugzeugdaten aller Piloten im JSON-Format |
/activetask | Aktiver Task als geparste JSON-Struktur |
/activetaskpln | Aktiver Task als MSFS PLN XML |
/map | SSC-Tracker Karte (Browser) |
/minifc | Mini Flight Computer (Browser) |
/getsettings | Panel-Einstellungen als JSON |
/elevation/status | Status des Höhendatendienstes |
/elevation/task | Höhenprofil der aktiven Aufgabe |
/elevation/point | Höhe eines einzelnen Punktes |
/elevation/userroute | Höhenprofil der gespeicherten Benutzerstrecke |
/elevation/line | Höhenprofil zwischen zwei Punkten |
/elevation/area | Höhenraster eines Gebiets |
/userroute/load | Gespeicherte Benutzerstrecke laden |
POST-Endpunkte
| Pfad | Beschreibung |
|---|---|
/settask | Task lokal setzen |
/setsettings | Panel-Einstellungen speichern |
/elevation/userroute | Höhenprofil für übermittelte Streckendaten berechnen |
/userroute/save | Benutzerstrecke speichern |
/action | Aktion ausführen (z. B. Task zurücksetzen) |
---
Live-Flugzeugdaten abrufen
GET http://localhost:55055/json
Liefert alle Flugzeugdaten aller Piloten in der Gruppe. Die Werte werden jede Sekunde aktualisiert. TSK-Werte sind nur verfügbar, wenn ein Task/Flugplan geladen ist.
Felder:
GN: Gruppenname
TASK: Aktueller Aufgabenname
WEATHER: Wettervoreinstellungsname
ID: Eigene Pilot-ID
ITEMS: Liste aller Piloten
GN: Gruppenname des Piloten
ID: Pilot-ID
NAME: Pilotname
AC: Flugzeugname
MODEL: Flugzeugmodell
TH: Wahre Kursrichtung [°]
LON: Längengrad [dezimal]
LAT: Breitengrad [dezimal]
IAS: Angezeigte Geschwindigkeit [kn]
TAS: Wahre Fluggeschwindigkeit [kn]
GS: Bodengeschwindigkeit [kn]
LV: Letzte Landegeschwindigkeit [kn]
VS: Vertikalgeschwindigkeit [ft/min]
WD: Windrichtung [°]
WV: Windgeschwindigkeit [kn]
MSL: Höhe über MSL [ft]
AGL: Höhe über Grund [ft]
TSK_TIME: Aufgabenzeit seit Startlinie [s]
TSK_AVG: Durchschnittsgeschwindigkeit Luftlinie [kn]
TSK_AVG_PATH: Durchschnittsgeschwindigkeit geflogener Weg [kn]
TSK_NEXT: Name des nächsten Wegpunkts
TSK_DIS: Restentfernung zur Ziellinie [nm]
TSK_DIS_PATH: Geflogene Wegstrecke [nm]
TSK_DIS_ALL: Geflogene Aufgabendistanz [nm]
TSK_DIS_WP: Entfernung zum nächsten Wegpunkt [nm]
TSK_ONGROUND: 1 = am Boden während der Aufgabe
TSK_SLEWT: 1 = Slew-Modus während der Aufgabe
TSK_ENG: 1 = Motor an während der Aufgabe (Segelflug)
DIS: Entfernung vom eigenen Flugzeug [nm]
FLAPS: Klappenstellung
TW: Gesamtgewicht [lbs]
VER: App- und MSFS-Version
Beispiel:
{
"GN": "ssc2",
"TASK": "Bolzano Dolomiti SE",
"WEATHER": "SSC2 08 Clear Sky SE 15kt",
"ID": "FELTE",
"ITEMS": [{
"GN": "ssc2",
"ID": "FELTE",
"NAME": "Felte",
"AC": "AS-33me",
"MODEL": "AS-33me",
"TH": 0.8,
"LON": 11.531,
"LAT": 46.462,
"IAS": 85.0,
"TAS": 90.0,
"GS": 88.0,
"VS": -1.2,
"WD": 270.0,
"WV": 12.5,
"MSL": 6200.0,
"AGL": 4800.0,
"TSK_TIME": 1823.0,
"TSK_AVG": 72.4,
"TSK_NEXT": "TP1",
"TSK_DIS": 45.2,
"TSK_DIS_WP": 12.8,
"TSK_ONGROUND": 0,
"TSK_SLEWT": 0,
"TSK_ENG": 0,
"FLAPS": "1",
"TW": 1208.0,
"VER": "0.8.0.0|MSFS2020"
}]
}
---
Whazzup-Format abrufen (Little Navmap)
GET http://localhost:55055/
Gibt die Flugzeugdaten im Whazzup-v1-Format zurück, das von Little Navmap und anderen Tools unterstützt wird.
---
Aktiven Flugplan abrufen
GET http://localhost:55055/activetaskpln
Gibt den aktiven Flugplan im MSFS PLN XML-Format zurück, wenn ein Task geladen ist.
---
Aktiven Task als JSON abrufen
GET http://localhost:55055/activetask
Gibt den geparsten Task im JSON-Format zurück. Die Daten enthalten alle Wegpunkte mit Koordinaten, Sektortypen und Aufgabenfortschritt.
{
"Name": "Bolzano Dolomiti Airport",
"GN": "ssc2",
"DepartureID": "LIPB",
"Distance": 173906.57,
"IsEmpty": false,
"IsStarted": false,
"IsFinished": false,
"IsAATTask": false,
"StartWPIndex": 1,
"FinishWPIndex": 4,
"NextWPIndex": 1,
"Waypoints": [...]
}
---
Höhendaten-Endpunkte
Benutzerstrecke (User Route)
Lokalen Task setzen (ohne Gruppenupload)
POST http://localhost:55055/settask
Setzt einen Task lokal in der SSC-Tracker-App, ohne ihn auf den Server hochzuladen.
Pflichtfelder: CMD, TASK, TASKDATA
{
"CMD": "SET",
"GN": "[GRUPPENNAME, optional]",
"TASK": "[AUFGABENNAME]",
"TASKDATA": "[.PLN XML-INHALT]",
"TASKINFO": "[URL oder Infotext, optional]",
"WEATHER": "[WETTERVOREINSTELLUNGSNAME, optional]",
"WEATHERDATA": "[.WPR XML-INHALT, optional]"
}
---
Seit der alten Fassung sind Endpunkte dazugekommen. Der vollständige Stand des lokalen Servers (Standard-Port 55055):
| Pfad | Art | Inhalt |
|---|---|---|
/ | GET | Whazzup-Textformat (Little Nav Map) |
/json | GET | Vollständiger Datensatz aller Piloten |
/activetask | GET | Aktiver Flugplan |
/activetaskjson | GET | Aktiver Task als JSON |
/elevation/… | GET | Geländedaten und Profile |
/getsettings | GET | Einstellungen für die Web-Oberflächen |
/setsettings | POST | Einstellungen schreiben (feste Auswahl an ui.*-Schlüsseln) |
/settask | POST | Task von außen anbieten |
/messages | GET | Aktuelle Statusmeldungen (das, was auch im Banner steht) |
/action | POST | Eine benannte Aktion aus einer Meldung auslösen |
/version | GET | Version der App |
/getpanellayout | GET | Layout des Overlays |
/setpanellayout | POST | Layout des Overlays schreiben |
/map, /minifc | GET | Die Weboberflächen |
Alle Endpunkte antworten per HTTP mit gesetzten CORS-Kopfzeilen; HTTPS gibt es nicht.
Dateien und Ordner
| Was | Wo |
|---|---|
| Einstellungen | %LocalAppData%\SSC-Tracker\settings.json |
| Log | %LocalAppData%\SSC-Tracker\logs\ssc-tracker.log |
| Geländedaten | %LocalAppData%\SSC-Tracker\DEM\ |
| Task-Historie | der Ordner aus Settings → Shared .pln folder, sonst %LocalAppData%\SSC-Tracker\tasks\ |
| Web-Oberflächen (lokale Kopie) | %LocalAppData%\SSC-Tracker\frontend\ |
| In-Game-Pakete | …\Packages\Community\SSC-Tracker-Panel, …-FC, …-AC je Simulator |
Die Einstellungen sind eine schlichte JSON-Datei. Sie darf von Hand geändert werden — aber nur bei geschlossener App, sonst überschreibt der nächste Speichervorgang die Änderung. Identität (Name, ID, Gruppe) und der Logger-Abgleich sind zusätzlich signiert: ändert sie ein fremdes Programm, stellt der Tracker sie beim Start wieder her.
Einheiten
Die Anzeige folgt deinen Einstellungen (metrisch/imperial). Wer die Rohdaten über /json oder /activetaskjson ausliest, bekommt dagegen feste Einheiten — und die sind nicht überall gleich:
| Feld | Einheit |
|---|---|
VS (Steigen/Sinken) | m/s |
IAS, TAS, GS, WV | Knoten |
MSL, AGL | Fuß |
TSK_DIS, TSK_DIS_WP | Nautische Meilen |
| Schenkel- und Streckenlängen im Task-JSON | Meter |
TSK_ELEV_WP (Geländehöhe am Wendepunkt) | Fuß |
MinAlt / MaxAlt am Wendepunkt | Meter |
| MacCready | geschrieben als m/s (ui.MC), gelesen in Knoten (MC) |
Die letzten vier Zeilen sind die klassischen Stolperstellen — wer sie übersieht, rechnet um den Faktor 3,28 oder 1,94 daneben.