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


Обсуждение практических вопросов использования Wargaming Public API


  • Пожалуйста, авторизируйтесь для того, чтобы ответить
Сообщений в теме: 3941

Hedeon #481 Отправлено 08 Окт 2013 - 16:17

    Старшина

  • Разработчики
  • 20405 боев
  • 567
  • [WG-A] WG-A
  • Регистрация:
    30.12.2010

Тема для обсуждения практических вопросов использования Wargaming Public API.

 

Полезные ссылки для начинающих знакомство с PAPI:

- Аутентификация методами PAPI: что это и с чем его едят.

- Как рассчитать рейтинг эффективности при помощи методов Public API?

- Использование PHP библиотеки CURL для выполнения запросов в API WG.

 

Если Вы нашли баг/недоработку то, пожалуйста, занесите информацию в наш баг-трекер.



First_Helldar #482 Отправлено 08 Мар 2014 - 13:19

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияMustBeDead (08 Мар 2014 - 17:08) писал:

 

Wargaming Developer Partner Program – специализированное под большие нагрузки средство, предназначенное для сторонних разработчиков. Регистрируя приложение, Вы принимаете во внимание и соглашаетесь с каждым пунктом Пользовательского соглашения.
Как уже сообщалось ранее, парсинг страниц портала не допускается. Используйте, пожалуйста, в работе приложения только методы Public API.

Пожалуйста, изучите текст Пользовательского соглашения еще - так как пункт 4.4 не содержит в себе понятие "аутентификация".

Правила изучил все, каждый пункт.

Вот только одного, всё же, понять не удается: каким тогда образом мне получить текущую версию клиента? Раз средствами API это нельзя сделать, а парсинг запрещен?

Помогите разобраться в данном вопросе.



imprtat #483 Отправлено 08 Мар 2014 - 13:26

    Рядовой

  • Игроки
  • 27977 боев
  • 12
  • Регистрация:
    23.03.2011

1) Можно ли ожидать добавление метода для отправки инвайта в клан?

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

2) Если п. 1 - да, возможно ли будет в настройках клана указать ссылку на страницу для подачи заявок для использования ее в интерфейсе поиска кланов.

3) Для дополнения п.1 - возможность получить список инвайтов игрока и принять один из них.

Опять же, на той же странице с заявкой в клан можно будет добавить кнопку для принятия инвайта.


Сообщение отредактировал imprtat: 08 Мар 2014 - 13:33


MustBeDead #484 Отправлено 08 Мар 2014 - 13:37

    Старший сержант

  • Игроки
  • 2782 боя
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияimprtat (08 Мар 2014 - 13:26) писал:

1) Можно ли ожидать добавление метода для отправки инвайта в клан?

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

2) Если п. 1 - да, возможно ли будет в настройках клана указать ссылку на страницу для подачи заявок для использования ее в интерфейсе поиска кланов.

3) Для дополнения п.1 - возможность получить список инвайтов игрока и принять один из них.

Опять же, на той же странице с заявкой в клан можно будет добавить кнопку для принятия инвайта.

 

Методы Public API на данный момент функционируют в режиме read only.


Кабинет разработчика Wargaming Developer Partner Program

imprtat #485 Отправлено 08 Мар 2014 - 13:41

    Рядовой

  • Игроки
  • 27977 боев
  • 12
  • Регистрация:
    23.03.2011

Просмотр сообщенияMustBeDead (08 Мар 2014 - 13:37) писал:

 

Методы Public API на данный момент функционируют в режиме read only.

Можно ли понимать  "на данный момент" как наличие концепции или пока вообще не обсуждается?

 

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


Сообщение отредактировал imprtat: 08 Мар 2014 - 13:50


MustBeDead #486 Отправлено 08 Мар 2014 - 14:08

    Старший сержант

  • Игроки
  • 2782 боя
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияFirst_Helldar (08 Мар 2014 - 13:19) писал:

Правила изучил все, каждый пункт.

Вот только одного, всё же, понять не удается: каким тогда образом мне получить текущую версию клиента? Раз средствами API это нельзя сделать, а парсинг запрещен?

Помогите разобраться в данном вопросе.

 

Изучите, пожалуйста, документацию по работе методов Public API.
Дело в том, что данные, которые предоставляет API, не зависят от версии клиента игры (WoT или WoWP). Это статистика по итогам проведенных боев, игровому аккаунту, техника, рейтинги и энциклопедия и так далее.
Данные при игре на тестовом сервере методами Public API не учитывается. 
Если Вы используете методы API для модификатора клиента игры, можете брать версию из клиента игры.

 

Просмотр сообщенияimprtat (08 Мар 2014 - 13:41) писал:

Можно ли понимать  "на данный момент" как наличие концепции или пока вообще не обсуждается?

 

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

 

Нотификации вводить не планируется. На текущий момент Public API функционирует в режиме только чтения.


Кабинет разработчика Wargaming Developer Partner Program

__Zyklop #487 Отправлено 08 Мар 2014 - 14:11

    Старшина

  • Игроки
  • 37224 боя
  • 495
  • [ZPLN] ZPLN
  • Регистрация:
    27.03.2011

Просмотр сообщенияMustBeDead (08 Мар 2014 - 10:08) писал:

 

Wargaming Developer Partner Program – специализированное под большие нагрузки средство, предназначенное для сторонних разработчиков. Регистрируя приложение, Вы принимаете во внимание и соглашаетесь с каждым пунктом Пользовательского соглашения.
Как уже сообщалось ранее, парсинг страниц портала не допускается. Используйте, пожалуйста, в работе приложения только методы Public API.

Пожалуйста, изучите текст Пользовательского соглашения еще - так как пункт 4.4 не содержит в себе понятие "аутентификация".


Маст Бидедович не могу пройти мимо запрета парсинга страниц... а как же  сайт смотреть без парсинга страниц браузером? да браузер там такое со страницами вытворяет, даже CSS и javascript выполняет..

Очень скоропалительное заявление.  Понимаю там ограничение на количество запросов, но запретить... это очень круто.


Чаааафффик

First_Helldar #488 Отправлено 08 Мар 2014 - 14:34

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияMustBeDead (08 Мар 2014 - 21:08) писал:

 

Изучите, пожалуйста, документацию по работе методов Public API.
Дело в том, что данные, которые предоставляет API, не зависят от версии клиента игры (WoT или WoWP). Это статистика по итогам проведенных боев, игровому аккаунту, техника, рейтинги и энциклопедия и так далее.
Данные при игре на тестовом сервере методами Public API не учитывается. 
Если Вы используете методы API для модификатора клиента игры, можете брать версию из клиента игры.

 

Приведу практический пример метода, который предлагаете Вы (если я верно понял):

Запускаю лаунчер модпака, он проверяет версию "танков" - 0.8.11, затем вновь ее же проверяет и выходит, что версия всегда актуальна, так как 0.8.11 = 0.8.11 этого же параметра.

Возникает вопрос: каким образом я могу сверить является ли версия клиента актуальной на момент запуска лаунчера модпака?

Учитывая факт, что парсер использовать нельзя, хоть и не вижу в этом никакой логики.

 

P.S.: из всех возможностей мне нужно получить только версию клиента на сервере, чтобы сравнить актуальность. Другой функционал, предоставляемый Public API, мне не требуется.


Сообщение отредактировал First_Helldar: 08 Мар 2014 - 14:35


MustBeDead #489 Отправлено 08 Мар 2014 - 14:43

    Старший сержант

  • Игроки
  • 2782 боя
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияciklop1979 (08 Мар 2014 - 14:11) писал:


Маст Бидедович не могу пройти мимо запрета парсинга страниц... а как же  сайт смотреть без парсинга страниц браузером? да браузер там такое со страницами вытворяет, даже CSS и javascript выполняет..

Очень скоропалительное заявление.  Понимаю там ограничение на количество запросов, но запретить... это очень круто.

 

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


Кабинет разработчика Wargaming Developer Partner Program

__Zyklop #490 Отправлено 08 Мар 2014 - 14:54

    Старшина

  • Игроки
  • 37224 боя
  • 495
  • [ZPLN] ZPLN
  • Регистрация:
    27.03.2011

Просмотр сообщенияFirst_Helldar (08 Мар 2014 - 14:34) писал:

 

Приведу практический пример метода, который предлагаете Вы (если я верно понял):

Запускаю лаунчер модпака, он проверяет версию "танков" - 0.8.11, затем вновь ее же проверяет и выходит, что версия всегда актуальна, так как 0.8.11 = 0.8.11 этого же параметра.

Возникает вопрос: каким образом я могу сверить является ли версия клиента актуальной на момент запуска лаунчера модпака?

Учитывая факт, что парсер использовать нельзя, хоть и не вижу в этом никакой логики.

 

P.S.: из всех возможностей мне нужно получить только версию клиента на сервере, чтобы сравнить актуальность. Другой функционал, предоставляемый Public API, мне не требуется.


Лаунчер модпака  ставит файлы в клиент и версия игры на сайте не имеет ничего общего с версией игры на компьютере пользователя вашего модпака.

На вашем месте я бы придумал другие методы проверки версии КЛИЕНТА, а не цифер на сайте.


Сообщение отредактировал ciklop1979: 08 Мар 2014 - 14:55

Чаааафффик

MustBeDead #491 Отправлено 08 Мар 2014 - 15:08

    Старший сержант

  • Игроки
  • 2782 боя
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияciklop1979 (08 Мар 2014 - 14:54) писал:


Лаунчер модпака  ставит файлы в клиент и версия игры на сайте не имеет ничего общего с версией игры на компьютере пользователя вашего модпака.

На вашем месте я бы придумал другие методы проверки версии КЛИЕНТА, а не цифер на сайте.

 

Именно так.

Поправьте меня, пожалуйста, если я не прав:

1) Версия клиента игры расположена в корне директории WoT - version.xml

2) Если версия клиента не последняя, пользователь не сможет войти в игру.

3) Забираем версию и производим определенные действия.


Кабинет разработчика Wargaming Developer Partner Program

First_Helldar #492 Отправлено 08 Мар 2014 - 15:13

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияMustBeDead (08 Мар 2014 - 22:08) писал:

Именно так.

Поправьте меня, пожалуйста, если я не прав:

1) Версия клиента игры расположена в корне директории WoT - version.xml

2) Если версия клиента не последняя, пользователь не сможет войти в игру.

3) Забираем версию и производим определенные действия.

 

Как же мне еще-то объяснить...

Попробую так:

  1. Человек запускает лаунчер модпака;
  2. Видит надпись: "доступна новая версия клиента игры. Обновитесь";
  3. Жмет кнопку "лаунчер игры";
  4. Запускается лаунчер самой игры и уже своими методами обновляет игру до актуальной версии.

 

Наглядный пример:

 

Дак, почему бы не реализовать возможность проверки актуальности и клиента игры?

 

P.S.: скриншот модпака не мой. Указал для наглядности.

 

 

--- добавлено чуть позже ---

Рассмотрю 2 практических пути появления новой версии клиента:

  1. Запускаю лаунчер модпака;
  2. Вижу, что вышла новая версия игры;
  3. Жму "лаунчер игры";
  4. Запускается лаунчер - обновляется;

 

Второй вариант:

  1. Запускаю лаунчер модпака;
  2. Жму "Играть";
  3. Запускаю игру;
  4. Жду пока игра запустится, просмотрев все заставки;
  5. Ввожу логин/пароль;
  6. Жду пока клиент подключится;
  7. Наблюдаю ошибку (не помню точно, но про обновления ни слова не сказано);
  8. Выхожу из игры;
  9. Запускаю лаунчер модпака (так как лаунчер игры мне на раб.столе не нужен);
  10. Жму кнопку "лаунчер игры";
  11. Обновляю игру.

Сообщение отредактировал First_Helldar: 08 Мар 2014 - 15:20


Terradine #493 Отправлено 08 Мар 2014 - 16:47

    Младший сержант

  • Разработчики
  • 23044 боя
  • 97
  • Регистрация:
    31.03.2011

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

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

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

 



First_Helldar #494 Отправлено 09 Мар 2014 - 13:30

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияTerradine (08 Мар 2014 - 23:47) писал:

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

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

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

 

 

Если, например, 1000 человек единовременно откроют Ваш сайт (http://worldoftanks.ru/) в браузере - нагрузка на Ваш сервер будет немного выше, нежели парсер лаунчера модпака потому, что браузер, вдобавок, загружает файлы css, js и изображения для полноценной работы сайта в то время, как лаунчер грузит лишь исходный код страницы, не более.

 

Для проверки актуальности версий лаунчер связывается с 2-мя серверами: мой (для проверки версии лаунчера) и http://worldoftanks.ru/ - для проверки версии клиента игры.

 

Исходя из этого можно сделать вывод, что при единовременном открытии сайта http://worldoftanks.ru/ через браузер, "атака" на сайт будет в разы выше, нежели эту же страницу загрузит лаунчер.

Если нужно точное время, то, в настоящий момент, лаунчер "открывает" страницу сайта http://worldoftanks.ru/ от 1.0400595 до 1.6800961 секунды в то время, как тот же Google Chrome со скоростью Интернета в 20Мбит/с открывает сайт примерно за 3-7 секунд.

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



XAMeLeoN #495 Отправлено 09 Мар 2014 - 14:23

    Сержант

  • Разработчики
  • 7277 боев
  • 152
  • Регистрация:
    26.06.2010

Просмотр сообщенияFirst_Helldar (09 Мар 2014 - 10:30) писал:

 

Если, например, 1000 человек единовременно откроют Ваш сайт (http://worldoftanks.ru/) в браузере - нагрузка на Ваш сервер будет немного выше, нежели парсер лаунчера модпака потому, что браузер, вдобавок, загружает файлы css, js и изображения для полноценной работы сайта в то время, как лаунчер грузит лишь исходный код страницы, не более.

 

Для проверки актуальности версий лаунчер связывается с 2-мя серверами: мой (для проверки версии лаунчера) и http://worldoftanks.ru/ - для проверки версии клиента игры.

 

Исходя из этого можно сделать вывод, что при единовременном открытии сайта http://worldoftanks.ru/ через браузер, "атака" на сайт будет в разы выше, нежели эту же страницу загрузит лаунчер.

Если нужно точное время, то, в настоящий момент, лаунчер "открывает" страницу сайта http://worldoftanks.ru/ от 1.0400595 до 1.6800961 секунды в то время, как тот же Google Chrome со скоростью Интернета в 20Мбит/с открывает сайт примерно за 3-7 секунд.

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

Да, но при этом эта тысяча игроков не открывает сайт World of tanks перед игрой, а лаунчер - открывает.

А разница между архитектурой "ваш сервер, отдающий 1000 раз версию лаунчера + наш сайт, подвергающийся парсингу 1000 раз" и "ваш сервер, проверяющий один раз версию клиента на сайте и 1000 раз отдающий версию лаунчера с версией клиента + наш сайт, отдающий версию клиента 1 раз" для нас - в тысячу раз, в случае с, например, 100 000 пользователями модпака - в сто тысяч раз. Для вас же разница по нагрузке минимальна, потому что вы уже отдаёте эти 1000 раз версию лаунчера.

 

Соответственно, на сегодняшний день архитектура вида "1) на вашем сервере раз в полчаса вы убеждаетесь в актуальности последней версии клиента игры. 2) пользователи модпака, запуская лаунчер, запрашивают с вашего сервера актуальную версию и лаунчера, и клиента игры" будет в обсуждаемой ситуации наиболее оптимальна.



First_Helldar #496 Отправлено 09 Мар 2014 - 14:33

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияXAMeLeoN (09 Мар 2014 - 21:23) писал:

Да, но при этом эта тысяча игроков не открывает сайт World of tanks перед игрой, а лаунчер - открывает.

А разница между архитектурой "ваш сервер, отдающий 1000 раз версию лаунчера + наш сайт, подвергающийся парсингу 1000 раз" и "ваш сервер, проверяющий один раз версию клиента на сайте и 1000 раз отдающий версию лаунчера с версией клиента + наш сайт, отдающий версию клиента 1 раз" для нас - в тысячу раз, в случае с, например, 100 000 пользователями модпака - в сто тысяч раз. Для вас же разница по нагрузке минимальна, потому что вы уже отдаёте эти 1000 раз версию лаунчера.

 

Соответственно, на сегодняшний день архитектура вида "1) на вашем сервере раз в полчаса вы убеждаетесь в актуальности последней версии клиента игры. 2) пользователи модпака, запуская лаунчер, запрашивают с вашего сервера актуальную версию и лаунчера, и клиента игры" будет в обсуждаемой ситуации наиболее оптимальна.

 

Прочитав первый абзац понял принцип работы. Прочитав второй - убедился в верности своего принципа.

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

 

Спасибо за наводку! Что-то упустил из вида данный вариант.



STREJlA #497 Отправлено 09 Мар 2014 - 22:45

    Старшина

  • Игроки
  • 14185 боев
  • 407
  • [W_G_P] W_G_P
  • Регистрация:
    25.10.2010

Просмотр сообщенияXAMeLeoN (09 Мар 2014 - 13:23) писал:

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

 

Естественно, что актуальность версии проверяется методом парсинга, что правилами запрещено...

 

Аналогично, дорогу в неположенных местах переходить тоже нельзя, но все знают, если машин нет - можно.

Я так понимаю, если парсим страницу в разумных пределах (не чаще чем раз в пол часа), то "можно переходить", и последствий не будет.


Сообщение отредактировал STREJlA: 09 Мар 2014 - 22:46


XAMeLeoN #498 Отправлено 10 Мар 2014 - 08:28

    Сержант

  • Разработчики
  • 7277 боев
  • 152
  • Регистрация:
    26.06.2010
Автоматический парсинг информации как таковой запрещен правилами и условиями использования Wargaming DPP, пункт II.3.

https://ru.wargaming.net/developers/documentation/rules/rules/

Цитата

3. Не допускается любой неинтерактивный (не требующий участия пользователя) сбор информации с вебсайтов игр Wargaming.net, осуществляемый не через предоставленные WG Public APIs.

 

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



First_Helldar #499 Отправлено 10 Мар 2014 - 12:58

    Младший сержант

  • Игроки
  • 7158 боев
  • 84
  • Регистрация:
    24.07.2011

Просмотр сообщенияXAMeLeoN (10 Мар 2014 - 15:28) писал:

Автоматический парсинг информации как таковой запрещен правилами и условиями использования Wargaming DPP, пункт II.3.

https://ru.wargaming.net/developers/documentation/rules/rules/

 

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

 

Если рассматривать данную ситуацию, то каким образом Вы определите кто открыл страницу сайта - пользователь в браузере или приложение?

Плюс ко всему, лично мне слабо верится, что Вы будете блокировать подобные IP-адреса пользователей, с которых открывают Ваш сайт, опять же учитывая факт, что сайт может открыть как человек, так и нет.

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

И, при таком раскладе, рейтинг Wargaming.net упадет силами своих сотрудников. Profit!

 

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



STREJlA #500 Отправлено 16 Мар 2014 - 18:37

    Старшина

  • Игроки
  • 14185 боев
  • 407
  • [W_G_P] W_G_P
  • Регистрация:
    25.10.2010

В профиле игрока на сайте worldoftanks, (регионы eu,asia)отображается персональный рейтинг.

  1. Планируется ли изменение профиля ru региона.
  2. Будет ли в api добавлено отображение данных о рейтинге.

Спасибо!


Сообщение отредактировал STREJlA: 16 Мар 2014 - 18:37


XAMeLeoN #501 Отправлено 17 Мар 2014 - 08:01

    Сержант

  • Разработчики
  • 7277 боев
  • 152
  • Регистрация:
    26.06.2010

Просмотр сообщенияSTREJlA (16 Мар 2014 - 15:37) писал:

В профиле игрока на сайте worldoftanks, (регионы eu,asia)отображается персональный рейтинг.

  1. Планируется ли изменение профиля ru региона.
  2. Будет ли в api добавлено отображение данных о рейтинге.

Спасибо!

Да, планируется в одном из будущих обновлений.

Следите за новостями.






Количество пользователей, просматривающих этот форум: 1

0 пользователей, 0 гостей, 0 анонимных