46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
# Scoreboard Correlation Debugging
|
|
|
|
Use backend commands to debug a missing public scoreboard button on an RCON
|
|
historical match. Normal frontend payloads and pages should stay free of
|
|
correlation diagnostics.
|
|
|
|
## Sequence
|
|
|
|
1. Refresh trusted public scoreboard candidates for the relevant server:
|
|
|
|
```powershell
|
|
docker compose exec backend python -m app.scoreboard_candidate_backfill --server comunidad-hispana-02 --from 2026-05-20T00:00:00Z --to 2026-05-21T23:59:59Z --max-pages 5 --page-size 100
|
|
```
|
|
|
|
2. Scan existing materialized RCON matches against those candidates:
|
|
|
|
```powershell
|
|
docker compose exec backend python -m app.rcon_scoreboard_relink --server comunidad-hispana-02
|
|
```
|
|
|
|
3. Inspect one match correlation:
|
|
|
|
```powershell
|
|
docker compose exec backend python -m app.scoreboard_correlation_diagnostics --server comunidad-hispana-02 --match comunidad-hispana-02:1779310451:1779315851:foywarfare
|
|
```
|
|
|
|
4. Verify the detail endpoint used by the match page:
|
|
|
|
```powershell
|
|
Invoke-WebRequest 'http://localhost:8000/api/historical/matches/detail?server=comunidad-hispana-02&match=comunidad-hispana-02%3A1779310451%3A1779315851%3Afoywarfare' | Select-Object -ExpandProperty Content
|
|
```
|
|
|
|
## Reading Output
|
|
|
|
The diagnostic JSON includes the RCON match window, score, candidate search
|
|
window, safe top candidate summaries, the selected candidate when one is strong
|
|
enough, and `final_reason`.
|
|
|
|
- `linked` means the detail read model can expose the trusted `match_url`.
|
|
- `no-safe-candidate` means candidate persistence or map/window matching needs
|
|
inspection.
|
|
- `low-confidence` means candidates exist but evidence is insufficient.
|
|
- `ambiguous-candidate` means two candidates tie and no public URL is selected.
|
|
- `unsafe-url` in a candidate summary means the raw candidate URL is not emitted
|
|
or selected.
|