CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Racing Telemetrys for LMU
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Telemetrie-Tracker für Le Mans Ultimate. Runden aufnehmen, speichern und danach vergleichen: Delta, Speed, Brems- und Gaspunkte, direkt auf der Streckenkarte.
Stand: Phase 2 fertig. Echte Sessions aus LMU lassen sich importieren und mit Streckenkarte, Telemetrie (Speed, Gas, Bremse, Delta), Kurven-Analyse, Fahrstil-Kennzahlen, Stint-Report und Sprit-/VE-Rechner ansehen. Sessions liegen in Neon (Postgres), die Messwerte pro Runde als JSON im öffentlichen Vercel-Blob-Speicher.
npm install
npx vercel link # einmal, mit dem Vercel-Projekt verbinden
npx vercel env pull .env.local --environment=production # DATABASE_URL und BLOB_READ_WRITE_TOKEN holen
npm run dev # http://localhost:3000
npm test
--environment=production ist wichtig: Sonst kann DATABASE_URL auf einen Entwicklungs-Branch von Neon zeigen, und importierte Sessions tauchen auf der Live-Seite nicht auf.
In LMU unter Einstellungen › Gameplay die automatische Telemetrie-Aufnahme anschalten.
Fahren. Nach der Session zurück ins Menü, damit die Datei fertig geschrieben ist.
Im Projekt:
npm run import -- "C:\Program Files (x86)\Steam\steamapps\common\Le Mans Ultimate\UserData\Telemetry"
Liest alle .duckdb-Dateien im Ordner, lädt die Runden in den Blob-Speicher und schreibt alles andere in die Datenbank. Schon importierte Dateien und Aufnahmen ohne ganze Runde werden übersprungen. Die Session ist danach sofort auf der Seite, ohne Commit oder Deploy.
Die .duckdb-Dateien selbst landen nie im Blob oder im Repo, nur die daraus berechneten Runden. In den Dateien stehen auch Steam-ID und Setup.
LMU (1.2, Format-Version 1) schreibt pro Aufnahme eine DuckDB-Datei:
GPS Time. Frequenz und Einheit stehen in channelsList.ts und value, nur bei Änderungen. Liste in eventsList.Lap, offizielle Zeit über Lap Time am Rundenende. Lap Time = 0 heißt: Runde nicht gewertet.GPS Latitude/Longitude), reicht für die Streckenkarte.npm run inspect -- <datei> listet Tabellen, Spalten und Beispielzeilen einer Datei auf.
| Teil | Datei |
|---|---|
| LMU-Datei lesen und importieren | scripts/import-lmu.mts, scripts/lib/read-lmu.mts |
| Session speichern (Neon + Blob) | scripts/lib/save.mts, src/lib/lmu/store.ts |
| Sessions für die App laden | src/lib/data.ts |
| Kanäle/Events in Runden umrechnen | src/lib/lmu/convert.ts |
| Runden aufs Distanz-Raster bringen, Delta | src/lib/telemetry/compare.ts |
| Strecken-Outline, SVG-Projektion | src/lib/track/outline.ts |
| Rundentabelle mit Referenz/Vergleich | src/components/session-view.tsx |
| Kurven erkennen, Kennzahlen pro Kurve | src/lib/analysis/corners.ts, src/components/corner-table.tsx |
| Fahrstil pro Runde (Vollgas, Trail-Braking, Rollen, Lupfer) | src/lib/analysis/style.ts, src/components/lap-stats.tsx |
| Kurvennamen pro Strecke (von Hand gepflegt) | src/data/tracks.ts |
| Stints: Pace, Konstanz, Trend, Verbrauch, Reifen | src/lib/analysis/stints.ts, src/components/stint-report.tsx |
| Sprit- und VE-Rechner fürs Rennen | src/lib/analysis/strategy.ts, src/components/strategy-calc.tsx |
| Karte + Vergleichsgraph | src/components/lap-analysis.tsx |
| Datenbankschema und Migrationen | src/db/schema.ts, drizzle/, scripts/migrate.mjs |
Demo mit erfundenen Daten (/demo) | src/lib/demo.ts |
npm run db:migrate.src/db/schema.ts anpassen, npm run db:generate, Migration committen.lap_traces.getSession), weil sie sich nicht mehr ändert.