GreenCubes WikiИнформацияПремиум-магазинНачать игратьКарта мира

GreenCubes API

GreenCubes API

Сообщение Kernel » 16 апр 2014, 16:54

Привет. Сегодня, наконец то, после достаточно неспешной разработки я готов вам презентовать GreenCubes API.

Что это?
Статья в Wikipedia писал(а):Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай]) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах

Проще говоря, это веб-сервис, который поможет сторонним разработчкиам, таким как Allintop с его GCMap, BloodyAvenger и его GC-Card, Astappev с его кучей различных приложений и даже SergAntik с его калькулятором МС, разрабатывать приложения делающие игру на GreenCubes удобнее и веселее.

Окей, мне это интересно, но какой функционал он предоставляет на данный момент?
API предоставляет доступ к следующим функциям:
  1. User API — Основная информация об игроке: дата регистрации, последний вход игрока на всех серверах, префикс и его цвет, цвет ника, URL скина и никнейм с правильным регистром
    Хочу нормальный CSS и HTML для вёрстки текста! И markdown в студию!
  2. GC.Main API — API Main сервера. Состояние сервера и количество игроков. Статистика по экономике (редирект на api.php).
  3. GC.RPG API — API RPG сервера. Состояние сервера и количество игроков.
  4. GC.Apocalyptic API — API Apocalyptic сервера. Состояние сервера и количество игроков.
    CAKE IS A LIE
  5. Meta API — Информация о Web-API: текущая версия, адрес документации, авторы.
  6. Rate Limit API — Информация о лимите запросов для текущего IP.
    БАДНИК КОРОЛЬ
  7. Авторизация через OAuth 2.0 — Да-да. Это именно то, о чём вы подумали. Это самая настоящая авторизация через ваш GreenCubes аккуант.
    В данный момент нет способа зарегистрировать своё приложение. Для регистрации приложений и дополнительной информации прошу ко мне в ЛС.

Ого! А где я могу почитать полную документацию?
Документация писалась параллельно с разработкой и находится вот тут. Вероятно, может содержать в себе неточности и ошибки, ибо разработка велась по ночам ;) Если таковые будут найдены, то просьба сообщить о них мне в ЛС.

А, это и есть то самое "тестовое испытание"?
Rena4ka писал(а):«Пятый админ» (c). Я уже обмолвилась, что у нас в команде разработки прибавление, но оно пока не официальное, потому что тестовое испытание ещё не пройдено. Надеюсь, скоро вы увидите то, над чем сейчас работает новый член нашей команды, а после чего мы расскажем, над чем он будет работать. Пока ни каких сроков, к сожалению.

Нет, это не оно. Первая концепт-версия была написана ровно месяц назад (нет, серьёзно) и постепенно дорабатывалась. API это проект изначально сделанный почти за одни выходные, чтобы проверить свои текущие знания по node.js и просто решить одну из проблем, которую я поставил перед собой давным давно. Однако, вернёмся к "тестовому заданию", это будет проект немного масштабнее и сложнее, он будет направлен на всю аудиторию ГК, а не только на разработчиков.

Как скоро будет выпущено? Когда это потребуется.


UPD: А вот и оно.

Хочу немного технической информации!
Проект написан на node.js с использованием фреймворка Sails.js. Ни одна Кошка не пострадала во время разработки.

Да, я тоже буду выкладывать красивые скриншоты с GitHub. К примеру, как этот:
Изображение

Куда присылать багрепорты?
Багрепорты лучше присылать мне сигнальной ракетой или ещё чем нибудь со скоростью света, но можно обойтись личными сообщениями на форуме, твиттером и даже капсом мне в игровую личку (если поймаете).

В данную тему вы можете написать свои пожелания, предложения и что нибудь ещё не выходящее за пределы тематики.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение benseeley » 16 апр 2014, 17:00

:О и да, такого твиттера не существует.
Аватара пользователя
benseeley
 
Сообщения: 3131
Зарегистрирован: 28 ноя 2012, 08:02
Откуда: Ничего не помню: шел, подскользнулся, упал, потерял сознание. Проснулся - гипс.

Re: GreenCubes API

Сообщение Kernel » 16 апр 2014, 17:13

Поправил.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение benseeley » 16 апр 2014, 17:21

Изображение
Аватара пользователя
benseeley
 
Сообщения: 3131
Зарегистрирован: 28 ноя 2012, 08:02
Откуда: Ничего не помню: шел, подскользнулся, упал, потерял сознание. Проснулся - гипс.

Re: GreenCubes API

Сообщение Kernel » 16 апр 2014, 17:22

У меня всё отлично открывается о_О.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение benseeley » 16 апр 2014, 17:24

через минуту упорного тыканья по ссылке, таки открылось, да.
Аватара пользователя
benseeley
 
Сообщения: 3131
Зарегистрирован: 28 ноя 2012, 08:02
Откуда: Ничего не помню: шел, подскользнулся, упал, потерял сознание. Проснулся - гипс.

Re: GreenCubes API

Сообщение astappev » 16 апр 2014, 17:57

Ну, как же не вовремя... и так времени нет... а теперь еще и это... ну ладно, ждите новых версий, всей моей «кучи приложений».
Аватара пользователя
astappev
 
Сообщения: 561
Зарегистрирован: 30 авг 2012, 11:20
Откуда: Ukraine

Re: GreenCubes API

Сообщение astappev » 16 апр 2014, 18:58

Прочел документацию. Впечатление хорошое. Дальше будет видно на практике.
Хочу лишь добавить что мне нужен email пользователей. Прошу его добавить ибо я все равно буду требовать его от пользователя (с проверкой). Может не по умолчанию, но для некоторых приложений это будет нужно.

И напише какие данные нужны для регистрации приложения.
Аватара пользователя
astappev
 
Сообщения: 561
Зарегистрирован: 30 авг 2012, 11:20
Откуда: Ukraine

Re: GreenCubes API

Сообщение Kernel » 16 апр 2014, 20:53

Окей, почему бы и нет. Станет ещё одним scope. Добавлю следующим коммитом.

Для регистрации на OAuth 2.0 сервере понадобится:
  • Название приложения.
  • Описание приложения.
  • RedirectURI, тобишь Callback на который редиректим после получения разрешения у пользователя.
  • Требуемые права доступа (aka scopes, может быть profile, email).
  • Уберслучайный clientSecret (генерируется сервером).
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение Sttrangeman » 16 апр 2014, 20:57

И для чего это рядовому юзеру?
Аватара пользователя
Sttrangeman
 
Сообщения: 1881
Зарегистрирован: 13 дек 2011, 18:31
Откуда: Москва

Re: GreenCubes API

Сообщение Djzero » 16 апр 2014, 21:16

Возможное осознание того, что в будущем не нужно будет регистрировать отдельный аккаунт на проектах, которые связаны с GreenCubes.
Аватара пользователя
Djzero
 
Сообщения: 4474
Зарегистрирован: 02 май 2011, 15:42
Откуда: Белгород

Re: GreenCubes API

Сообщение Rena4ka » 16 апр 2014, 22:08

Sttrangeman писал(а):И для чего это рядовому юзеру?

Kernel писал(а):это веб-сервис, который поможет сторонним разработчкиам

Почему всё должно быть для рядовых юзеров?
Аватара пользователя
Rena4ka
Judgmento desu no!
 
Сообщения: 9480
Зарегистрирован: 18 фев 2011, 22:46
Откуда: Информационное пространство Земли

Re: GreenCubes API

Сообщение Sttrangeman » 16 апр 2014, 22:12

Rena4ka писал(а):
Sttrangeman писал(а):И для чего это рядовому юзеру?

Kernel писал(а):это веб-сервис, который поможет сторонним разработчкиам

Почему всё должно быть для рядовых юзеров?

Потому что их гораздо больше?
Аватара пользователя
Sttrangeman
 
Сообщения: 1881
Зарегистрирован: 13 дек 2011, 18:31
Откуда: Москва

Re: GreenCubes API

Сообщение BloodyAvenger » 16 апр 2014, 22:23

Kernel писал(а):[list=1][*] User API — Основная информация об игроке: дата регистрации, последний вход игрока на всех серверах, префикс и его цвет, цвет ника, URL скина и никнейм с правильным регистром

щикарно, будет время изучу подробней что и как.

Ещё бы в API серверов добавили бы список игроков за последний час или какой то другой промежуток времени, возможно это бы с подвигло меня для чего то нового :roll:

И мне интересно про авторизацию аккаунтом гк , ибо в последнее время ковыряюсь именно в этом направлении.
Sttrangeman писал(а):
Rena4ka писал(а):
Sttrangeman писал(а):И для чего это рядовому юзеру?

Kernel писал(а):это веб-сервис, который поможет сторонним разработчкиам

Почему всё должно быть для рядовых юзеров?

Потому что их гораздо больше?

Но зачем им это ?
Аватара пользователя
BloodyAvenger
 
Сообщения: 4079
Зарегистрирован: 28 окт 2011, 21:57
Откуда: Санкт-Петербург

GreenCubes API: Обновления за 16 апреля

Сообщение Kernel » 16 апр 2014, 23:14

Возможно возьму за привычку писать в конце каждого дня подобные ченджлоги. В реальном времени их всегда можно узреть в моём твиттере.
Не сочтите за особую рекламу моего уютного твиттера, но получать последнюю информацию о такой важной системе как API нужно в максимально короткие сроки. Это позволяет делать исправления своих приложений вовремя, если оно того потребует.


Добавлено
  • Новый scope — email. Он позволяет приложению получать ваш email адрес через вызов /user.
    Пользователям: не стоит забывать, что перед тем как дать права на доступ к информации аккаунта, API сначала спросит у вас разрешение на это вот такой страничкой.
  • Техн. Новое обязательное поле при регистрации приложения — owner. В базе данных это ваш User ID (приватный, недоступен извне).
  • Добавлен форматированный вывод JSON с двумя символами пробелов, как основу форматирования (ранее ответы выводились одной строкой).

Исправлено
  • GET /users/:user — Исправлен баг с неверным выводом lastseen у всех серверов. Он показывал дату первого входа. Вывод до 22:15 по МСК был некорректным.
  • GET /users/:user — Исправлена обработка запросов с пользователями, которых нет.
  • GET /users/:user & /user — Исправлен вывод поля username и skin_url, теперь он использует никнейм с верным регистром.
  • Техн. Исправлено получение IP пользователя. Теперь он производится через передачу IP проксирующим сервером в заголовках. Этот баг вызывал проблему общего счётчика лимита запросов (он считал все запросы, которые были получены сервером).
  • POST /oauth/token — Добавлены нормальные сообщения об отсутствии какого либо из требуемых элементов запроса [документация]
  • В разных частях приложения исправлены HTTP статусы ошибок в соответствии с технической документацией.
  • GET /rpg/status — Исправлен вывод всего статуса. До 0:24 16 апреля он выводил информацию о Main сервере.
  • GET / — Исправлено описание метода user_url.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

GreenCubes API: Обновления за 17 апреля

Сообщение Kernel » 17 апр 2014, 23:52

Добавлено
  • Ещё одно новое обязательное поле при регистрации приложения — homeURI. Это адрес вашего приложения.

Исправлено
  • GET / — Поле user_url снова выглядит так: "https://api.greencubes.org/users/{user}". Кто-то не понимал, что обозначает двоеточие в прошлой версии, ладно.
  • Техн. GET /users/:user Добавлена дополнительная проверка экранированной переменной параметра user. Раньше можно было прислать запрос /users/:Kernel и он ответил бы информацией обо мне.

Вроде бы всё теперь неплохо отлажено, осталось начать тесты OAuth 2.0. Однако, теперь я снова больше буду уделять время мистическому приложению.

Также я думаю привести документацию в нормальный читаемый вид.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

GreenCubes API: Обновления за 18 апреля

Сообщение Kernel » 18 апр 2014, 22:58

Добавлено
  • GET /main/named_colors — Список именованных цветов для модификаторов свечения. Для не умеющих в JSON и простых людей есть HTML версия.
    [документация]
  • Техн. Портирована библиотека из мистического приложения для работы с БД авторизации.
  • Техн. Эта же библиотека получила поддержку работы с другой БД авторизации.

Исправлено
  • GET /main/named_colors — Исправлен вывод никнеймов открывателей. Данные о логинах поступали не из той БД. Вывод до 22:23 по МСК был некорректным. Спасибо Венусу за багрепорт.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение AkiraSun » 19 апр 2014, 11:55

Вот это крутотень.
Аватара пользователя
AkiraSun
 
Сообщения: 1375
Зарегистрирован: 27 фев 2013, 13:42
Откуда: Kinsoku jikou desu!

Re: GreenCubes API

Сообщение Rena4ka » 19 апр 2014, 11:58

Sttrangeman писал(а):И для чего это рядовому юзеру?

Ну например, вот для чего.
Kernel писал(а):Список именованных цветов для модификаторов свечения. Для не умеющих в JSON и простых людей есть HTML версия.

В будущем будет ещё несколько функций, доступных "из коробки". Ну и конечно рядовому юзеру это для того, чтобы не рядовые юзеры сделали что-нибудь интересное для них.
Аватара пользователя
Rena4ka
Judgmento desu no!
 
Сообщения: 9480
Зарегистрирован: 18 фев 2011, 22:46
Откуда: Информационное пространство Земли

GreenCubes API: Обновления за 19 апреля

Сообщение Kernel » 20 апр 2014, 01:40

Сегодня я работал над API меньше всего. Сбавил темп, ибо есть и другие делишки.

Добавлено:
  • GET /users/:user & /user — Добавлена конвертация ID базовых ников (1-9 & a-e) в нормальный hex вид.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение benseeley » 20 апр 2014, 18:50

почему б не сделать возможность с помощью api узнать, во что одет игрок, чтоб скин корректировать согласно этому? вот у кого-то, например, на скине на голове не нарисованы волосы, и он носит шляпу. но штука для просмотра скинов не видит шляпу...
Аватара пользователя
benseeley
 
Сообщения: 3131
Зарегистрирован: 28 ноя 2012, 08:02
Откуда: Ничего не помню: шел, подскользнулся, упал, потерял сознание. Проснулся - гипс.

Re: GreenCubes API

Сообщение Lenald » 20 апр 2014, 18:57

Возможность вытягивать цвет и префикс ника - ОЧЕНЬ опасная вещь: даже я с моими знаниями языков могу написать программу для фальсификации чата. Достаточно просто изменить лог, отфильтровать, отформатировать, покрасить текст под желаемый канал, вытянуть цвета, префиксы, наложить на желаемую картинку и заскринить.
Lenald
 
Сообщения: 1692
Зарегистрирован: 18 июн 2013, 02:40
Откуда: skype: lle0_nard

Re: GreenCubes API

Сообщение Rena4ka » 20 апр 2014, 18:59

И что? Вытянуть их элементарно и без этого. Скрины из чата никогда ничего не доказывают, они легко подделываются.
Аватара пользователя
Rena4ka
Judgmento desu no!
 
Сообщения: 9480
Зарегистрирован: 18 фев 2011, 22:46
Откуда: Информационное пространство Земли

Re: GreenCubes API

Сообщение firedead_ft » 20 апр 2014, 19:13

https://api.greencubes.org/users/Firedead
502

UPD: пофиксилось
Последний раз редактировалось firedead_ft 20 апр 2014, 19:24, всего редактировалось 1 раз.
firedead_ft
 
Сообщения: 409
Зарегистрирован: 07 ноя 2011, 15:15

Re: GreenCubes API

Сообщение Lenald » 20 апр 2014, 19:15

Мне кажется, или скрин чата всегда был лучшим доказательством в банах за маты, оскорбления и пр.?
Lenald
 
Сообщения: 1692
Зарегистрирован: 18 июн 2013, 02:40
Откуда: skype: lle0_nard

Re: GreenCubes API

Сообщение greenmine » 20 апр 2014, 19:17

Le0_Nard писал(а):Мне кажется, или скрин чата всегда был лучшим доказательством в банах за маты, оскорбления и пр.?

Есть логи чата, так что скриншот всегда можно проверить.
Аватара пользователя
greenmine
 
Сообщения: 1596
Зарегистрирован: 06 апр 2012, 12:43
Откуда: /ಠ_ಠ/

Re: GreenCubes API

Сообщение Lenald » 20 апр 2014, 19:22

И как ты предлагаешь проверить личку, или частный канал, или, ещё лучше, локальный?
Lenald
 
Сообщения: 1692
Зарегистрирован: 18 июн 2013, 02:40
Откуда: skype: lle0_nard

Re: GreenCubes API

Сообщение BloodyAvenger » 20 апр 2014, 19:25

Le0_Nard писал(а):И как ты предлагаешь проверить личку, или частный канал, или, ещё лучше, локальный?

всё пишется в логи и всё можно проверить.
И как уже говорила рена скриншот можно и без этого подделать.
Аватара пользователя
BloodyAvenger
 
Сообщения: 4079
Зарегистрирован: 28 окт 2011, 21:57
Откуда: Санкт-Петербург

Re: GreenCubes API

Сообщение Kernel » 20 апр 2014, 19:49

firedead_ft писал(а):https://api.greencubes.org/users/Firedead
502

UPD: пофиксилось

Да, я случайно сломал версию на сервере ввиду не очень отработанного тестирования. Надо будет покрыть тестами всё и намертво.

Сейчас всё хорошо, ага.
Аватара пользователя
Kernel
 
Сообщения: 1871
Зарегистрирован: 05 апр 2012, 23:31
Откуда: Idiots.prototype.kern0 = (x) => return true;

Re: GreenCubes API

Сообщение deno10 » 20 апр 2014, 20:37

Мне кажется, надо делать проверку на наличие скина, и при его отсутствии выдавать null
Аватара пользователя
deno10
 
Сообщения: 2117
Зарегистрирован: 22 фев 2012, 19:59
Откуда: Пермь

След.

Вернуться в Веб-сервисы игроков



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron