Cómo mostrar el número de jugadores de Minecraft en tu web

Puedes colocar un contador como «124 / 500» al lado de la dirección de tu servidor. El ejemplo consulta MCAPI, lee players.online en la respuesta de estado y muestra el valor como texto. Así puedes darle el mismo estilo que al resto de tu página.

Añade el ejemplo HTML

Pega el código en el cuerpo de la página. Sustituye mc.hypixel.net por la dirección que tus jugadores introducen en Minecraft. Para Bedrock, descomenta la línea marcada. Si usas un puerto personalizado, escribe dirección:puerto.

<p id="mc-players" role="status">Cargando el número de jugadores…</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('es');
      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 ? ' (último recuento conocido)' : '');
    } catch {
      label.textContent = "Estado del servidor no disponible";
    }
  }

  showPlayerCount();
</script>

Distingue entre cero, datos antiguos y errores

  • Una respuesta correcta con players.online: 0 muestra 0.
  • Si stale es true, el valor procede de una consulta anterior que sí respondió. El ejemplo indica que es el último recuento conocido.
  • Ante un fallo de DNS, un tiempo de espera agotado o un límite de peticiones, el recuento se desconoce. El ejemplo muestra un mensaje específico.

Una petición al cargar la página basta para un contador sencillo. Si añades actualizaciones automáticas, espera al menos 60 segundos tras completar cada petición y amplía el intervalo si recibes 429. Si tienes una política CSP, permite https://mcapi.tr en connect-src. Si el editor elimina JavaScript, usa el widget iframe enlazado abajo.

Fuentes y guías relacionadas