Saltar al contenido
Blog

Retención de jugadores en FiveM: quién vuelve y quién lo dejó

Mide la retención en FiveM: jugadores nuevos y recurrentes, retención a 1, 7 y 30 días, cohortes semanales y horas punta, con SQL o en la pestaña Crecimiento.

Por Termi

4 min de lectura
  • Players
  • Retention
  • Analytics
En esta página

Un servidor de FiveM con 80 jugadores en hora punta puede parecer sano y aun así perder a la mayoría de sus jugadores nuevos tras una sola noche. El contador de jugadores solo muestra quién está conectado. La retención muestra si la gente que te encontró la semana pasada sigue jugando, y suele avisar de un problema semanas antes de que empiece a bajar el pico de la noche.

Qué medir

  • Jugadores nuevos y recurrentes por día. Una cifra estable hecha cada día de caras nuevas significa que el servidor no retiene a nadie.
  • Retención a 1, 7 y 30 días. De los jugadores que entraron por primera vez, cuántos volvieron a jugar esos días después o más tarde.
  • Cohortes semanales. Jugadores agrupados por la semana en que entraron por primera vez, y la parte de cada grupo que jugó en cada semana posterior. Una cohorte que cae más rápido que las demás apunta a algo que cambió esa semana.
  • Duración del primer día. Los jugadores nuevos que se van en menos de 10 minutos y no vuelven nunca suelen haberse atascado en la cola, el creador de personajes o la whitelist.
  • Horas punta. Cuándo están conectados de verdad tus jugadores, para que los reinicios y los eventos caigan a buena hora.
  • Habituales que dejaron de venir. Alguien que jugó cuatro días a la semana durante un mes y luego desapareció merece un mensaje.

Mídelo tú mismo

Todo esto sale de un solo dato: qué jugador jugó qué día. Basta una tabla con una fila por jugador y día:

player_days.sql
CREATE TABLE player_days (
  license VARCHAR(64) NOT NULL,
  day DATE NOT NULL,
  PRIMARY KEY (license, day)
);

Llénala desde un script del servidor cuando entra un jugador. Este ejemplo usa oxmysql y la licencia de Rockstar del jugador como ID:

server.lua
AddEventHandler('playerJoining', function()
  local license = GetPlayerIdentifierByType(source, 'license')
  if not license then return end
  MySQL.insert('INSERT IGNORE INTO player_days (license, day) VALUES (?, UTC_DATE())', { license })
end)

Un jugador que sigue conectado pasada la medianoche UTC cuenta solo el día en que entró, lo cual basta para la retención. La retención a 7 días de los jugadores nuevos de los últimos 90 días es entonces una sola consulta en MySQL o MariaDB:

retention.sql
SELECT
  COUNT(*) AS new_players,
  SUM(last_day >= first_day + INTERVAL 7 DAY) AS back_after_7_days
FROM (
  SELECT license, MIN(day) AS first_day, MAX(day) AS last_day
  FROM player_days
  GROUP BY license
) AS players
WHERE first_day BETWEEN UTC_DATE() - INTERVAL 90 DAY
                    AND UTC_DATE() - INTERVAL 7 DAY;

Cambia el 7 por 1 o 30 para las otras dos cifras. Divide back_after_7_days entre new_players y tienes la proporción.

Deja fuera de los jugadores nuevos los últimos 7 días. Alguien que entró ayer todavía no ha podido volver al cabo de una semana, y contarlo hace que la retención parezca peor de lo que es.

La pestaña Crecimiento en FiveDock

FiveDock construye la misma tabla a partir de las entradas y salidas que su agente ya registra para la Black Box, y la guarda 400 días, más que los logs. Abre un servidor y elige la pestaña Crecimiento, junto a Jugadores y Consola.

  • Free muestra los jugadores nuevos y recurrentes por día de los últimos 30 días.
  • City añade la retención a 1, 7 y 30 días, cohortes semanales, cuánto duró el primer día de los jugadores nuevos y cuántos volvieron, y un gráfico de horas punta en tu zona horaria.
  • Metro y Enterprise dan el nombre de los habituales que dejaron de venir (cuatro días o más en cinco semanas y luego nada durante 7 a 30 días) y los incluyen en el resumen semanal, junto a los resources que cambiaron en el servidor justo antes de que se fueran.

Esa última lista es la más útil cuando un script nuevo rompió algo para un grupo de jugadores que nunca abrió un ticket. Lo tienes en la página de precios.

Preguntas frecuentes

¿Qué retención es buena para un servidor de FiveM?

No hay una referencia común para FiveM. Compara tu servidor consigo mismo: la misma semana del mes pasado, o la cohorte de antes de una gran actualización. Una cohorte que cae más rápido que las anteriores es la señal para mirar.

¿Funciona en un servidor con whitelist?

Sí, y ahí las cifras del primer día cuentan todavía más. Un jugador que pasó la whitelist y se fue en menos de 10 minutos suele haber tenido un problema con el creador de personajes o la zona de inicio.

¿Por qué identificador debo contar a los jugadores?

La license de Rockstar la tiene todo jugador y no cambia con una cuenta nueva de Discord o Steam. Los personajes no son jugadores: una licencia con tres personajes sigue siendo una sola persona.

Todos los artículos