API: Serwer (/server)

Z skript.pl wiki
Wersja z dnia 18:31, 29 gru 2016 autorstwa 95.160.183.9 (dyskusja) (Dokumentacja)

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacja, szukaj


Dokumentacja[edytuj]

Czas odświeżania informacji o serwerach: raz na minutę

Format zapytania[edytuj]

https://api.skript.pl/server/<address>/

address - Zwykły adres serwera, przez który łączą się gracze. W przypadku dobrze skonfigurowanej domeny nie musi zawierać portu.

Przykładowe zapytanie[edytuj]

https://api.skript.pl/server/sv.skript.pl/

Format odpowiedzi[edytuj]

{
    "address": "<address>",
    "online": <online>,
    "players": {
        "online": <players.online>,
        "max": <players.max>,
        "list": <players.list>
    }
}

address - Zazwyczaj taki sam jak podany w zapytaniu.
online - true jeśli serwer działa lub false jeśli API nie może nawiązać z nim połączenia.
players.online - liczba graczy online.
players.max - maksymalna liczba graczy, inaczej liczba slotów serwera.
players.list - lista nicków graczy obecnych na serwerze.

Przykładowa odpowiedź[edytuj]

{
    "address": "s1.mojepvp.pl",
    "online": true,
    "players": {
        "online": 1,
        "max": 25,
        "list": [
            "Libter"
        ]
    }
}

Przykłady[edytuj]

JavaScript[edytuj]

<!-- Tylko jeśli jQuery nie zostało wcześniej dołączone: !-->
<script src='https://code.jquery.com/jquery-3.1.1.min.js'></script>

<style>
    #players-list img {
        margin: 2px;
    }
</style>

Gracze (<span id='players-online'>...</span>/<span id='players-max'>...</span>):
<div id='players-list'></div>

<script>
    $.ajax({
      url: 'https://api.skript.pl/server/<address>/',
      success: function(response) {
        json = JSON.parse(response);
        
        $('#players-online').html(json.players.online);
        $('#players-max').html(json.players.max);

        for (var i = 0; i < json.players.list.length; i++) {
          var player = json.players.list[i];
          $('#players-list').append("<img src='https://minotar.net/helm/"+player+"/32.png' alt='"+player+"' title='"+player+"'>");
        }
      }
    });
</script>

PHP[edytuj]

<style>
    #players-list img {
        margin: 2px;
    }
</style>
<?php
    $result = file_get_contents('https://api.skript.pl/server/<address>/');
    $json = json_decode($result);

    $pMax = $json->players->max;
    $pOnline = $json->players->online;
    $pList = '';
    foreach ($json->players->list as $nick) {
        $pList .= "<img src='https://minotar.net/helm/$nick/32.png' alt='$nick' title='$nick'>";
    }

    echo "Gracze ($pOnline/$pMax):<br><div id='players-list'>$pList</div>";
?>