Описание API статистики
- 11.12.2017
С помощью нашего API вы сможете получить данные о сервере или игроке в формате JSON для своих плагинов, приложений или сайта.
Запрос GET, POST
https://minecraft-statistic.net/api/server/add/?ip=SERVER_IP&port=SERVER_PORT
SERVER_IP - ip адрес сервера SERVER_PORT - порт сервера Пример: https://minecraft-statistic.net/api/server/add/?ip=127.0.0.1&port=12365
Ответ JSON
[false,"IP address is entered not correctly or is local network"]
[0] - true - сервер добавлен, false - ошибка при добавлении [1] - ID сервера или описание ошибки
Запрос GET
https://minecraft-statistic.net/api/server/info/ID
Последний параметр может быть одним из трех типов: ID - уникальный индетификатор сервера IP_PORT - ip адрес и порт сервера через нижний пробел URI - уникальный адрес сервера Пример запроса к одному серверу с разными параметрами: https://minecraft-statistic.net/api/server/info/91.200.47.122_25565 https://minecraft-statistic.net/api/server/info/51 https://minecraft-statistic.net/api/server/info/supersky
Ответ JSON
{
/*(int) id сервера в мониторинге*/
"_id": 51,
/*(string) уникальный адрес сервера в мониторинге (если есть, администратор сервера может менять ip адрес сервера и порт)*/
"uri": "supersky",
/*(object) график игроков онлайн за 24 часа, с интервалом 10 минут*/
"chart": {
/*(string) время в формате HH:ii и количество игроков онлайн (int)*/
"00:00": 13,
/* . . . */
"23:50": 13
},
/*(object) счетчики сервера*/
"counter": {
/*(int) количество комментариев (отзывов)*/
"cmts": 4,
/*(int) лайки, количество человек,которые добавили сервер в избранное*/
"favorite": 4,
/*(int) счетчик оффлайна, сколько раз сервер был оффлайн с момента добавления*/
"offline": 16077,
/*(int) счетчик онлайна, сколько раз сервер был онлайн с момента добавления*/
"online": 74564,
/*(object) общее количество игроков которые играли на сервере с момента добавления*/
"players": {
/*(string) дата в формате YYYY-mm-dd , когда делался подсчет игроков (счетчик считается раз в сутки и всегда отображает данные на вчерашний день)*/
"date": "2015-06-23",
/*(int) количество игроков, которые играли на сервере*/
"total": 27482
},
/*(int) количество добавленных скриншотов*/
"screenshot": 6
},
/*(int) дата добавления сервера в мониторинг, в формате Unix Timestamp*/
"date_add": 1379283352,
/*(string) домен сервера, при добавлении конвертируется в IP адрес*/
"domain": "mc.supersky.org.ua",
/*(string) ссылка на загрузку лаунчера, отображается на странице сервера*/
"download_url": "",
/*(object) геоданные сервера*/
"geo": {
/*(string) город сервера*/
"city": "Sevastopol",
/*(string) страна сервера в формате ISO 3166 A2*/
"country": "UA",
/*(string) страна сервера*/
"country_name": "\u0423\u043a\u0440\u0430\u0438\u043d\u0430"
},
/*(object) основная информация о сервере*/
"info": {
/*(string) название сервера, обновляется при опросе ( в настройках сервера это переменная motd )*/
"name": "SuperSky Survival 1.7.x-1.8.x",
/*(string) тип игры*/
"type": "SMP",
/*(string) платформа сервера, возможные значения "MINECRAFT" или "MINECRAFTPE"*/
"platform": "MINECRAFT",
/*(string) версия сервера*/
"version": "1.8",
/*(array) список плагинов, которые установлены на сервере*/
"plugins": ["WorldEdit 6.0.2-SNAPSHOT,3347-fe6717a0", " HealthBar 1.8.2", " PvPTime 0.1.22", " Essentials TeamCity", " LogBlock 1.81", " ClearLag 2.7.7", " AutoMessage 2.5.2", " FullBright 1.1", " MonsterFix 0.4.3", " ProtocolLib 3.6.3-SNAPSHOT", " WorldGuard 6.0.0-SNAPSHOT.1550-", " NoCheatPlus 3.12.1-SNAPSHOT-sMD5NET-b823", " SkinsRestorer 9.3", " HeadDrops 2.0", " PermissionsEx 1.23.3", " RandomPort 2.0", " ColoredTablist 1.1.0", " Vault 1.5.0-b28", " HideStream 3.7", " ProtocolSupport 4.13", " EssentialsSpawn TeamCity", " SalvageSmelter 0.1.8", " CustomEnchantments 2.2a", " Autorank 3.5.1-Dev-382", " AuthMe 3.4", " ScoreboardStats 0.9.1", " GlobalMarket 1.2.2", " ChatEx 1.2", " ChatGuard 6.3"],
/*(int) количество игроков онлайн*/
"players": 16,
/*(int) максимальное количество игроков (слоты)*/
"max_players": 30,
/*(array) список игроков онлайн*/
"players_list": ["Shamandra", "vlad_3881", "ATmega8", "Koshmarik", "Gohjay", "vipit", "msx9086", "Creeper1903", "__Pig131__", "baklajan", "marines", "uaruk", "dasides", "thelinx", "KORVELION", "saf_alex_100"],
/*(string) название карты сервера*/
"map": "world",
/*(string) программное обеспечение сервера*/
"software": "CraftBukkit on Bukkit 1.8-R0.1-SNAPSHOT",
/*(float) среднее количество игроков за 24 часа*/
"avg_player_day": 14.83,
/*(float) средняя загрузка сервера за 24 часа*/
"avg_load_day": 49.42
},
/*(string) ip адрес сервера (v4)*/
"ip": "91.200.47.122",
/*(object) дата последнего онлайна/оффлайна*/
"last": {
/*(int) дата последнего оффлайна в формате Unix Timestamp*/
"offline": 1434915770,
/*(int) дата последнего онлайна в формате Unix Timestamp*/
"online": 1435056332
},
/*(int) дата обновления данных в формате Unix Timestamp*/
"last_update": 1435056332,
/*(string) ссылка на карту сервера (url на страницу с отрендериной картой), отображается в ссылках сервера*/
"map_url": "",
/*(object) рекорды сервера*/
"max_stat": {
/*(object) максимальный онлайн*/
"max_online": {
/*(int) дата максимального онлайна в формате Unix Timestamp , если рекорд повторяется (совпадает значение) или поставлен новый рекорд, то дата обновляется*/
"date": 1434882170,
/*(int) количество игроков онлайн*/
"players": 30
}
},
/*(int) порт сервера*/
"port": 25565,
/*(object) данные рейтинга*/
"rating": {
/*(float) Коэффициент контента, сколько процентов от подсчитаного рейтинга получит сервер дополнительно, за то что добавил описание, скриншоты и т.п.*/
"K": 12.23,
/*(float) бонус за контент (смотрите формулу подсчета рейтинга)*/
"content_up": 0.77,
/*(float) разница рейтинга с предыдущим значением (на сколько изменился рейтинг за 10 минут)*/
"difference": 0.73,
/*(float) текущий рейтинг сервера*/
"main": 7.73
},
/*(int) статус опроса 1 - мониторинг включен, 0 - мониторинг отключен (сервер отключается от мониторинга автоматически, если его аптайм ниже 5%)*/
"scan": 1,
/*(int) статус сервера 1 - онлайн, 0 - оффлайн*/
"status": 1,
/*(string) аптайм сервера в процентах (соотношение количества оффлайна к количеству опросов)*/
"uptime": "82.26",
/*(string) or (array) список ссылок сервера, добавляется администратором из панели управления и отображается на странице сервера*/
"url": [],
/*(string) ответ API "ok" - сервер существует и все хорошо*/
"status_query": "ok"
}
Запрос GET
https://minecraft-statistic.net/api/server/top/SERVER_ID/PERIOD/PAGE
SERVER_ID - ID сервера PERIOD - период за который хотите получить рейтинг игроков, доступно три варианта: all - рейтинг игроков за все время today - рейтинг игроков за сегодня yesterday - рейтинг игроков за вчера PAGE - страница рейтинга Пример: https://minecraft-statistic.net/api/server/top/51/all/1 - топ игроков за все время на сервере с ID=51 https://minecraft-statistic.net/api/server/top/51/today/1 - топ игроков за сегодня на сервере с ID=51 https://minecraft-statistic.net/api/server/top/51/yesterday/1 - топ игроков за вчера на сервере с ID=51
Ответ JSON
https://minecraft-statistic.net/api/server/top/51/all/1
{
/*(string) статус ответа ok или error*/
"status_query": "ok",
/*(int) id сервера*/
"server_id": 51,
/*(int) номер страницы*/
"page": 1,
/*(array) данные рейтинга*/
"data": [{
/*(string) никнейм игрока*/
"nickname": "Alejandro",
/*(int) место в рейтинге*/
"place": 1,
/*(int) время online, в минутах*/
"time": 91290,
/*(int) время последнего посещения сервера*/
"last_visit": 1511113315
}, {
"nickname": "zeikyn",
"place": 2,
"time": 78550,
"last_visit": 1506805303
}, {
"nickname": "pokeshmon",
"place": 3,
"time": 75950,
"last_visit": 1478622539
}, {
"nickname": "BOYARIN",
"place": 4,
"time": 62760,
"last_visit": 1501956577
}, {
"nickname": "NikZ",
"place": 5,
"time": 62690,
"last_visit": 1506886904
}, {
"nickname": "thelinx",
"place": 6,
"time": 60730,
"last_visit": 1510314159
}, {
"nickname": "Mexoc",
"place": 7,
"time": 58180,
"last_visit": 1512924339
}, {
"nickname": "keco185",
"place": 8,
"time": 58120,
"last_visit": 1504279213
}, {
"nickname": "Bobillho",
"place": 9,
"time": 57280,
"last_visit": 1502314183
}, {
"nickname": "karnaj",
"place": 10,
"time": 55700,
"last_visit": 1506850904
}, {
"nickname": "Kosatka",
"place": 11,
"time": 54010,
"last_visit": 1511707572
}, {
"nickname": "nikolskiy24",
"place": 12,
"time": 52390,
"last_visit": 1509547946
}, {
"nickname": "Faer_Killer",
"place": 13,
"time": 49660,
"last_visit": 1509394343
}, {
"nickname": "A_n_t_o_n",
"place": 14,
"time": 47340,
"last_visit": 1512903339
}, {
"nickname": "Epik",
"place": 15,
"time": 47310,
"last_visit": 1506763902
}, {
"nickname": "pavel555",
"place": 16,
"time": 47280,
"last_visit": 1490586905
}, {
"nickname": "ottoblotto",
"place": 17,
"time": 45270,
"last_visit": 1465206230
}, {
"nickname": "None",
"place": 18,
"time": 44200,
"last_visit": 1511715973
}, {
"nickname": "mix55",
"place": 19,
"time": 43560,
"last_visit": 1499848744
}, {
"nickname": "opa225",
"place": 20,
"time": 43010,
"last_visit": 1479235151
}, {
"nickname": "Vovanchik",
"place": 21,
"time": 41170,
"last_visit": 1512726935
}, {
"nickname": "ender007HD",
"place": 22,
"time": 40960,
"last_visit": 1510997572
}, {
"nickname": "akkaunt",
"place": 23,
"time": 39780,
"last_visit": 1502355584
}, {
"nickname": "OXOTHIK_UA",
"place": 24,
"time": 39190,
"last_visit": 1512902139
}, {
"nickname": "lololowhka21",
"place": 25,
"time": 39050,
"last_visit": 1497876515
}, {
"nickname": "Giperfox",
"place": 26,
"time": 38010,
"last_visit": 1506462062
}, {
"nickname": "uikk",
"place": 27,
"time": 36900,
"last_visit": 1509709948
}, {
"nickname": "mad78",
"place": 28,
"time": 36850,
"last_visit": 1498768128
}, {
"nickname": "Right",
"place": 29,
"time": 36840,
"last_visit": 1511638571
}, {
"nickname": "lololowhka",
"place": 30,
"time": 36390,
"last_visit": 1478455133
}]
}
Запрос GET
https://minecraft-statistic.net/api/player/info/PLAYER_NAME/SERVER_ID
PLAYER_NAME - никнейм игрока (обязательный параметр) SERVER_ID - ID сервера (не обязательный параметр, указывайте, если хотите получить статистику игрока на этом сервере) Пример: https://minecraft-statistic.net/api/player/info/djoice - статистика игрока djoice https://minecraft-statistic.net/api/player/info/djoice/51 - статистика игрока djoice на сервере с ID=51
Ответ JSON
https://minecraft-statistic.net/api/player/info/djoice/
{
/*(string) статус ответа ok или error (если error, то вместо поля data будет поле msg с описанием ошибки)*/
"status": "ok",
/*(object) данные*/
"data": {
/*(int) время последнего онлайна в формате Unixtime */
"last_play": 1435936128,
/*(int) аккаунт лицензионный или нет (пока работает не совсем точно, не рекомендуется использовать для проверке чего либо)*/
"license": 1,
/*(int) статус игрока 1 - в онлайне, 0 - оффлайн*/
"online": 0,
/*(int) всего времени online, в минутах*/
"total_time_play": 15625,
/*(string) никнейм игрока*/
"name": "djoice",
/*(string) UUID игрока в системе Mojang*/
"uuid": "146db9a0bb494f24abed5749be50be29"
}
}
https://minecraft-statistic.net/api/player/info/djoice/51
{
"status": "ok",
"data": {
"last_play": 1435936128,
"license": 1,
"online": 0,
/*(int) общее время online на сервере с ID=51, в минутах*/
"total_time_play": 3920,
"name": "djoice",
"uuid": "146db9a0bb494f24abed5749be50be29"
}
}