Zum Inhalt springen
Blog

FiveM-Retention: wer wiederkommt und wer aufgehört hat

Miss die Retention auf FiveM: neue und wiederkehrende Spieler, Retention nach 1, 7 und 30 Tagen, Wochenkohorten und Stoßzeiten. Mit SQL oder im Tab Wachstum.

Von Termi

4 Min. Lesezeit
  • Players
  • Retention
  • Analytics
Auf dieser Seite

Ein FiveM-Server mit 80 Spielern zur Stoßzeit kann gesund aussehen und trotzdem die meisten neuen Spieler nach einem Abend verlieren. Der Spielerzähler zeigt nur, wer online ist. Die Retention zeigt, ob die Leute, die dich letzte Woche gefunden haben, noch spielen, und sie verrät ein Problem meist Wochen, bevor die Abendspitze sinkt.

Was du messen solltest

  • Neue und wiederkehrende Spieler pro Tag. Eine stabile Zahl, die jeden Tag aus neuen Gesichtern besteht, heißt, dass der Server niemanden hält.
  • Retention nach 1, 7 und 30 Tagen. Wie viele der Spieler, die zum ersten Mal beigetreten sind, nach so vielen Tagen oder später wieder gespielt haben.
  • Wochenkohorten. Spieler gruppiert nach der Woche ihres ersten Besuchs und der Anteil jeder Gruppe, der in jeder späteren Woche gespielt hat. Eine Kohorte, die schneller wegbricht als die anderen, weist auf etwas hin, das sich in dieser Woche geändert hat.
  • Länge des ersten Tages. Neue Spieler, die nach weniger als 10 Minuten gehen und nie wiederkommen, sind meist in der Warteschlange, im Charakter-Editor oder an der Whitelist hängen geblieben.
  • Stoßzeiten. Wann deine Spieler wirklich online sind, damit Neustarts und Events zur richtigen Zeit kommen.
  • Stammspieler, die nicht mehr kommen. Wer einen Monat lang vier Tage pro Woche gespielt hat und dann verschwunden ist, verdient eine Nachricht.

Selbst mitzählen

Das alles folgt aus einer einzigen Information: welcher Spieler an welchem Tag gespielt hat. Eine Tabelle mit einer Zeile pro Spieler und Tag reicht:

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

Befülle sie mit einem Server-Script, wenn ein Spieler beitritt. Das Beispiel nutzt oxmysql und die Rockstar-Lizenz des Spielers als 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)

Ein Spieler, der über Mitternacht UTC hinaus online bleibt, zählt nur für den Tag, an dem er beigetreten ist. Für die Retention ist das genau genug. Die Retention nach 7 Tagen für neue Spieler der letzten 90 Tage ist dann eine einzige Abfrage auf MySQL oder 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;

Ersetze die 7 durch 1 oder 30 für die anderen beiden Zahlen. Teile back_after_7_days durch new_players, dann hast du den Anteil.

Lass die letzten 7 Tage bei den neuen Spielern weg. Wer gestern beigetreten ist, kann noch nicht nach einer Woche zurückgekommen sein, und wenn du ihn mitzählst, sieht die Retention schlechter aus, als sie ist.

Der Tab Wachstum in FiveDock

FiveDock baut dieselbe Tabelle aus den Beitritten und Abgängen, die sein Agent ohnehin für die Black Box aufzeichnet, und bewahrt sie 400 Tage auf, länger als die Logs. Öffne einen Server und wähle den Tab Wachstum neben Spieler und Konsole.

  • Free zeigt neue und wiederkehrende Spieler pro Tag für die letzten 30 Tage.
  • City ergänzt die Retention nach 1, 7 und 30 Tagen, Wochenkohorten, wie lange der erste Tag neuer Spieler gedauert hat und wie viele zurückkamen, sowie ein Diagramm der Stoßzeiten in deiner Zeitzone.
  • Metro und Enterprise nennen die Stammspieler, die nicht mehr kommen (vier oder mehr Tage in fünf Wochen, dann 7 bis 30 Tage nichts), mit Namen und nehmen sie in die wöchentliche Zusammenfassung auf, neben den Resources, die sich auf dem Server kurz vor ihrem Weggang geändert haben.

Diese letzte Liste hilft am meisten, wenn ein neues Script etwas für eine Gruppe von Spielern kaputt gemacht hat, die nie ein Ticket eröffnet haben. Mehr dazu auf der Preisseite.

Häufige Fragen

Was ist eine gute Retention für einen FiveM-Server?

Für FiveM gibt es keinen gemeinsamen Richtwert. Vergleiche deinen Server mit sich selbst: mit derselben Woche im Vormonat oder mit der Kohorte vor einem großen Update. Eine Kohorte, die schneller wegbricht als die davor, ist das Signal, genauer hinzusehen.

Funktioniert das auf einem Server mit Whitelist?

Ja, und dort sagen die Zahlen zum ersten Tag noch mehr. Ein Spieler, der die Whitelist geschafft hat und dann nach weniger als 10 Minuten gegangen ist, hatte meist ein Problem mit dem Charakter-Editor oder dem Startbereich.

Nach welchem Identifier soll ich Spieler zählen?

Die Rockstar-license hat jeder Spieler, und sie ändert sich nicht mit einem neuen Discord- oder Steam-Konto. Charaktere sind keine Spieler: Eine Lizenz mit drei Charakteren ist immer noch eine Person.

Alle Artikel