MediaWiki:Widget MCOnlinePlayers

Матеріал з Бастіон-16
Версія від 13:47, 11 січня 2025, створена XFaraday (обговорення | внесок) (Створена сторінка: <div class="mw-body"> <h1 class="mw-headline">MC Онлайн Гравці</h1> <div id="widget"> <img id="server-icon" src="" alt="Іконка сервера" style="display: none;"> <p id="motd" class="info">Завантаження MOTD...</p> <p id="playerCount" class="info">Завантаження...</p> <ul id="players"></ul> </div> </div> <script> const SERVER_IP = "play.bastion16.co.ua"; async f...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

MC Онлайн Гравці

       <img id="server-icon" src="" alt="Іконка сервера" style="display: none;">

Завантаження MOTD...

Завантаження...

    <script>

       const SERVER_IP = "play.bastion16.co.ua";
       async function fetchServerStatus() {
           try {
               let response = await fetch(`https://api.mcstatus.io/v2/status/java/${SERVER_IP}`);
               if (!response.ok) throw new Error(`HTTP помилка! Статус: ${response.status}`);
               let data = await response.json();
               document.getElementById("motd").innerHTML = data.motd?.html?.join(\" \") || \"Сервер без MOTD\";
               document.getElementById("playerCount").innerText = `Гравців онлайн: ${data.players?.online || 0}`;
               let playersElement = document.getElementById("players");
               playersElement.innerHTML = data.players?.list?.map(player => `
    
  • <img src="https://mineskin.eu/helm/${player.name_raw || player.name}/24.png" alt="${player.name}"> ${player.name}
  • `).join() || \"

  • Немає гравців онлайн
  • \"; document.getElementById("server-icon").src = data.icon || \"\"; document.getElementById("server-icon").style.display = data.icon ? \"block\" : \"none\"; } catch (error) { console.error(\"Помилка завантаження статусу сервера:\", error); document.getElementById("motd").innerText = \"Не вдалося завантажити MOTD\"; } } fetchServerStatus(); setInterval(fetchServerStatus, 30000); </script>