Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → 3d Party Tools → EngineProWeb && BNET APIs

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 40

1 (edited by Miki 02.08.2020 12:19)

Topic: EngineProWeb && BNET APIs

https://api.bnet.sngmu.com/mod/reg/reglogo.svg
Система расшифровки персонажей Diablo 2 по средствам HTTP запроса через токен.

Как использовать ?

  • Зайдите на сайт api.bnet

  • Пройдите регистрацию указав Email адрес и доменное имя сайта (Пример: example.com)

  • После регистрации на указанный адрес почты придет письмо с вашим токеном*

  • Читаем файл персонажа и отправляем запрос POST по типу JSON (Пример ниже**)

  • Принимает ответ по типу JSON***

* - токен привязывается к доменному имени
** - отправляем запрос JSON

$char_data = file_get_contents('указываем путь к файлу');
$url = 'http://api.bnet.sngmu.com/?type=d2char';
$result = file_get_contents($url, false, stream_context_create(array(
            'http' => array(
            'method' => 'POST',
            'header' => 'Content-type: application/json',
            'content' => json_encode(array(
                        'token' => 'ваш токен',
                        'decode' => array_merge(unpack("C*", $char_data)),
                        )),
            )
        )));

***- $result передает JSON ответ

$decode_char = json_decode($result);
$decode_char->username #Выводит имя персонажа

Все возможности:

username #(trim) charname
ladders #(int) 1/0
expansion #(int) 1/0
hasdie #(int) 1/0
hardcore #(int) 1/0
classes #(int) 0/1/2/3/4/5/6/7 - Amazon/Sorceress/Necromancer/Paladin/Barbarian/Druid/Assassin/NA
levelsc #(int) level in select screen
strength #(int)
energy #(int)
dexterity #(int)
vitality #(int)
statpoints #(int)
skillpoints #(int)
currentlife #(int)
maximumlife #(int)
currentmana #(int)
maximummana #(int)
currentstamina #(int)
maximumstamina #(int)
experience #(int)
personalgold #(int)
stashgold #(int)

## NEW 02.08.2020##

skill -> skillnames #(int) [id]
skill -> skilllevels #(int)

СИСТЕМА НА ТЕСТЕ

2

Re: EngineProWeb && BNET APIs

Very good! Waiting for more news.

3

Re: EngineProWeb && BNET APIs

EngineProWeb v0.2

#В config.php можно установить префикс для таблиц PVPGN
#При в входе свой аккаунт в главном меню Регистрация сменится на Панель пользователя
#Изменен модуль user->acc
#Обновлены таблицы
#Добавлен модуль загрузки персонажей acc->d2, индивидуальные права
#Другие исправления

Загрузка в шапке

4

Re: EngineProWeb && BNET APIs

Отличная идея... но я не могу понять...
так и должно быть?
https://forums.pvpgn.pro/uploads/images/2018/04/16/image.png

5 (edited by Miki 16.04.2018 21:16)

Re: EngineProWeb && BNET APIs

Serc wrote:

Отличная идея... но я не могу понять...
так и должно быть?
https://forums.pvpgn.pro/uploads/images/2018/04/16/image.png

Только нижний регистер

Добавлено: 16.04.2018 20:16

Можете зайти в модуль регистрации и на 40 строке заменить pattern c ^[a-z]+$ на
^[0-9A-Za-z]+$

+1 Serc

6

Re: EngineProWeb && BNET APIs

в запросах engine.php префиксы нельзя изменить... Скорее всего не везде изменил переменную для префикса из конфига.
SELECT acct_username, auth_command_groups, uid FROM pvpgn_BNET WHERE

можно как-нибудь переделать парсер статистики для xml а не для dat?
на моём сервер статистика генерируется в xml формате... Я не оч шарю в сайтостроении... smile

7

Re: EngineProWeb && BNET APIs

Serc wrote:

в запросах engine.php префиксы нельзя изменить... Скорее всего не везде изменил переменную для префикса из конфига.
SELECT acct_username, auth_command_groups, uid FROM pvpgn_BNET WHERE

Проверил все запросы(5) префиксы установлены.

Serc wrote:

можно как-нибудь переделать парсер статистики для xml а не для dat?
на моём сервер статистика генерируется в xml формате... Я не оч шарю в сайтостроении...

Можно, сегодня - завтра выложу небольшое обновление там и реализовано это.

Добавлено: 20.04.2018 02:10

Выложу без всяких обновление один модуль статистики, так как сам движок сильно изменился.

Просто указать конечный файл status.dat или status.xml в настройках config.php

P.S. смотреть шапку

8

Re: EngineProWeb && BNET APIs

Отлично. Статистика работает на ура. Можно декодировать причину бана?

https://forums.pvpgn.pro/uploads/images/2018/04/20/image.png

9

Re: EngineProWeb && BNET APIs

Serc wrote:

Отлично. Статистика работает на ура. Можно декодировать причину бана?

https://forums.pvpgn.pro/uploads/images/2018/04/20/image.png

может это сам pvpgn заносит так причину в базу ?

10

Re: EngineProWeb && BNET APIs

Miki wrote:
Serc wrote:

Отлично. Статистика работает на ура. Можно декодировать причину бана?

https://forums.pvpgn.pro/uploads/images/2018/04/20/image.png

может это сам pvpgn заносит так причину в базу ?

Так и есть. В сайте есть возможность декодинга крокозябр?

11

Re: EngineProWeb && BNET APIs

Возможно, точно сказать не могу .

12 (edited by Serc 22.04.2018 18:13)

Re: EngineProWeb && BNET APIs

Можно разжевать - что это значит?

$pvpgn['downloads_char']    = True; // Влючить/Выключить опцию загрузки персонажей [True/False]
$pvpgn['login_lock']        = True; // Влючить/Выключить опцию входа блокированных пользователей [True/False]

Запросы в многих местах также стоят pvpgn_BNET вместо чека префикса через конфиг (File Seek в помощь)

13 (edited by Miki 23.04.2018 01:11)

Re: EngineProWeb && BNET APIs

Serc wrote:

Запросы в многих местах также стоят pvpgn_BNET вместо чека префикса через конфиг (File Seek в помощь)

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

Serc wrote:

$pvpgn['downloads_char']    = True; // Влючить/Выключить опцию загрузки персонажей [True/False]


Serc wrote:

$pvpgn['login_lock']        = True; // Влючить/Выключить опцию входа блокированных пользователей [True/False]

Если стоит False то при попытке входа блокированного пользователя будет выбрасывать на страницу его блокировки с запретом входа в свой аккаунт:
?ep=checkacc&w=block&n=USERNAME
Если стоит True то блокированный пользователь сможет войти в свой аккаунт.

14 (edited by Serc 23.04.2018 12:33)

Re: EngineProWeb && BNET APIs

Miki wrote:

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

Моя ошибка. Проверял после 0.1 версию.

Пытаюсь зарегистрировать новый аккаунт - реакции никакой, даже ошибки нет (переоткрывается форма регистрации).

При попытки изменить пароль вылетает такая ошибка... По дефолту в пвпгн таблицах нет acct_passmd5, я так думаю - если в конфиге выключена функция md5, то и указывать на неё запрос не должен.
https://forums.pvpgn.pro/uploads/images/2018/04/23/image.png
На скрине я уже добавил столбец acct_passmd5 в BNET таблицу.

15 (edited by Miki 23.04.2018 15:41)

Re: EngineProWeb && BNET APIs

Ошибка №1 связана с тем что там указан файл server.dat у вас  я так понял server.xml.
Если интересно, то эта строка проверяет на наличие игрока в сети pvpgn и не дает изменять данные аккаунта.
Это происходит за счет строгой проверки имени пользователя в файле server.dat

if (!preg_match("/\b".$username."\b/i", file_get_contents($pvpgn['dir_status']."server.dat"))){

Ошибка №2 возможно связана с тем что у вас более новая или старая версия php.
Я пишу все это на php 5.6 так как она более актуальна на моем хостинге.

В плане столбца acct_passmd5 да это мой косяк ). Забыл добавить в файл epw_Query запрос !

Сейчас шлифую консоль для движка epw. Как только закончу и проверю консоль, займусь исправлениями моих ошибок !
https://forums.pvpgn.pro/misc.php?action=pun_attachment&item=327&download=0
Спасибо за выявление косяков )

+1 Serc

16

Re: EngineProWeb && BNET APIs

Miki wrote:

Ошибка №1 связана с тем что там указан файл server.dat у вас  я так понял server.xml.
Если интересно, то эта строка проверяет на наличие игрока в сети pvpgn и не дает изменять данные аккаунта.
Это происходит за счет строгой проверки имени пользователя в файле server.dat

if (!preg_match("/\b".$username."\b/i", file_get_contents($pvpgn['dir_status']."server.dat"))){

Ошибка №2 возможно связана с тем что у вас более новая или старая версия php.
Я пишу все это на php 5.6 так как она более актуальна на моем хостинге.

server.dat аля xml в конфиг выноситься должна - для удобства, можно "разбить" даже: скажем в 1й переменной путь до файла статистики, во 2й переменной название самого файла.
Я изменял server.dat на xml формат - ошибка не исчезала. При регистрации md5 удалил, но аккаунт всё равно не хочет регаться - возвращает окно регистрации.

17 (edited by Miki 24.04.2018 02:41)

Re: EngineProWeb && BNET APIs

Serc wrote:
Miki wrote:

Ошибка №1 связана с тем что там указан файл server.dat у вас  я так понял server.xml.
Если интересно, то эта строка проверяет на наличие игрока в сети pvpgn и не дает изменять данные аккаунта.
Это происходит за счет строгой проверки имени пользователя в файле server.dat

if (!preg_match("/\b".$username."\b/i", file_get_contents($pvpgn['dir_status']."server.dat"))){

Ошибка №2 возможно связана с тем что у вас более новая или старая версия php.
Я пишу все это на php 5.6 так как она более актуальна на моем хостинге.

server.dat аля xml в конфиг выноситься должна - для удобства, можно "разбить" даже: скажем в 1й переменной путь до файла статистики, во 2й переменной название самого файла.
Я изменял server.dat на xml формат - ошибка не исчезала.

Она и не исчезнет сама по себе так как этот способ для текстовых файлов, не для xml

Serc wrote:

При регистрации md5 удалил, но аккаунт всё равно не хочет регаться - возвращает окно регистрации.

Цитирую свое сообщение wrote:

Ошибка №2 возможно связана с тем что у вас более новая или старая версия php.
Я пишу все это на php 5.6 так как она более актуальна на моем хостинге.

Напишите мне какая у вас версия php ?

18

Re: EngineProWeb && BNET APIs

https://forums.pvpgn.pro/uploads/images/2018/04/25/image.png

19

Re: EngineProWeb && BNET APIs

Serc wrote:

https://forums.pvpgn.pro/uploads/images/2018/04/25/image.png

Хорошо исправим

20 (edited by Gh0ster 30.04.2018 03:18)

Re: EngineProWeb && BNET APIs

Всем хай.
Присоеденяюсь к Вашей доработке данного скрипта(сайта, движка).
Дополню что последние ошибки связаны с самими билдами PHP 5.6.
У меня в ДатаЦентре стоит PHP 5.6 последний билд.
А в своем компьютере стоит PHP 5.6 от XAMPP вроде без нареканий работает.
А теперь к выводу "Статистики".
Можно все таки вывод от server.xml можно взять с скрипта  pvpgnonline.zip  137.8 Kb  (122) выложу сюда
.
А теперь к более детальному вопросу.
Разработчик вы будете делать скрипт направляясь на PVPGN -> DIABLO ? Или расширение будет? Я пишу о клиенте
Warcraft 3 FT.

21

Re: EngineProWeb && BNET APIs

Gh0ster wrote:

Всем хай.
Присоеденяюсь к Вашей доработке данного скрипта(сайта, движка).
Дополню что последние ошибки связаны с самими билдами PHP 5.6.
У меня в ДатаЦентре стоит PHP 5.6 последний билд.
А в своем компьютере стоит PHP 5.6 от XAMPP вроде без нареканий работает.

Спасибо за внимание.
У меня так же все web ресурсы на хостинге в датацентре и все работает на ура.

Gh0ster wrote:

А теперь к выводу "Статистики".
Можно все таки вывод от server.xml можно взять с скрипта  pvpgnonline.zip  137.8 Kb  (122) выложу сюда
.

Статистика для файла xml уже реализована

Gh0ster wrote:

А теперь к более детальному вопросу.

Разработчик вы будете делать скрипт направляясь на PVPGN -> DIABLO ? Или расширение будет? Я пишу о клиенте
Warcraft 3 FT.

И Warcraft 3 так же, только в Warcraft 3 я не очень силен, поэтому пишите вашу задумку, и там по мере возможности я реализую.

22

Re: EngineProWeb && BNET APIs

vot)

23 (edited by Miki 12.05.2018 14:19)

Re: EngineProWeb && BNET APIs

launcher wrote:

vot)

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

24

Re: EngineProWeb && BNET APIs

launcher wrote:

vot)

Хватит выпендрываться со скринами которых не существует))
А теперь к Автору
Miki, Вы консоль уже реализовали под данный движок?

25

Re: EngineProWeb && BNET APIs

Gh0ster wrote:
launcher wrote:

vot)

Хватит выпендрываться со скринами которых не существует))
А теперь к Автору
Miki, Вы консоль уже реализовали под данный движок?

Еще нет, сейчас нужно сменить хеширование паролей с md5 на специальное api для php password_hash, придумать решение для тех кто регистрируется через pvpgn а не сайт и доделать модульные стили.

Добавлено: 13.05.2018 22:32

Возможно, следующая версия останется с модераторской, без консоли.

Добавлено: 13.05.2018 22:33

Да и неплохо было бы подтверждение аккаунта сделать.

26

Re: EngineProWeb && BNET APIs

Gh0ster wrote:
launcher wrote:

vot)

Хватит выпендрываться со скринами которых не существует))
А теперь к Автору
Miki, Вы консоль уже реализовали под данный движок?

откуда скрин , если не существует скрипт?

27

Re: EngineProWeb && BNET APIs

Miki wrote:

Еще нет, сейчас нужно сменить хеширование паролей с md5 на специальное api для php password_hash, придумать решение для тех кто регистрируется через pvpgn а не сайт и доделать модульные стили.

Включить авторизацию по нику из хэша таблицы BNET, при 1й авторизации на сайте - заполнять EPW таблицы.
2й вариант: выключить регистрацию через PvPGN.
3й вариант(самый муторный): в самом PvPGN сервере сделать отсылку для заполнения таблиц EPW при регистрации нового пользователя. Непонятно как туда вставить хэширование MD5, разве что гуру форума разжуют.

28 (edited by Miki 14.05.2018 23:43)

Re: EngineProWeb && BNET APIs

Serc wrote:
Miki wrote:

Еще нет, сейчас нужно сменить хеширование паролей с md5 на специальное api для php password_hash, придумать решение для тех кто регистрируется через pvpgn а не сайт и доделать модульные стили.

Включить авторизацию по нику из хэша таблицы BNET, при 1й авторизации на сайте - заполнять EPW таблицы.
2й вариант: выключить регистрацию через PvPGN.
3й вариант(самый муторный): в самом PvPGN сервере сделать отсылку для заполнения таблиц EPW при регистрации нового пользователя. Непонятно как туда вставить хэширование MD5, разве что гуру форума разжуют.

Уже сделано )
Принцип первого варианта

+1 Serc

29

Re: EngineProWeb && BNET APIs

Miki wrote:

Еще нет, сейчас нужно сменить хеширование паролей с md5 на специальное api для php password_hash, придумать решение для тех кто регистрируется через pvpgn а не сайт и доделать модульные стили.

pvpgn-hash get-hash(пароль)
так ведь?

30

Re: EngineProWeb && BNET APIs

launcher wrote:
Miki wrote:

Еще нет, сейчас нужно сменить хеширование паролей с md5 на специальное api для php password_hash, придумать решение для тех кто регистрируется через pvpgn а не сайт и доделать модульные стили.

pvpgn-hash get-hash(пароль)
так ведь?

pvpgn_sha1::pvpgn_get_hash($password)

31 (edited by Miki 23.05.2018 22:55)

Re: EngineProWeb && BNET APIs

EngineProWeb v0.3

#Движок переписан под php7.2
#Обновлен главный дизайн сайта
#Добавлена поддержка xml статистики
#Добавлено отображение категорий в новоcтях
#Добавлена поддержка стилей функции для acc_menu
#Добавлены более гибкие стили для тем, модульные стили
#В панеле пользователя отображается ваш клан. Если вы его создатель рядом будет написано (Глава)
#В статистику добавлено отображение количества кланов на сервере
#Исправлена проверка пользователей в сети pvpgn
#Добавлены все BattleNet теги для отображения «Замечен в игре»
#Исправлено неверное отображение новостей после удаления
#Обновлены языки
#Изменено хеширование паролей с md5 на password_hash
#Добавлена активация аккаунта по Email адресу
#Теперь если пользователь зарегистрировался через игру в сети pvpgn, то при первом входе на сайт движок сам внесет информацию в базу EPW. Индивидуальный пароль он так же генерирует на основе пароля sha1
#Исправлена ошибка когда при выключенной reCAPTCHA не работала регистрация
#При регистрации через pvpgn и первом входе на сайт будет предложено ввести секретное слово, выбрать страну и пол
#Добавлена функция статуса серверов
#Добавлены два режима для статуса серверов. d2realm=true — проверяет все сервера в разделе [status_server], если работают все [on.png], частично [war.png], отключены [off.png]. d2realm=false — проверка одного pvpgn
#В модераторскую добавлен раздел управления Категориями
#Исправлены ошибки замеченные в предыдущих версиях

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

32

Re: EngineProWeb && BNET APIs

Как быть при смене пароля через сайт? Нужно чтобы в PvPGN также изменялся на новый.
Как быть при смене пароля через PvPGN? При авторизации на сайте пароль требуется старый ведь, а не измененный посредством команды PvPGN сервера.

33

Re: EngineProWeb && BNET APIs

Serc wrote:

Как быть при смене пароля через сайт? Нужно чтобы в PvPGN также изменялся на новый.

Так и есть

Serc wrote:

Как быть при смене пароля через PvPGN? При авторизации на сайте пароль требуется старый ведь, а не измененный посредством команды PvPGN сервера.

Над этим нужно подумать

34

Re: EngineProWeb && BNET APIs

EngineProWeb v0.3.5

#Добавлена Web установка
#Исправлена опция отключения регистрации и формы входа
#Исправлены некоторые визуальные ошибки сообщений
#Исправлено неверное отображение рубрик -> категорий
#Исправлена ошибка с дублированием информации в таблице epw_BNET
#Добавлена возможность синхронизировать измененный пароль  в pvpgn с сайтом*
#Исправлены ошибки замеченные в предыдущих версия

* Как работает синхронизация пароля pvpgn с сайтом. Если пользователь сменил пароль в системе pvpgn то он не сможет войти на сайт при включенном индивидуальном хешировании password_hash ! При входе на сайт пользователя перебросит на страницу с сообщением «Пользователь или пароль неверный! Однако мы заметили совпадение с PVPGN системой !». Нажав на это сообщение вы сможете обновить свой пароль для сайта введя свой email и пройдя проверку с помощью ReCaptcha !

Загрузить

35

Re: EngineProWeb && BNET APIs

Developer site is dead so here you are v0.3.5

engineproweb-v0.3.5.zip  1335 Kb  (123)

36

Re: EngineProWeb && BNET APIs

печально но сайт не грузит

37 (edited by Miki 07.07.2020 20:45)

Re: EngineProWeb && BNET APIs

Новая система BNET APIs и написанный движок EPW с нуля
Позже дополню и опишу все возможности api
Все в шапке

38

Re: EngineProWeb && BNET APIs

Отлично:) А где сам движок?
Хочется попробовать под Warcraft подпилить.

39

Re: EngineProWeb && BNET APIs

Gh0ster wrote:

Отлично:) А где сам движок?
Хочется попробовать под Warcraft подпилить.

Пока что в процессе создания

40

Re: EngineProWeb && BNET APIs

Miki wrote:
Gh0ster wrote:

Отлично:) А где сам движок?
Хочется попробовать под Warcraft подпилить.

Пока что в процессе создания

Хорошо ждём:)

Posts: 40

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 0 guests, 0 registered users

forums.pvpgn.pro → 3d Party Tools → EngineProWeb && BNET APIs