Contenido generado con IA — puede contener errores.

Sistemas

Estadísticas, rankings y logs

Qué se cuenta, dónde se guarda, los siete rankings y el registro de auditoría por clan.

Dos niveles de conteo

TablaAlcanceGuarda
clan_statsUna fila por clanbajas, muertes, tiempo jugado en segundos
player_statsUna fila por jugador y clanbajas, muertes, tiempo jugado y el último nombre visto

player_stats tiene clave playerUuid:clanId a propósito: salir de un clan y entrar en otro empieza una fila nueva en vez de arrastrar un historial ganado en otro sitio. La fila vieja se queda ahí — un jugador que vuelve a su clan anterior sigue donde lo dejó.

El tiempo jugado se acumula por sesión y se vuelca al desconectar, al salir del clan y al ser expulsado.

Un clan que nunca ha muerto reporta sus bajas como KDR

En vez de infinito. Un ranking tiene que ordenarlo y un menú tiene que imprimirlo, así que bajas ÷ 0 se convierte en bajas. La misma regla vale para el KDR de un jugador.

Bajas contra rivales

rivals.kill-stat-multiplier multiplica la baja registrada del clan en una baja contra un rival. Se redondea hacia arriba en el medio, así que 2.0 registra dos y 1.5 también registra dos. La fila por jugador registra siempre una. Con modules.rivals: false el multiplicador no se lee nunca.

Dejarlo en 1.0 — el valor por defecto — mantiene el total del clan y la suma de sus miembros en sintonía.

El ranking

/clan top

Siete rankings, que se cambian desde dentro del menú:

ClaveOrdena por
onlineMiembros conectados ahora mismo
membersMiembros totales
killsBajas del clan
deathsMuertes del clan
kdrKDR del clan
playtimeTiempo jugado total
balanceSaldo del banco

Cada ranking se construye bajo demanda y se cachea 30 segundos, así que un scoreboard que pida el top diez cuatro veces por segundo no lo reconstruye. Un clan sin fila en clan_stats no aparece.

Esas mismas claves son las que aceptan los placeholders:

%exyliaclans_clan_leaderboard_rank_kills%
%exyliaclans_clan_leaderboard_top_1_online%
%exyliaclans_clan_leaderboard_top_value_1_online%

La lista de conectados

Para un scoreboard de clan, clan_online_member_<n> y clan_online_ally_<n> dan hasta treinta huecos cada uno, ordenados por peso de rango — el más pesado primero — y luego alfabéticamente. A cada hueco se le puede pedir además un campo:

%exyliaclans_clan_online_member_1%          el nombre
%exyliaclans_clan_online_member_1_role%     su rango
%exyliaclans_clan_online_member_1_kdr%      su KDR en este clan
%exyliaclans_clan_online_ally_1_clan%       de qué clan aliado es

La lista se reconstruye como mucho una vez por segundo, que es lo que hace baratos treinta huecos en un scoreboard.

El registro de auditoría

logs:
  max-entries-per-clan: 200

Cada clan tiene su propio log. Se escribe para 42 tipos de evento: creación, disolución, renombrado; miembros que entran, salen, son expulsados, baneados, desbaneados, ascendidos, descendidos, reasignados de rango; transferencias de liderazgo; rangos creados, borrados, renombrados, repesados, con permisos cambiados, puestos por defecto; depósitos y retiradas del banco; peticiones de alianza enviadas, aceptadas, rechazadas, aliados quitados; rivales añadidos y quitados; terrenos creados, redibujados y quitados; homes puestos y quitados; friendly fire y clan abierto alternados; invitaciones enviadas y canceladas; correo de clan enviado; todos los eventos de oferta LFP y las solicitudes aceptadas; y las llamadas de regroup.

Las entradas que pasan de max-entries-per-clan se podan de la más antigua tras cada escritura, como mucho max-entries filas por escritura — así que un clan muy por encima del límite se va vaciando en las siguientes escrituras en vez de en una sola consulta. Ponlo alto y la tabla crece; ponlo a 0 y no se poda nada.

Cómo se lee:

  • /clan → Logs, para un miembro con VIEW_LOGS.
  • /clanadmin logs <clan> [cantidad], 20 por defecto, para el staff.

Cada línea se dibuja desde el bloque logs.* de messages.yml, que tiene una frase por acción más dos plantillas: una para entradas con objetivo y otra para las que no lo tienen.

Con modules.logs: false no se escribe nada, el menú se niega y /clanadmin logs lo dice.

Ediciones de admin

/clanadmin playerstat <jugador> <KILLS|DEATHS|PLAYTIME> <SET|ADD|REMOVE> <valor>
/clanadmin clanstat <clan> <KILLS|DEATHS|PLAYTIME> <SET|ADD|REMOVE> <valor>

PLAYTIME va en segundos. Los valores tienen suelo en cero. Los dos necesitan exyliaclans.admin.stats.

¿Falta algo en esta página? Dínoslo en Discord