Описание:
SAMPQuery - Сайт который предоставляет удобный и простой API для получения информации о любом SAMP и CRMP сервере.
Использование:
https://query.romzes.com/api.php?ip={IP}&port={PORT}&type=SAMP&js={VAR_NAME}
Параметр | Описание | Пример использования |
---|---|---|
ip | IP адрес сервера | 127.0.0.1 |
port | Порт сервера | 7777 |
type | Тип игры (не обязательный параметр) | SAMP |
js | Вывод результата как JS массив (если оставить поле пустым или не указать, выводит JSON массив) | API или любое другое имя переменной |
Ответ сервера:
Результат JSON [Показать]
Ссылка:
https://query.romzes.com/api.php?ip={IP}&port={PORT}
Возвращаемый код:
{ "error":false, "lastupdate":1643789736, "lifetime":600, "address":{ "ip":"11.11.11.11", "port":7777 }, "type":"SAMP", "hosted":true, "rules":{ "lagcomp":"On", "mapname":"San Andreas", "version":"0.3.7-R2", "weather":"1", "weburl":"pawn.wiki", "worldtime":"13:00" }, "clients":{ "Romzes":{ "id":0, "score":0, "ping":24 }, "Test_Name":{ "id":1, "score":0, "ping":41 } }, "password":false, "players":2, "max_players":1000, "hostname":"Server name", "gamemode":"Mode name", "language":"Russian" }
Результат JS array [Показать]
Ссылка:
https://query.romzes.com/api.php?ip={IP}&port={PORT}&js={VAR_NAME}
Возвращаемый код:
var api = { "error":false, "lastupdate":1668459518, "lifetime":600, "address":{ "ip":"11.11.11.11", "port":7777 }, "type":"SAMP", "hosted":true, "rules":{ "lagcomp":"On", "mapname":"San Andreas", "version":"0.3.7-R2", "weather":"1", "weburl":"pawn.wiki", "worldtime":"13:00" }, "clients":{ "Romzes":{ "id":0, "score":0, "ping":24 }, "Test_Name":{ "id":1, "score":0, "ping":41 } }, "password":false, "players":2, "max_players":1000, "hostname":"Server name", "gamemode":"Mode name", "language":"Russian" };
Пример использования:
PHP [Показать]
<?php $ip = "127.0.0.1"; $port = 7777; $server = file_get_contents("https://query.romzes.com/api.php?ip=$ip&port=$port"); // получаем результат с мониторинга $server = json_decode($server); // преобразуем json в php if(is_null($server)) // проверяем что сайт не вернул пустой результат { echo "Сервер вернул пустой результат."; } else if($server->error) // проверяем что не возникло ошибок { echo "Ошибка: {$server->error->message}"; } else // если все ок, выводим данные { echo "<b>Название:</b> $server->hostname<br/>"; echo "<b>Адрес:</b> {$server->address->ip}:{$server->address->port}<br/>"; echo "<b>Игровой мод:</b> $server->gamemode<br/>"; echo "<b>Язык:</b> $server->language<br/>"; echo "<b>Пароль:</b> " . ($server->password ? "true" : "false") . "<br/>"; echo "<b>Hosted:</b> " . ($server->hosted ? "true" : "false") . "<br/>"; echo "<b>Онлайн:</b> $server->players из $server->max_players игроков<br/>"; echo "<b>Обновление данных через:</b> " . (($server->lastupdate + $server->lifetime) - time()) . " секунд<br/>"; // игроки if($server->clients) { echo "<b>Список игроков:</b>"; echo "<ul>"; foreach($server->clients as $name => $data) { echo "<li>"; echo "$name <i>(id: $data->id, score: $data->score, ping: $data->ping)</i>"; echo "</li>"; } echo "</ul>"; } // правила сервера if($server->rules) { echo "<b>Правила сервера:</b>"; echo "<ul>"; foreach($server->rules as $key => $value) { echo "<li>"; echo "$key - $value"; echo "</li>"; } echo "</ul>"; } } ?>
JS [Показать]
<script type="text/javascript" src="https://query.romzes.com/api.php?ip=127.0.0.1&port=7777&js=api"></script> <script> if (api.error) { document.write("<font style='color: red;'>Сервер недоступен</font><br />"); } else { var unixtime = parseInt(Date.now() / 1000); document.write("<b>Название:</b> " + api.hostname + "<br/>"); document.write("<b>Адрес:</b> " + api.address.ip + ":" + api.address.port + "<br/>"); document.write("<b>Игровой мод:</b> " + api.gamemode + "<br/>"); document.write("<b>Язык:</b> " + api.language + "<br/>"); document.write("<b>Пароль:</b> " + (api.password ? "true" : "false") + "<br/>"); document.write("<b>Hosted:</b> " + (api.hosted ? "true" : "false") + "<br/>"); document.write("<b>Онлайн:</b> " + api.players + " из " + api.max_players + " игроков<br/>"); document.write("<b>Обновление данных через:</b> " + ((api.lastupdate + api.lifetime) - unixtime) + " секунд<br/>"); if(api.clients) { document.write("<b>Список игроков:</b>"); document.write("<ul>"); for(var client in api.clients) { document.write("<li>" + client + " <i>(id: " + api.clients[client].id + ", score: " + api.clients[client].score + ", ping: " + api.clients[client].ping + ")</i></li>"); } document.write("</ul>"); } if(api.rules) { document.write("<b>Правила сервера:</b>"); document.write("<ul>"); for(var rule in api.rules) { document.write("<li>" + rule + " - " + api.rules[rule] + "</li>"); } document.write("</ul>"); } } </script>