Мониторинг предоставляет возможность вашим ресурсам получать информацию о сервере посредством 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 | метка времени последнего обновления |
Данный метод самый простейший. В этом случае, очень удобно подключить JS файл с объектом server. При его использовании достаточно только в Вашу HTML разметку добавить загрузку скрипта по ссылке http://api.toplay.su/ID.js
, где ID - ID сервера в мониторинге. Пример кода:
<!-- вместо 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, Вы должны использовать 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>
Способ подойдет даже в том случае, если Вы не используете никаких серверных языков, а только разметку и стили.
Для получения данных с мониторинга вы можете использовать функцию file_get_contents()
, либо с помощью cURL
.
Наиболее простой вариант, поскольку большинство веб-хостингов не ограничивают своих пользователей в использовании данной функции.
<?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. Перейдем к коду. Также, как и в случае с 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