Desktop Extractor - krt-profit/basetool GitHub Wiki
Desktop-Extractor & Importe
Daten ins Basetool bekommst du nicht nur über die Web-Oberfläche. Zwei Wege füttern das Basetool aus dem Spiel heraus: der Refinery-Screenshot-Import (aus deinen Raffinerie-Screenshots wird ein vorausgefüllter Raffinerie-Auftrag) und der Blueprint-Import (deine freigeschalteten Baupläne landen im Persönlichen Inventar). Beides erzeugt ein Desktop-Tool auf deinem eigenen Rechner — der Basetool SC Extractor.
Eine wichtige Grundregel vorweg: Importe füllen nur vor, sie speichern nie. Egal über welchen Weg die Daten ins Basetool kommen — du landest immer auf einem vorausgefüllten Formular und musst die Daten prüfen und selbst speichern. Es gibt keinen Weg, der unter Umgehung der Prüfung etwas anlegt. Die einzige Ausnahme ist der direkte Blueprint-Abgleich, der mit Version 2.10.0 kommt und den du selbst einschaltest (siehe Der Extractor als verbundene Anwendung).
Das Desktop-Tool
Der Basetool SC Extractor läuft lokal auf deinem Windows-Rechner und erzeugt JSON-Dateien für zwei Zwecke — aus zwei verschiedenen Quellen: Raffinerie-Aufträge liest er aus deinen Screenshots des SETUP-Bildschirms, Baupläne dagegen aus den Game.log-Dateien deiner Star-Citizen-Installation (dafür braucht er keine Screenshots).
- Repo & Downloads: https://github.com/krt-profit/basetool-sc-extractor — den gleichen Weg zum neuesten Release nimmt der Eintrag „SC Extractor laden“ im Drei-Punkte-Menü (⋯) der Seite Meine Blueprints.
- Die Bildverarbeitung passiert vollständig auf deinem Rechner. Screenshots bzw. Bilddaten verlassen deine Maschine nie — nur das fertige JSON wird (wenn du es willst) übertragen.
- Eigenes Handbuch: Installation, beide Workflows, Ollama-Einrichtung, Datenschutz und Fehlerbehebung stehen im Handbuch des SC Extractors. Warnt Windows Defender beim Download, erklärt dort die Seite Virenwarnung & Echtheit prüfen, warum das ein Fehlalarm ist und wie du deine Datei selbst überprüfst.
Refinery-Screenshot-Import
Du dokumentierst Raffinerie-Aufträge ohnehin per Screenshot? Daraus macht der Extractor einen vorausgefüllten Auftrag.
So funktioniert es
- Im Spiel den SETUP-Bildschirm der Raffinerie aufnehmen (mit gezogenem GET QUOTE, damit die Mengen feststehen).
- Den/die Screenshot(s) im Extractor verarbeiten — er erzeugt eine
RefineryExtract-JSON-Datei. - Diese JSON ins Basetool bringen (per Datei-Upload oder per Direkt-Übertragung, siehe unten).
- Das Basetool gleicht die ausgelesenen Namen gegen die Stammdaten ab und öffnet die Seite „Neuer Raffinerieauftrag" mit vorausgefüllten Feldern.
- Du prüfst den Entwurf, korrigierst Hinweise und speicherst selbst — gespeichert wird ausschließlich über den normalen Anlegen-Weg.
Datei-Upload
Auf der Seite „Neuer Raffinerieauftrag" gibt es den Knopf „Aus Screenshot-Extract importieren (JSON)": Du wählst die vom Extractor erzeugte JSON-Datei aus, und das Formular wird direkt im Seitenkontext mit dem Entwurf gefüllt (kein Neuladen nötig). Was du vorher schon ins Formular getippt hattest, wird dabei verworfen — der Import ersetzt den Formularinhalt komplett.
Direkt daneben steht der Knopf „SC Extractor laden“, der dich zum neuesten Release des Desktop-Tools auf GitHub führt — falls du es noch nicht hast. Er öffnet sich in einem neuen Tab, ein bereits vorausgefülltes Formular bleibt also stehen. Denselben Link gibt es auf Meine Blueprints, dort im Drei-Punkte-Menü (⋯) neben „Importieren".
Prüfen vor dem Speichern
Der Import liest „best effort" — er zeigt dir also auch, was er nicht sicher zuordnen konnte. Typische Hinweise:
- Nicht zugeordnetes Material — der ausgelesene Name passt auf kein bekanntes Material. Häufig bietet das Basetool Vorschläge an, die du per Klick zuweisen kannst.
- Geringe Treffersicherheit — das Material wurde nur unscharf zugeordnet; bitte gegenprüfen. Die Sicherheit wird als Prozentwert angezeigt.
- Unbestätigte Zeile / Auftrag — es wurde kein GET QUOTE gezogen, also fehlen Mengen. Hier hilft nur: im Spiel neu aufnehmen, nachdem du eine Quote gezogen hast.
- Ort / Methode nicht aufgelöst — kommt vor, wenn der Panel-Ausschnitt die Kopfzeile nicht enthält; trage Ort und Methode dann von Hand nach.
- Summen-Abweichung — die Zeilensummen passen nicht exakt zum Kopf-Total. Das ist ein Warnhinweis, kein Fehler: prüfe die Zeilen, und wenn du den Auftrag nach dem Quote noch geändert hast, nimm neu auf.
- Qualität außerhalb von 0–1000 — vermutlich ein Lesefehler; korrigiere den Wert.
- Übersprungene Zeilen — Zeilen, bei denen REFINE ausgeschaltet war (z. B. inerte Materialien) oder deren Menge bzw. Ertrag 0 war, werden nicht übernommen.
- Mehrere Aufträge in einer Datei — nur der erste wird übernommen.
Oben im Formular fasst ein Hinweis zusammen, wie viele Zeilen zugeordnet und wie viele übersprungen wurden.
Pflichtfelder ohne Treffer (z. B. ein leeres Material-Feld) musst du vor dem Speichern füllen. Alles, was nur als Hinweis markiert ist, kannst du übernehmen oder korrigieren.
Startzeit aus dem Screenshot
Wenn der Extractor in den Bilddateien einen Aufnahme-Zeitstempel findet (aus dem Dateinamen oder dem Änderungsdatum), trägt das Basetool diesen als Startzeitpunkt des Auftrags vor. Zeiten werden intern in UTC gehalten und dir in deiner lokalen Zeit angezeigt. Findet sich kein Zeitstempel, bleibt das Feld leer und der Startzeitpunkt wird beim Speichern auf „jetzt" gesetzt.
Mehr zu Raffinerie-Aufträgen selbst: Raffinerie.
Blueprint-Import (Persönliches Inventar)
Der Extractor kann auch deine im Spiel freigeschalteten Baupläne erfassen und als Blueprints-JSON exportieren. Diese Datei importierst du im Persönlichen Inventar unter Meine Blueprints.
Der Blueprint-Import erkennt mehrere Quellen: neben dem Basetool SC Extractor auch den SCMDB-Log-Watcher und den Profil-/Tracking-Export von scmdb.net. Der scmdb.net-Export ist eine gepflegte Checkliste statt einer Spiel-Log-Aufnahme — er übernimmt nur die freigeschalteten Baupläne (noch nicht freigeschaltete Einträge werden übersprungen). Zusätzlich trägt jeder scmdb.net-Eintrag einen strukturellen Bauplan-Schlüssel (Tag) mit sich, über den ein Produkt zuverlässig erkannt wird — auch dann, wenn der angezeigte Name vom Stammdaten-Namen abweicht.
So läuft der Import dort:
- Auf der Blueprints-Seite den JSON-Import über die Add-Leiste starten und die Datei auswählen.
- Es öffnet sich eine Vorschau mit allen erkannten Bauplänen — mit „Alle / Keine / Anwenden", pro Zeile Suche und optionalen Notizen.
- Du wählst aus, was übernommen werden soll, und bestätigst.
Hinweis zu Standard-Bauplänen: Ein kleiner Satz Start-Baupläne (Starter-Pistole, -Gewehr, deren Magazine, die Field-Recon-Suit-Teile) ist auf jedem Star-Citizen-Account von Haus aus freigeschaltet und taucht deshalb nicht in einem Extractor-Import auf. Diese Baupläne vergibt das Basetool automatisch an jeden Nutzer — du musst sie nicht importieren, und du kannst sie auch nicht entfernen.
Direkt-Übertragung (Ein-Klick „an Basetool senden")
Statt die JSON-Datei zu speichern und von Hand hochzuladen, kann der Extractor das Ergebnis am Ende mit einem Klick auf „An Basetool senden" direkt ans Basetool übertragen. Über „Im Basetool öffnen" landest du dann auf der passenden Seite — Raffinerie-Anlegen bzw. Blueprint-Import — mit den Daten schon vorausgefüllt.
Mindestens Version 2.10.0. Seit dem 28.09.2026 nimmt das Basetool Übertragungen nur noch vom SC Extractor ab Version 2.10.0 an. Ältere Versionen nutzen einen Übertragungsweg, den es nicht mehr gibt: Sie können nicht mehr senden und zeigen dabei nur „Versand fehlgeschlagen", ohne Hinweis auf ein Update. Aktualisieren hilft — siehe Updates im Extractor-Handbuch. Der Datei-Upload im Browser funktioniert mit jeder Version.
Anmelden des Desktop-Tools
Damit der Extractor in deinem Namen senden darf, meldet er sich einmalig per Keycloak an:
- Beim ersten Senden öffnet der Extractor deinen Browser und zeigt dir einen Code („Im Browser bestätigen"). Du meldest dich dort mit deinem üblichen Basetool-Login an und bestätigst den Code.
- Danach merkt sich der Extractor die Anmeldung sicher in der Windows-Anmeldeinformationsverwaltung, sodass spätere Übertragungen ohne erneute Bestätigung gehen.
- Mit „Vom Basetool trennen" im Extractor ziehst du die gespeicherte Anmeldung zurück und löschst sie vom Rechner; beim nächsten Senden wird die Freigabe erneut abgefragt.
Es braucht keine besondere Rolle — jedes angemeldete Mitglied darf seine eigenen Extrakte senden. Die Daten gehören immer dir; der Extractor handelt nie für jemand anderen.
Was übertragen wird (und was nicht)
- Übertragen wird nur das fertige JSON, und auch nur dann, wenn du im Extractor explizit Senden klickst. Es gibt keine Hintergrund-Synchronisation, kein automatisches Senden, keine Telemetrie.
- Screenshots und Bilddaten verlassen deinen Rechner nie — nur der bereits ausgewertete Entwurf wird übertragen.
- Auch bei der Direkt-Übertragung gilt: das Basetool füllt nur vor. Erst dein Klick auf Speichern legt den Auftrag bzw. den Bauplan an. Die Übertragung ist nur ein anderer Transportweg für denselben Entwurf — kein neuer Speicherweg.
Bist du im Browser noch nicht angemeldet, führt dich das Basetool zuerst durch den normalen Login und bringt dich danach wieder auf das vorausgefüllte Formular. Ist eine Übertragung abgelaufen oder bereits verbraucht, bekommst du einfach das leere Anlege-Formular mit einem kurzen Hinweis — nichts geht kaputt, nichts wird ungefragt gespeichert.
Nur der offizielle Extractor darf senden
An das Basetool kommen nur zugelassene Programme: der offizielle Basetool-SC-Extractor und Programme anderer Anbieter, die öffentlich zugelassen sind. Beide stehen mit ihren Berechtigungen in der öffentlichen Liste der zugelassenen Anwendungen; nur die Weboberfläche und die Android-App gehören zum Basetool selbst. Andere Programme werden abgewiesen, auch wenn du dich damit gültig anmelden könntest.
Das ist Absicht: Bei der Anmeldung bekommt ein Programm ein Token, das in deinem Namen handeln darf. Deshalb kommt nur Software ans Basetool, deren Umgang mit deinem Zugang vor der Zulassung geprüft wurde und deren Anbieter bekannt ist.
Was das für dich heißt:
- Nutze den Extractor aus der offiziellen Quelle: https://github.com/krt-profit/basetool-sc-extractor. Dann merkst du von dieser Regel nichts.
- Halte ihn aktuell. Meldet er sich als veraltet, aktualisiere ihn, bevor du sendest.
- Andere Programme kommen nur über eine öffentliche Zulassung ans Basetool: Der Hersteller beantragt sie im Basetool-Repository, und nach der Zulassung verbindest du das Programm über Verbundene Anwendungen mit deinem Konto – nur mit den Berechtigungen, denen du selbst zustimmst. Welche Programme zugelassen sind, steht in der Liste der zugelassenen Anwendungen; wie der Antrag abläuft, beschreibt die Entwickler-Dokumentation (auf Englisch).
Seit dem 03.08.2026 steht diese Regel auch in den Nutzungsbedingungen (Abschnitt 4), seit dem 28.09.2026 mit Verweis auf die öffentliche Liste; was sich dabei geändert hat, steht unter Nutzungsbedingungen. Sie gilt für alle Schnittstellen des Basetool, nicht nur für die Übertragung aus dem Extractor, und sie gilt auch dann, wenn du ein fremdes Programm mit deinen eigenen Zugangsdaten verwendest.
Der Extractor als verbundene Anwendung
Seit Version 2.10.0 ist der SC Extractor selbst eine verbundene Anwendung. Er verbindet sich wie jede andere: Er zeigt dir einen Code, du tippst ihn im Basetool selbst ein und stimmst seinen Berechtigungen zu. Danach steht er mit seinen Installationen unter Persönlich → Verbundene Anwendungen, und du kannst ihn dort jederzeit trennen.
Raffinerieaufträge und Blueprint-Importe legt er dir weiterhin nur zur Prüfung vor. Neu ist der direkte Blueprint-Abgleich: Schaltest du ihn im Extractor ein und hast der Berechtigung „Blueprints hinzufügen und entfernen" zugestimmt, gleicht er deine Blueprint-Liste ohne den Umweg über die Import-Vorschau ab. Dafür gelten die Regeln unter Verbundene Anwendungen, und dort kannst du seine Änderungen auch zurücknehmen.
Der Datei-Upload im Browser bleibt davon völlig unberührt — er steht jedem Mitglied jederzeit offen, egal womit du dein JSON erzeugt hast.
Wer darf was?
| Aktion | Wer |
|---|---|
| Refinery-JSON importieren / vorausfüllen lassen | jedes angemeldete Mitglied |
| Blueprint-JSON importieren | jedes angemeldete Mitglied (für das eigene Inventar) |
| Direkt-Übertragung aus dem Extractor | jedes angemeldete Mitglied (eigene Daten) |
| Gespeicherten Raffinerie-Auftrag anlegen | wie im normalen Anlegen-Weg (Org-Einheit-Bezug, siehe Raffinerie) |
Importe selbst brauchen keine erhöhte Rolle. Beim Speichern des geprüften Entwurfs gelten die normalen Berechtigungen und der Org-Einheit-Bezug des jeweiligen Anlegen-Wegs. Die maßgebliche Rollen-Matrix steht in Rollen und Berechtigungen bzw. ausführlich in ROLES_AND_PERMISSIONS.md. Bei Abweichungen zählt immer der Code.
Probleme & Stolpersteine
- „Unbestätigter Auftrag": Du hast vor dem Screenshot kein GET QUOTE gezogen — ohne Quote fehlen die Mengen. Im Spiel Quote ziehen und neu aufnehmen.
- Falsch zugeordnete Materialien: Nutze die Vorschläge, die das Basetool an der Zeile anbietet, oder korrigiere das Material-Feld von Hand. Tritt dieselbe Namensvariante immer wieder auf, wende dich an die Administration.
- Direkt-Übertragung tut nichts: Prüfe, ob der Extractor verbunden ist (ggf. über „Vom Basetool trennen" abmelden und beim nächsten Senden neu bestätigen). Der Datei-Upload funktioniert in jedem Fall und liefert exakt dasselbe Ergebnis.
- Version 2.9.1 oder älter sendet nicht mehr: Den Übertragungsweg dieser Versionen gibt es seit dem 28.09.2026 nicht mehr, und inzwischen weist das Basetool ihre Anmeldung ab — die Meldung lautet je nach Version „Versand fehlgeschlagen: …" oder nennt die Anmeldung, einen Hinweis zum Aktualisieren zeigen diese Versionen nicht mehr. Aktualisiere den Extractor auf die neueste Version (siehe Mindestens Version 2.10.0); erneutes Senden oder neu Anmelden hilft nicht. Der Datei-Upload im Browser funktioniert weiterhin.
- „Versand abgelehnt: Das Basetool nimmt Daten nur von freigegebenen Programmen an, und dieses hier steht nicht auf der Liste …": Das Basetool kennt das sendende Programm nicht oder hat es gesperrt (
CLIENT_NOT_ALLOWED,CLIENT_SUSPENDED) — etwa ein eigener Build statt des offiziellen Extractors. Hol dir den Extractor aus der offiziellen Quelle (siehe Nur der offizielle Extractor darf senden). Erneutes Senden hilft hier nicht; der Datei-Upload im Browser funktioniert weiterhin. Verwandt: „Versand abgelehnt: Diese Version des SC Extractors ist zu alt …" (CLIENT_VERSION_UNSUPPORTED) — aktualisieren. - „Versand abgelehnt: Dein Basetool-Konto darf das nicht …": Das Basetool ordnet jeden Versand aus dem Extractor der Person zu, die sendet — und dafür muss dein Konto dort aktiv sein und eine Rolle haben (
NO_ROLE,ACTING_MEMBER_REFUSED,NOT_PERMITTED). Wurde dein Konto deaktiviert oder entfernt, hilft erneutes Senden nicht; wende dich an die Administration. Wartet deine Registrierung noch auf Freischaltung, sagt der Extractor das eigens („… wartet noch auf Freischaltung"). - „Das Basetool ist gerade nicht erreichbar. Bitte in etwa … Sekunden erneut versuchen.": Eine vorübergehende Störung auf Seite des Basetools, nicht deine Anmeldung — neu anmelden oder „Vom Basetool trennen" hilft nicht. Der Extractor zeigt diesen Text für
EXCHANGE_DISABLED,REGISTRY_UNAVAILABLE,EXCHANGE_BUDGET_EXHAUSTED,SERVICE_UNAVAILABLE,BACKEND_RELAY_FAILED,IDEMPOTENCY_IN_PROGRESS,INTERNAL_ERRORund jede andere Antwort mit Status 5xx, etwaRELAY_BUSY(beim „Blueprints synchronisieren" mit mehr als 100 neuen Blueprints auf einmal). Warte die genannte Zeit ab und sende erneut; bleibt der Fehler, melde ihn mit der Referenz, die unter jeder Meldung steht (Link unten). Der Datei-Upload im Browser funktioniert weiterhin. - „Das Basetool bittet um eine Pause …" (
RATE_LIMITED,DPOP_PROOF_LIMIT) und „Das Tageskontingent für Übertragungen ist aufgebraucht …" (QUOTA_EXCEEDED): Zu viele Anfragen in kurzer Zeit bzw. das Tageslimit ist erreicht. Die genannte Zeit abwarten. Drückst du vorher erneut, sendet der Extractor nichts und sagt „Noch nicht gesendet: Nach einem Fehler wartet der Extractor …" — nach einem Fehler wartet er erst 5 Sekunden, nach jedem weiteren doppelt so lange (höchstens 5 Minuten), und nie kürzer, als das Basetool verlangt. - „Versand abgelehnt: Du hast die aktuellen Nutzungsbedingungen des Basetools noch nicht angenommen …": Der Versand aus dem Extractor unterliegt derselben Zustimmungspflicht wie die Weboberfläche. Melde dich einmal im Browser am Basetool an, stimme zu, und sende danach erneut (siehe Erste Schritte).
- Extrakt ohne Zeilen oder ohne Quell-Screenshot wird abgelehnt: Ein Raffinerie-Auftrag muss mindestens eine Material-Zeile und mindestens ein Quellbild mitbringen — sonst gibt es nichts zu importieren. Tritt das bei einer echten Aufnahme auf, war die Erkennung unvollständig: Panel neu und vollständig aufnehmen (Spaltenbereich mit QTY nicht abschneiden) und erneut auswerten.
- Parallele Bearbeitung: Speicherst du einen Entwurf, während jemand anderes denselben Datensatz ändert, kann es einen Konflikt geben (Hinweis „Konflikt: Jemand war schneller"). Aktuelle Werte laden und erneut speichern.
Weitere Hilfe: FAQ und Troubleshooting · Fehler melden unter https://github.com/krt-profit/basetool/issues.