Files
comunidadhll/docs/rcon-data-capability-audit.md
2026-06-02 16:29:53 +02:00

6.4 KiB

RCON Data Capability Audit

Validation Date

  • 2026-03-24

Scope

Auditoria tecnica del alcance real de RCON en esta repo, separando con claridad:

  • RCON directo implementado hoy en el backend
  • historico CRCON / scoreboard publico
  • metricas que solo serian posibles con captura propia de eventos o logs

No se implementa ninguna tabla, ruta, scoring ni captura adicional.

Evidence Reviewed

  • backend/app/rcon_client.py
  • backend/app/providers/rcon_provider.py
  • backend/app/data_sources.py
  • backend/app/payloads.py
  • backend/README.md
  • docs/historical-crcon-source-discovery.md
  • docs/monthly-player-ranking-data-audit.md
  • docs/monthly-mvp-ranking-scoring-design.md

Current RCON Surface In This Repository

La implementacion RCON actual es minima y solo cubre estado live.

Capacidades confirmadas en codigo hoy:

  • handshake ServerConnect
  • autenticacion Login
  • consulta GetServerInformation

No hay evidencia en la repo de otros comandos RCON ya integrados para:

  • eventos de kill
  • detalle por arma
  • relaciones killer -> victim
  • teamkills por evento
  • destruccion de garrisons u OPs
  • historico de partidas cerradas

What The Current Live Provider Exposes Today

El proveedor RconLiveDataSource solo normaliza estos campos para /api/servers:

  • external_server_id
  • server_name
  • status
  • players
  • max_players
  • current_map
  • region
  • source_name
  • snapshot_origin
  • source_ref

Esto significa que RCON directo hoy ya alimenta de forma confirmada:

  • disponibilidad online del servidor
  • nombre del servidor
  • numero de jugadores actual
  • capacidad maxima
  • mapa actual
  • metadata de procedencia del snapshot

Data That Is Not Exposed By Direct RCON Today

Aunque la task pide revisar equipos, scoreboard actual y otros campos live, la repo no confirma que el proveedor actual los este devolviendo hoy.

No quedan expuestos en el snapshot live actual:

  • composicion por equipos
  • scoreboard de jugadores en tiempo real
  • kills por jugador en la partida en curso
  • deaths por jugador en la partida en curso
  • support/combat/offense/defense live
  • teamkills live

Importante:

  • esto no prueba que el protocolo HLL RCON no pueda ofrecer mas cosas
  • solo prueba que la implementacion actual de esta repo no las consulta ni las serializa

Historical Boundary

La separacion entre live e historico queda clara en la repo:

  • get_live_data_source() puede resolver rcon
  • get_historical_data_source() devuelve un placeholder RconHistoricalDataSource
  • ese proveedor historico lanza RuntimeError("Historical RCON provider is not implemented yet.")

Conclusion operativa:

  • RCON esta operativo hoy para estado live de /api/servers
  • RCON no esta operativo hoy para ingesta historica
  • el historico reutilizable del proyecto sigue viniendo de CRCON / scoreboard publico

Capability Matrix For Future MVP V2 Metrics

Metrica / senal RCON directo hoy en esta repo Requeriria eventos/logs + persistencia Estado actual
Estado del servidor Si No Disponible
Jugadores actuales totales Si No Disponible
Capacidad maxima Si No Disponible
Mapa actual Si No Disponible
Equipos live No confirmado Posiblemente no, depende de ampliar cliente No expuesto hoy
Scoreboard live por jugador No confirmado Posiblemente no, depende de ampliar cliente No expuesto hoy
Kills por arma No Si Requiere pipeline nuevo
Distincion artillery / tank / infantry No Si Requiere pipeline nuevo
Killer -> victim No Si Requiere pipeline nuevo
most_killed No Si Requiere pipeline nuevo
death_by No Si Requiere pipeline nuevo
Teamkills por evento No Si Requiere pipeline nuevo
Teamkills agregados por partida/mes No desde RCON actual Si Requiere pipeline nuevo
Garrisons destruidos No confirmado Si como minimo No confirmado
OPs destruidos No confirmado Si como minimo No confirmado
Otras metricas tacticas finas No Si Requiere pipeline nuevo
Partidas cerradas historicas No Si No disponible hoy via RCON

What Can Feed An MVP V2 From RCON

Subset viable usando solo RCON directo ya implementado:

  • ninguno de los componentes avanzados de scoring MVP
  • solo datos de presencia live del servidor, utiles para panel operativo pero no para ranking mensual

Subset viable si se amplia solo el cliente RCON pero sin pipeline historico:

  • quiza mas detalle live si el protocolo ofrece comandos adicionales
  • aun asi no bastaria para un ranking mensual auditable, porque faltaria persistencia por evento o por partida cerrada

Subset viable si se construye una linea nueva de eventos/logs RCON:

  • kills por arma
  • killer/victim
  • teamkills por evento
  • clasificacion artillery/tank/infantry
  • senales tacticas si el origen real las emite

Condiciones minimas para que eso sirva a un MVP V2:

  • ampliar el cliente RCON con comandos o feeds adicionales reales
  • capturar eventos de forma continua fuera del request path HTTP
  • persistir historico propio por partida, jugador y evento
  • definir agregados reproducibles para mes y servidor

Separation From CRCON / Public Scoreboard

La repo ya confirma que ciertas metricas avanzadas existen en CRCON publico, pero eso no debe confundirse con RCON directo.

La evidencia actual de CRCON/scoreboard publico incluye campos como:

  • kills_by_type
  • most_killed
  • death_by
  • weapons
  • death_by_weapons

Eso pertenece al historico JSON publico ya documentado y no a la superficie RCON hoy implementada en rcon_client.py.

Practical Conclusion

Para esta repo, la respuesta precisa hoy es:

  • RCON directo sirve para estado live de servidores
  • RCON directo no sirve todavia para alimentar un MVP mensual V2
  • cualquier MVP V2 con armas, duelos, teamkills por evento o tacticas requiere una canalizacion nueva de eventos/logs y persistencia historica propia
  • garrisons y OPs siguen sin evidencia confirmada en la repo como metrica disponible por RCON

Antes de disenar scoring V2 sobre RCON, la siguiente decision tecnica correcta seria una task separada de discovery para definir:

  • si el origen RCON real del servidor expone mas comandos aparte de GetServerInformation
  • si existe flujo de eventos reutilizable
  • que granularidad y frecuencia tendria la persistencia de esos eventos
  • que subset minimo merece convertirse en modelo historico propio