Grundlegend lässt sich ein sehr simpler Lösungsansatz so zusammenfassen:
Beim ersten Betreten des Servers speicherst du dir den Spieler und die Uhrzeit. Hier verwendest du am besten die UUID des Spielers und die Zeit als UNIX Timestamp in 64 Bit. Beim Verlassen des Servers, kannst du zum Beispiel den letzten Wert überschreiben - siehe exemplarische tabellarische Darstellung unten. Nun fragst du bei der Ausführung deines Befehls ab, wie groß die Differenz zwischen dem Zeitpunkt des ersten Beitritts und des letzten Verlassens des Servers ist (wenn der Spieler online ist, ist der letzte Zeitpunkt die Ausführung des Befehls), konvertierst diese in ein lesbares Zeitformat und bekommst die Zeit, die der Spieler auf dem Server verbracht hat.
Dieser Lösungsansatz sollte für dich zum Ausprobieren erst einmal reichen und hat noch Verbesserungspotential, sodass du das ganze später etwas anpassen und erweitern kannst.
Zur visuellen Darstellung (rein exemplarisch)
| UUID des Spielers | UNIX Timestamp (Erster Beitritt) | UNIX Timestamp (Letzes Verlassen) |
| 17f2be5a-2609-4ce5-a6ec-5fdaf922aed2 | 1574356375 | 1574356389 |
| 87a0857b-5101-4c87-8b2d-025ff348f360 | 0 | 3600 |
| ... | ... | ... |
(Die verwendeten Daten sind zufällig gewählt)