Использование API

Общее

Мониторинг предоставляет возможность вашим ресурсам получать информацию о сервере посредством HTTP запроса на http://api.toplay.su. Осуществлять запрос возможно на 2 адреса: http://api.toplay.su/ID.json и http://api.toplay.su/ID.js. В первом случае Вы получите ответ в формате JSON, во втором, вы получите JavaScript объект server с параметрами сервера. Также, для простоты использования существует еще один JS файл http://api.toplay.su/ID_2.js, содержащий в себе объект data с данными сервера и объект Server, позволяющий удобно выводить информацию. Вид URL для запроса может быть составлен таким образом: http://api.toplay.su/3.json, где 3 - ID сервера.

http://api.toplay.su/ID.json вернет ответ в формате JSON
http://api.toplay.su/ID.js вернет JS объект server
http://api.toplay.su/ID_2.js вернет JS объект data с данными сервера и объект Server, для более удобного вывода информации на странице

Ниже преведен список возвращаемых мониторингом переменных и их описание.

passwordпароль на сервере, 0 - нет, 1 - да
playersтекущий онлайн на сервере, погрешность 5-7 минут
maxplayersмаксимальное количество игроков на сервере (количество слотов)
versionверсия клиента
average_playersсреднее значение игроков
recordмаксимальный онлайн, зафиксированный мониторингом
ratingрейтинг сервера (количество голосов)
viewsколичество просмотров страницы сервера
updated_atметка времени последнего обновления

Работа с мониторингом в JavaScript:

Данный метод самый простейший. В этом случае, очень удобно подключить JS файл с объектом server. При его использовании достаточно только в Вашу HTML разметку добавить загрузку скрипта по ссылке http://api.toplay.su/ID.js, где ID - ID сервера в мониторинге. Пример кода:

ID.js


<!-- вместо ID, Вы должны использовать ID сервера в мониторинге -->
<script src="http://api.toplay.su/ID.js"></script>

<b>Название:</b> My Server Name <br>
<b>Игроки:</b> <script>document.write(server.players + ' / ' + server.maxplayers);</script><br>
<b>Рекорд:</b> <script>document.write(server.record);</script><br>

ID_2.js - рекомендуем использовать этот метод


<!-- вместо ID, Вы должны использовать ID сервера в мониторинге -->
<script src="http://api.toplay.su/ID_2.js"></script>

<b>Название:</b> My Server Name <br>
<b>Игроки:</b> <script>Server.players()</script> / <script>Server.maxplayers()</script><br>
<b>Рекорд:</b> <script>Server.record()</script><br>

Способ подойдет даже в том случае, если Вы не используете никаких серверных языков, а только разметку и стили.


Работа с мониторингом в PHP:

Для получения данных с мониторинга вы можете использовать функцию file_get_contents(), либо с помощью cURL.

file_get_contents()

Наиболее простой вариант, поскольку большинство веб-хостингов не ограничивают своих пользователей в использовании данной функции.


<?php
    // делаем запрос и получаем информацию о сервере
    $result = file_get_contents('http://api.toplay.su/ID.json');
    // парсим json
    $data = json_decode($result);
?>
<b>Название:</b> My Server Name <br>
<b>Игроки:</b> <?php echo $data->players; ?> / <?php echo $data->maxplayers; ?><br>
<b>Рекорд:</b> <?php echo $data->record; ?><br>


cURL

Данный способ может подойти не всем, поскольку, многие хостинги запрещают использовать cURL. Перейдем к коду. Также, как и в случае с file_get_contents(), для начала необходимо сгенерировать URL.


<?php
    // инициализируем cUrl
    $curl = curl_init('http://api.toplay.su/ID.json');
    // чтобы в дальнейшем, мы смогли нормально распарсить json, указываем
    // что результат должен вернуться в виде строки
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    // получаем результат запроса
    $result = curl_exec($curl);
    // завершаем сеанс
    curl_close($curl);
    // парсим json
    $data = json_decode($result);
?>
<b>Название:</b> My Server Name <br>
<b>Игроки:</b> <?php echo $data->players; ?> / <?php echo $data->maxplayers; ?><br>
<b>Рекорд:</b> <?php echo $data->record; ?><br>

По всем вопросам и недочетам работы API Вы можете обращаться в нашу группу ВК - TOPLAY