Files
comunidadhll/docs/crcon-advanced-metrics-origin-audit.md
devRaGonSa 0da8338ba8 Fix
2026-06-05 16:57:25 +02:00

224 lines
7.5 KiB
Markdown

# CRCON Advanced Metrics Origin Audit
## Validation Date
- 2026-03-24
## Scope
Auditoria tecnica del origen probable de metricas avanzadas visibles en
ecosistemas tipo CRCON / HLL Records, separando:
- RCON directo implementado hoy en esta repo
- campos historicos ya visibles en la capa publica tipo scoreboard
- metricas que solo resultan plausibles con eventos/logs y agregacion propia
No se implementa captura nueva, tablas nuevas ni cambios de producto.
## Evidence Reviewed
- `docs/rcon-data-capability-audit.md`
- `docs/monthly-player-ranking-data-audit.md`
- `docs/historical-crcon-source-discovery.md`
- `backend/README.md`
- `backend/app/rcon_client.py`
- `backend/app/providers/rcon_provider.py`
- `backend/app/data_sources.py`
## Confirmed Boundary In This Repository
La evidencia local confirma dos superficies distintas:
- RCON live directo para estado actual del servidor
- historico CRCON / scoreboard publico para partidas cerradas y metricas ricas
El cliente RCON implementado en `backend/app/rcon_client.py` solo usa:
- `ServerConnect`
- `Login`
- `GetServerInformation`
El proveedor `RconLiveDataSource` solo convierte eso en:
- nombre del servidor
- estado online
- jugadores actuales
- capacidad maxima
- mapa actual
- metadata de procedencia del snapshot
La repo no contiene hoy evidencia de comandos RCON integrados para:
- killer -> victim
- kills por arma
- teamkills por evento
- duelos jugador contra jugador
- ledger tactico de acciones
- reconstruccion historica de partidas cerradas
## What The Historical Source Already Exposes
La discovery historica local ya documenta que el detalle CRCON / scoreboard
publico expone campos avanzados como:
- `kills_by_type`
- `most_killed`
- `death_by`
- `weapons`
- `death_by_weapons`
Ademas, `docs/monthly-player-ranking-data-audit.md` confirma que esos campos
existen en el origen, aunque la persistencia actual del proyecto todavia no los
guarda.
## Technical Interpretation
La mejor lectura tecnica basada en la repo es esta:
- RCON puro hoy solo cubre estado live operativo
- metricas como `most_killed` y `death_by` no salen del cliente RCON actual
- esas metricas ya existen en una capa historica enriquecida externa al cliente
RCON local
- para reproducirlas dentro del proyecto haria falta una persistencia propia o
una fuente historica equivalente que conserve eventos o agregados avanzados
Esto no demuestra por si solo el mecanismo interno exacto de CRCON o HLL
Records, pero si permite descartar algo importante: en esta repo no hay base
para afirmar que esas metricas provengan de RCON directo ya listo para usar.
## Plausible Origin Paths
### 1. Direct RCON Commands
Plausibilidad en esta repo: baja para metricas avanzadas.
Motivo:
- no hay comandos RCON avanzados integrados en codigo
- no hay provider historico RCON operativo
- `RconHistoricalDataSource` es solo un placeholder que falla con
`Historical RCON provider is not implemented yet.`
Conclusion:
- RCON directo es plausible para live state
- no hay evidencia local suficiente para atribuirle `most_killed`,
`death_by`, killer/victim o kills por arma
### 2. Event Stream Or Server Logs
Plausibilidad en esta repo: alta como origen tecnico necesario si el proyecto
quisiera reconstruir esas metricas por cuenta propia.
Motivo:
- killer/victim requiere granularidad por evento o al menos por encounter
- kills por arma requieren capturar el arma asociada al kill
- teamkills por evento requieren distinguir el evento individual
- clasificaciones como infantry / tank / artillery requieren una senal por tipo
de kill o contexto del evento
Conclusion:
- para producir estas metricas dentro de HLL Vietnam, un pipeline de eventos o
logs es la hipotesis tecnica mas consistente
### 3. CRCON Internal Storage / Enriched Aggregation
Plausibilidad en esta repo: alta para explicar lo que ya se observa en el
scoreboard publico.
Motivo:
- la fuente publica ya devuelve campos agregados que el proyecto no calcula
- esos campos no se derivan del snapshot live RCON implementado hoy
- `most_killed` y `death_by` parecen vistas agregadas de encounters, no simples
contadores live del servidor
Conclusion:
- CRCON / HLL Records probablemente sirve esos campos desde una capa historica
propia ya enriquecida y persistida, no desde la llamada live minima que esta
repo usa por RCON
## Origin Matrix By Metric
| Metrica | RCON directo hoy en esta repo | Requiere eventos/logs para reproducirla | Requiere agregacion/persistencia propia | Origen probable segun evidencia local |
| --- | --- | --- | --- | --- |
| Estado live del servidor | Si | No | No | RCON directo |
| Jugadores actuales | Si | No | No | RCON directo |
| Mapa actual | Si | No | No | RCON directo |
| Scoreboard live basico por jugador | No confirmado | Posiblemente no siempre | Posiblemente no | No confirmado en la repo |
| `most_killed` | No | Si o fuente historica equivalente | Si | Capa historica enriquecida |
| `death_by` | No | Si o fuente historica equivalente | Si | Capa historica enriquecida |
| killer -> victim | No | Si | Si | Eventos/logs + persistencia |
| kills por arma | No | Si | Si | Eventos/logs + persistencia |
| `kills_by_type` | No | Si | Si | Eventos/logs + persistencia |
| `death_by_weapons` | No | Si | Si | Eventos/logs + persistencia |
| teamkills por evento | No | Si | Si | Eventos/logs + persistencia |
| teamkills agregados historicos | No desde RCON actual | Si | Si | Agregacion historica |
| duelos reutilizables | No | Si | Si | Eventos/logs + persistencia |
| distincion infantry / tank / artillery | No | Si | Si | Eventos/logs + clasificacion propia |
| acciones tacticas finas | No confirmadas | Si | Si | No confirmadas, pero no salen del RCON actual |
## What RCON Purely Can Plausibly Provide
Con evidencia local, RCON puro queda limitado a:
- estado actual del servidor
- jugadores presentes
- capacidad maxima
- mapa actual
- metadata live util para un panel operativo
Eso sirve para monitoreo live, no para un MVP mensual V2 con rivalidades,
armas, killers, victims o taxonomias tacticas.
## What Seems To Require Event Capture Or Logs
Las metricas siguientes solo son defendibles si el proyecto capta eventos o
logs con granularidad suficiente:
- killer -> victim
- `most_killed`
- `death_by`
- kills por arma
- `kills_by_type`
- `death_by_weapons`
- teamkills por evento
- segmentacion infantry / tank / artillery
La razon comun es que todas dependen de relaciones o atributos de eventos
individuales, no solo de un snapshot agregado del servidor.
## What Seems To Require Historical Aggregation
Incluso con eventos capturados, haria falta una capa propia de persistencia y
agregacion para exponer de forma estable:
- rivales mas frecuentes
- resumen `most_killed`
- resumen `death_by`
- perfiles de armas por jugador
- acumulados mensuales auditables por servidor
Sin esa capa, la señal estaria dispersa en eventos crudos y no seria operativa
para un ranking MVP V2.
## Final Conclusion
La conclusion mas solida que soporta esta repo es:
- `most_killed`, `death_by`, killer/victim y kills por arma no salen del RCON
directo implementado hoy
- esas metricas ya son visibles en una fuente historica enriquecida externa al
cliente RCON local
- para reproducirlas dentro del proyecto haria falta una canalizacion nueva de
eventos/logs y una persistencia historica propia con agregados derivados
## Recommended Follow-Up
La siguiente task tecnica correcta es disenar el pipeline minimo de eventos de
jugador necesario para alimentar una V2 del ranking mensual sin asumir que RCON
directo ya entrega esas metricas listas.