Minecraft-Spielerzahl auf der eigenen Website anzeigen

Eine Anzeige wie „124 / 500“ lässt sich direkt neben der Serveradresse platzieren. Das folgende Beispiel fragt MCAPI ab und liest players.online aus der Statusantwort. Der Zähler besteht aus normalem Text, den du passend zu deiner Website gestalten kannst.

HTML-Beispiel einfügen

Füge den Code in den Body der Seite ein. Ersetze mc.hypixel.net durch die Adresse, die deine Spieler in Minecraft verwenden. Entferne für Bedrock das Kommentarzeichen in der markierten Zeile. Einen abweichenden Port gibst du als adresse:port an.

<p id="mc-players" role="status">Spielerzahl wird geladen…</p>
<script>
  async function showPlayerCount() {
    const label = document.getElementById('mc-players');
    const address = 'mc.hypixel.net';
    const url = new URL('https://mcapi.tr/api/v1/status/' + encodeURIComponent(address));
    // url.searchParams.set('bedrock', 'true');

    try {
      const response = await fetch(url, { signal: AbortSignal.timeout(12000) });
      if (!response.ok) throw new Error('HTTP ' + response.status);
      const data = await response.json();
      if (!data.online || !Number.isInteger(data.players?.online)) {
        throw new Error('No player count');
      }

      const format = new Intl.NumberFormat('de');
      const count = format.format(data.players.online);
      const capacity = Number.isInteger(data.players.max) && data.players.max > 0
        ? ' / ' + format.format(data.players.max)
        : '';
      label.textContent = count + capacity + (data.stale ? ' (zuletzt bekannte Anzahl)' : '');
    } catch {
      label.textContent = "Serverstatus nicht verfügbar";
    }
  }

  showPlayerCount();
</script>

Null Spieler, alte Werte und Fehler unterscheiden

  • Meldet der Server erfolgreich players.online: 0, erscheint 0.
  • Bei stale: true stammt der Wert aus der letzten erfolgreichen Abfrage. Das Beispiel kennzeichnet ihn entsprechend.
  • Nach einem DNS-Fehler, einem Zeitlimit oder einer Anfragenbegrenzung ist die Spielerzahl unbekannt. Dafür gibt es eine eigene Meldung.

Eine Abfrage beim Laden genügt für einen einfachen Zähler. Bei automatischer Aktualisierung warte nach jeder abgeschlossenen Anfrage mindestens 60 Sekunden und verlängere die Pause nach 429. Wenn du eine Content Security Policy nutzt, erlaube https://mcapi.tr in connect-src. Entfernt dein Website-Editor Skripte, verwende das unten verlinkte iframe-Widget.

Quellen und weitere Anleitungen