Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

EVE API webhooks

webhooks eve api application

  • Авторизуйтесь для ответа в теме
10 ответов в теме

#1
boris_t

boris_t

    Newbie

  • Tech I Pilots
  • 6 сообщений
-1
  • EVE Ingame:Boris Blade Artrald
  • Corp:Sturm.
  • Channel:Cruel Killers
  • Client:Рус

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

Сейчас практически все веб приложения работают по такому приципу: в приложение заносятся API ключи и каждые N минут информация по ним обновляется, т. е. веб приложения не сразу реагируют на изменения в игре. Введение webhook`ов решит данную проблему.

И так суть - добавить возможность в EVE API оповещать сторонние приложения о всевозможных событиях.

Например:

  • пилот вошёл/вышел в корпу;

  • модификация пилота/корпорации/альянса;

  • корпа вошла/вышла в альянс;

  • изменение стендингов корпы/альянса;

  • различные игровые оповещения;

  • тд и тп

Можно даже через webhook писать «GPS трекинг» пилотов, т. е. отправлять в веб приложение информацию от том: откуда и куда, через какой гейт или дыру прошел пилот.

Например, такая фича пригодилась бы для проекта http://www.eve-scout.com/, а то ребята поди вручную все постят.


Сообщение отредактировал boris_t: 07 February 2015 - 13:38

  • -1

#2
Avangard

Avangard

    1208925819614629174706176

  • Tech III Pilots
  • PipPipPipPip
  • 1038 сообщений
98
  • EVE Ingame:P5LD2SE
  • EVE Alt:Gromov AV
  • Corp:NPC
  • Channel:Бар "100 рентген"
  • Client:Eng

Мисье, вы хоть в курсе как сейчас работают приложения ?


  • 0
Хахол.Жру сало, ворую газ, зарабатываю бабло на блекджек, шлюхи и ай на не.

Преф наркоман, танкует святой водой, в нуле, без капы. Ему простительны любые заявления :)

спойлер.
Средневековая техподдержка "Напиши мені"
An issue with the Caldari Achura females bra straps always being visible has now been fixed.

#3
boris_t

boris_t

    Newbie

  • Tech I Pilots
  • 6 сообщений
-1
  • EVE Ingame:Boris Blade Artrald
  • Corp:Sturm.
  • Channel:Cruel Killers
  • Client:Рус

Просвятите убогого неуча пожалуйста, а?!


  • 0

#4
Alkarian

Alkarian

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3155 сообщений
723
  • Client:Eng

зачем предлагать то в чем не шаришь совсем?

отправлять в веб приложение информацию от том: откуда и куда, через какой гейт или дыру прошел пилот.

вот этого совсем не надо


  • 0

#5
boris_t

boris_t

    Newbie

  • Tech I Pilots
  • 6 сообщений
-1
  • EVE Ingame:Boris Blade Artrald
  • Corp:Sturm.
  • Channel:Cruel Killers
  • Client:Рус

Давайте рассмотрим данную проблему на пимере https://drupal.org/project/eve_api сразу лезем в код который описывает hook_cron() и hook_cron_queue_info() http://cgit.drupalco...ve_api.cron.inc и что мы видим? Да, именно - получение информации о почте, аккаунте и прочего через определённый проиежуток времени! Если бы были обратные вызовы (callback) у eve api то информация бы была актуальной, а не завиcила бы от того с какой периодичностью у меня срабатывает задание на кроне.

Не думаю что другие приложения обновляют информацию об аккаунтах/альянсах/корпам каким-то иным принципиально инноваторским медотом.

 

Если есть алгоритм, который предугадывает те или иные события, киньте в меня ссылкой на репозиторий github!

 

Мой прифиль на gate.eveonline.com


Сообщение отредактировал boris_t: 07 February 2015 - 14:58

  • 0

#6
K E R K

K E R K

    старый орк

  • Tech III Pilots
  • PipPipPipPip
  • 1078 сообщений
218
  • EVE Ingame:KERK HUMMER
  • Corp:BDSP
  • Channel:Corporation
  • Client:Рус

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

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


  • 0

Все действующие лица не вымышлены
и совпадения - не случайны.

Правильная музыка для EVE


#7
X4me1eoH

X4me1eoH

    Упоротый партизан

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4911 сообщений
1579
  • EVE Ingame:X4me1eoH
  • Corp:AIRG
  • Ally:-LSH-
  • Channel:Срухелп
  • Client:Eng

 

Можно даже через webhook писать «GPS трекинг» пилотов, т. е. отправлять в веб приложение информацию от том: откуда и куда, через какой гейт или дыру прошел пилот.

Например, такая фича пригодилась бы для проекта http://www.eve-scout.com/, а то ребята поди вручную все постят.

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


  • 0

#8
boris_t

boris_t

    Newbie

  • Tech I Pilots
  • 6 сообщений
-1
  • EVE Ingame:Boris Blade Artrald
  • Corp:Sturm.
  • Channel:Cruel Killers
  • Client:Рус

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

 

Как работаю подобные карторисовалки?

Работает js скрипт, который постоянно обновляет страницу и благодаря особым http заголовкам, которые отправляет браузер мы можем получить траекторию движения, но не получим ответа на вопрос "Через какой гейт или дыру прощел перс XXX, когда он прагал из точки A  в точку B".

Так же эти особые http заголовки могут не пропускают веб-серверы, т.е. нужен админский доступ к конфигам сервера, что не всегда имеется.

Так что браузерный "GPS трекер" - это костыль, который может не работать, или работать не так как надо.



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

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

 

Я не много про другого рода приложения. Допустим есть альянс, у альянса есть сайт, на сайте есть регистрация по api key. К учетки на сайте привязаны ТС и джабер.

В джаббере и/или ТС есть бот который опочещает корпы/альянсы о всякой херне (почта, атака структур и тд и тп) в зависимости от настроек учетки.

На кроне висит задача выполнять php скрипт раз в 20 мин. Этот скрипт обновляет инфу о перса/корпах/альянсах по api ключам. Т.е. вне зависимости от того изменился статус перса/корпы/альянса или нет, этот скрипт все равно проверит и обновит всё. Плюс оповещения запаздывают на время  0 < t <=  20мин.

Также может возникнуть ситуация когда api ключей станет оч. много и скрипт может работать давольно продолжительное время.

 

При введении веб-хуков решится проблема с актуальностью информации. Работать это будет примерно так:

например перс XXX вышел из корпы; eve посылает на моё веб-приложение специально сформированный запрос, моё веб приложение на него реагирует и обновляет своё состояние. Если перс XXX ни когда не выйдет из корпы то статус приложения я обновлять не буду.

На самом деле это очень грубый пример. Проверку всех апи ключей все равно выполнять придётся, т. к. если сайт упал, то ни какие запросы от eve api серверов обрабатываться не будут, но данная проверка будет делатся реже, например раз в сутки или при старте веб-приложения.


Сообщение отредактировал boris_t: 07 February 2015 - 17:23

  • 0

#9
X4me1eoH

X4me1eoH

    Упоротый партизан

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4911 сообщений
1579
  • EVE Ingame:X4me1eoH
  • Corp:AIRG
  • Ally:-LSH-
  • Channel:Срухелп
  • Client:Eng

Как работаю подобные карторисовалки?

Работает js скрипт, который постоянно обновляет страницу и благодаря особым http заголовкам, которые отправляет браузер мы можем получить траекторию движения, но не получим ответа на вопрос "Через какой гейт или дыру прощел перс XXX, когда он прагал из точки A  в точку B".

Так же эти особые http заголовки могут не пропускают веб-серверы, т.е. нужен админский доступ к конфигам сервера, что не всегда имеется.

Так что браузерный "GPS трекер" - это костыль, который может не работать, или работать не так как надо.


 

без понятия как это работает внутри, я не спец, смысл в том, что браузер считывает систему в которой ты находишься, и обновляет эту информацию раз в 5-10 сек. Но да, это работает только когда ингейм браузер запущен, хотя бы свернут.


  • 0

#10
perf

perf

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 40 сообщений
23
  • EVE Ingame:imperfect
  • Corp:AEGL
  • Client:Eng

Для начала следует понимать, что:

 

1. Хук это термин друпала, проще говоря, подписка на событие.
2. В обычном преставлении wep api не существует подписки на события, поскольку оно предназначено для отдачи и принятии информации по запросу.
3. Низкий расход серверных ресурсов при кэшировании на длительное время.

 

Оповещение клиентов о событиях можно реализовать, как минимум, двумя наиболее популярными путями:

 

1. HTTP запрос. Этот метод прост в реализации, но малоэффективен, как для сервера, так и для клиента. На сервере создастся огромный трафик из-за особенностей HTTP протокола. Клиент может попросту не справится с количеством запросов от сервера. Например: 500 пилотов разом проваливаются в гайку, и клиент получает 500 запросов в короткий промежуток времени, результат - машина клиента не доступна (банальный ддос). Да, можно агрегировать события и отсылать пачкой, что-то там оптимизировать, но это все пляски с бубном.
2. Подключение через сокет. Данный метод очень эффективен для обоих сторон, по данной схеме работают большинство онлайн игр, чатов, бд. и тд. Выбор протокола - дело третье. Минус для клиента только один, нужен стабильный демон, который будет обрабатывать сообщения от сервера, то есть, не каждый хостинг это позволит реализовать.

Для обоих методов на стороне сервера будет необходимо увеличивать количество ресурсов. Если сейчас у них работают 2 машины на отдачу и одна на кэш, то в случае ввода изменений таксопарк придется расширить в разы.

 

Теперь следует определиться с затратами и насколько высоко данные новшества будут востребованы. Звучит сомнительно.

 

Также может возникнуть ситуация когда api ключей станет оч. много и скрипт может работать давольно продолжительное время.

Запускайте в несколько потоков, и будет вам счастье.


Сообщение отредактировал perf: 08 February 2015 - 1:52

  • 1

#11
boris_t

boris_t

    Newbie

  • Tech I Pilots
  • 6 сообщений
-1
  • EVE Ingame:Boris Blade Artrald
  • Corp:Sturm.
  • Channel:Cruel Killers
  • Client:Рус

Из диалога я могу только сделать один вывод - люди друг друга не понимают.

Есть webhooks и есть drupal hook это совершенно разные термины (я специально ссылками все делаю).

Проблема трафика и железа? CCP это не голодные студенты, могут себе позволить расширить таксопарк.

И я не думаю что json блобы, обёрнутые в HTTP могут забить напрочь магистрали дата центра. Давайте не будем оценивать чужие риски.

Если клиентское приложение не может обработать большое количество запросов, то это проблема приложения.

В конце концов можно же сделать интерфейс с настройкой обратных вызовов, например, дать выбор на какие события eve слать запросы в приложение.

Давайте лучше подумаем над тем, что можно было бы сделать если бы eve оповещала о событиях в игре сторонние приложения, какие от этого будут плюсы (про минусы будут думать CCP они же это будут поддерживать), на какие события eve слать в приложения запросы.


  • 0




0 посетителей читают тему

0 members, 0 guests, 0 anonymous users