Описание API

  • 23.06.2015

minecraft-statistic.net — это продолжение проекта minecraft-servers.com.ua
minecraft-statistic.net предоставляет больше статистики по серверам и более детальную по игрокам. Исправлены критические ошибки, улучшено юзабилити. В скором времени наш мониторинг будет поддерживать несколько языков интерфейса. На самые задаваемые вопросы, я буду отвечать здесь!

Для чего это надо? Неужели просто нельзя добавить руками? Это же пару секунд!

Да! Вы правы, добавление сервера в наш мониторинг занимает считанные секунды, но этот сервис предназначен больше все для хостеров, которые предоставляют услуги хостинга майнкрафт серверов. Одним движением вы можете автоматизировать процесс добавления серверов в наш мониторинг и предоставить бесплатный мониторинг и статистику сразу же после заказа сервера.

Как это сделать?

Отправьте POST или GET запрос на адрес:

https://minecraft-statistic.net/ru/home/add_server/?ip=127.0.0.1&port=12365

ip - ip адрес вашего сервера

port - port вашего сервера

В ответе вы получите массив, где первый элемент укажет на выплнение операции true или false , второй укажет причину

[false,"IP address is entered not correctly or is local network"]

В зависимости с какого субдомена вы будете запрашивать API, на том же языке будут ошибки. Простого вам использования.

Если сервер вернул в первом элементе true , то можете смело переходить на адрес:

https://minecraft-statistic.net/ru/server/ip_port.html
На основе наших данных , которые отдаються в формате json, вы можете сделать интересные штуки, например вывести на своем сайте количество игроков онлайн и бар загрузки сервера, вот небольшой пример как можно использовать наши данные, а внизу вы найдете описание каждой переменной.

Для получения данных по определенному серверу выполните запрос указав IP и PORT

https://minecraft-statistic.net/ru/server/ip_port/json/

Пример:

https://minecraft-statistic.net/ru/server/91.200.47.122_25565/json/

ИЛИ

https://minecraft-statistic.net/ru/server/51/json/

ИЛИ

https://minecraft-statistic.net/ru/server/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
        }
    },
    /*(object) список модификаций и опций на сервере, выбирается администратором в админ панели*/
    "mods": {
        /*(string) мод : (int) 0 - нет, 1 - есть*/
        "license": 0,
        "whitelist": 0,
        "pvp": 1,
        "creative": 0,
        "industrial": 0,
        "buildcraft": 0,
        "forestry": 0,
        "thaumcraft": 0,
        "railcraft": 0,
        "millenaire": 0,
        "terrafirmacraft": 0,
        "gregtech": 0
    },
    /*(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"
}
Вы можете получить небольшую статистику любого игрока в формате json, для этого необходимо сделать запрос:
https://minecraft-statistic.net/player/json/PLAYER_NAME/SERVER_ID

PLAYER_NAME - ник игрока (обязательный параметр)

SERVER_ID - id сервера (указываете, если хотите получить статистику на конкретном сервере, не обязательный параметр)

Пример

https://minecraft-statistic.net/player/json/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"
        }
    }            

Пример, с указанием ID сервера

https://minecraft-statistic.net/player/json/djoice/51

    {
        "status": "ok",
        "data": {
            "last_play": 1435936128,
            "license": 1,
            "online": 0,
            //(int) общее время online на сервере с ID=51, в минутах
            "total_time_play": 3920,
            "name": "djoice",
            "uuid": "146db9a0bb494f24abed5749be50be29"
        }
    }