Skip to content

Troubleshooting

"Server up, no telemetry" (amber status dot)

The backend is running but no packets are arriving from the console. The status bar says No telemetry, and the Live view shows a checklist (server, browser ↔ server, console discovery, GT7 in a session) re-run every 5 s, with Set console IP and Use simulated source.

  • Check the console IP in Settings › Connection (or GT7_PS_IP) is the PlayStation's current IP (it can change after a router reboot — consider a DHCP reservation). Find console there broadcasts on your network and fills in the IP of the console that answers.
  • Make sure the PlayStation and the server are on the same network / subnet.
  • Check that UDP port 33740 is not blocked by a firewall on the server.
  • If you rely on broadcast auto-discovery inside Docker, note that the default bridge network cannot see LAN broadcasts — set GT7_PS_IP explicitly or use network_mode: host (Linux only).
  • You must be in a race, time trial, or replay — GT7 only streams telemetry while driving is on screen, not in menus.
  • The default packet format C needs GT7 v1.68+ (and the ~ format doesn't stream during replays). On an older game version, set Packet format to A in Settings › Connection.

Wrong or garbled data (decode errors in /api/status)

Settings › Health counts decode errors and dropped frames, and says what each usually means (dropped frames are usually Wi-Fi; a wired console or the 5 GHz band fixes it).

  • Another tool on the network may be consuming or interfering with the stream.
  • The packet format may have changed after a game update — check for a newer release of the datalogger.

No laps recorded

  • Laps are only recorded while the car is on track and not paused — menu time is ignored.
  • Replays do record. GT7 streams a replay exactly like driving (there is no replay flag), so a race replay records its laps normally, and a single-lap leaderboard replay — which ends at the line, before a lap would normally commit — is salvaged when GT7's own reported lap time matches the recording. Two consequences: a race replay that cuts off before the flag still discards its final partial lap (no matching time, no lap), and replays capture other drivers' laps into your history — see excluding a session from bests. The ~ packet format doesn't stream during replays; the default format C does.
  • The first (out) lap completes when you cross the start line — until then nothing is saved.
  • Check that recording hasn't been paused — the ● REC / paused toggle in the status bar.

"Can't reach the datalogger server"

The web UI shows this page (and the status bar says Offline) when the browser cannot reach the backend. Check that the backend is running and reachable at the same host/port you loaded the page from.

Overlay or dash shows placeholder data

An overlay or /dash plays an animated fake lap, tagged placeholder, only while no real telemetry is arriving and the layout has Placeholder data when no telemetry switched on (or the URL has demo=1). It switches back by itself when telemetry resumes; if it doesn't, see no telemetry above.

Overlay shows a black background in OBS

Use a Browser source in OBS and make sure the overlay layout is set to the transparent strip; alternatively use the green-screen page mode and add a chroma-key filter for apps without alpha support. See Overlay & streaming.

Webhook notifications not arriving

  • Check the URL with Send test in Settings › Notifications (the test ignores the per-event toggles, and uses the saved URL — apply a new one first).
  • Each event type has its own toggle — make sure the one you expect is enabled.
  • Overtake / position lost need GT7 to report a live race position; it only does so in some race types (the field reads −1 elsewhere, and nothing fires). Changes also must hold for ~1 s before they count.
  • Off-road needs packet format C — check Settings › Connection.

401 / 403 "admin token" errors

The server has GT7_ADMIN_TOKEN set. Enter the same token under Settings › Access → Admin token in this browser (once per browser); while Settings is locked, its sections show an Unlock settings field that does the same. 403 means the entered token doesn't match the server's. Read-only pages (Live, overlays, /dash) never need the token.

Cross-origin (CORS) errors after upgrading

Wildcard CORS was removed — the bundled UI is same-origin and unaffected, but if you built a separate app that calls this API from another origin, set GT7_CORS_ORIGINS=http://your-app-host:port (comma-separated for several).

Getting more detail

  • Settings › Logs shows the live backend log with level filtering, and Download saves it for an issue.
  • GET /api/status reports connection state, packet rates, and decode errors — useful when filing an issue.
  • Database growing large? Settings › Data shows its size, how much Compact would reclaim, and the backup and delete-everything actions.

Still stuck? Open an issue with your setup (Docker/native, network layout) and the output of /api/status.