PDA

Просмотр полной версии : php+L2


klemberg
26.06.2009, 15:07
Ребят, поделитесь мыслями, м.б. наработками...

Нужно написать скрипт на php, который будет входить определенным чаром в игру, считывать серию пакетов с информацией о составе/онлайне клана ... выходить из игры :)
Необходимости даже в некотором подобие бота пока нет.

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

AoWpwnz
26.06.2009, 18:46
врятли ктото даст:) тут могут помочь редактировать а так не

xkor
26.06.2009, 20:26
klemberg, РНР в состоянии зашифровать логин и пароль по RSA алгоритму 1024 битным ключом который придёт от логин сервера?, сильно сомневаюсь, так что даже не рыпайся...

alexteam
26.06.2009, 20:26
проще уломать администрацию на "служебную" страничку онлайна.
и парсить данные с нее.

klemberg
26.06.2009, 20:30
xkor, Спасибо, с этого и начну ;)

alexteam, поверь, уговорить не проще...

xkor
26.06.2009, 20:34
хм, оказывается с RSA в PHP вполне можно работать: http://xpoint.ru/forums/programming/PHP/thread/40125.xhtml
а вот BlowFish шифрования правильного в нете под PHP нет точно.., правда где то тут на форуме выложена его правильная реализация под PHP (но только шифрование, хотя дешифрование дописать по анологии - 5 минут)

alexteam
26.06.2009, 20:35
даешь плугин к апачу!

klemberg
26.06.2009, 20:41
даешь плугин к апачу!ага, в стандартной поставке.
реализация RSA есть - сбросят на днях реально используемую.
ищу BlowFish.
если не ошибаюсь, у php реализация BlowFish'а на каком-то этапе теряет алгоритм.

xkor
26.06.2009, 23:19
если не ошибаюсь, у php реализация BlowFish'а на каком-то этапе теряет алгоритм.не, там должно идти переполнение в одной 4хбайтовой целочисленной переменной, но PHP её при переполнении превращает в Int64 и переполнения не происходит...

Добавлено через 1 минуту
реализация RSA есть - сбросят на днях реально используемую.RSA реализованная не как модуль к PHP а как скрипт будет работать дико медленно...

klemberg
27.06.2009, 00:40
но PHPна каком-то этапе теряет алгоритмпо-моему это одно и то же...

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

В максимальном объеме это будет чар постоянно онлайн, мониторящий онлайн и состав клана, имеющий некоторые функции автоответчика, кидающий пару ПМов в минуту. М.б. еще и монитор РБ.
Но это реально максимум и п-мему не много.

да и работать скрипт будет на отдельной машине - фактически на загруженном на 4% по процессору и 7% по памяти дидике.

Добавлено через 2 минуты
или я таки ошибаюсь?

xkor
27.06.2009, 03:41
klemberg, ну RSA впринципе только при логине используется в одном только пакете, но всё равно если RSA реализовывать на основе какогонить PHP скрипта работающего с большими числами то шифровать логин с паролем он будет секунд 10, которые сервак может и не подождать...

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

klemberg
27.06.2009, 06:13
30 сек это дефолтный параметр пхп.
да и работать скрипт будет ... фактически на дидике.
так что этой проблемы нет.

Yegor
27.06.2009, 10:01
Ещё осталось только узнать как происходит авторизация на логин и гейм сервере нужного сервера. Где хоть использовать собираешься?

klemberg
27.06.2009, 17:24
lineage - game . ru

Yegor
28.06.2009, 16:04
Какой айпи ЛС и какие хроники, давай хоть проверим мжно ли туда залогиниться стандартными методами.

klemberg
06.07.2009, 11:15
Port=7777
ServerAddr=lgl.lineage-game.ru

инитерлюд. естессно, ява.
порты ГС - динамические. ГС - 10 IP на 3 сервера.

Yegor
06.07.2009, 12:13
klemberg, IP и порт ГС присылается в процессе аутентификации на ЛС в пакете:

ServerList

Формат:
XX XX // Длина
04 // Тип
XX // Количество серверов
XX // {номер LS}
[начало повторяющегося блока]
XX // ID сервера
XX XX XX XX // IP-аддресс GS
XX XX XX XX // Port GS
XX // возрастной лимит
XX // PVP сервер: 1-да, 0 - нет
XX XX // Количество игроков онлайн
XX XX // Максимальное количество игроков
XX // Статус сервера: 1-UP, 0-DOWN
XX XX XX XX // {Статус сервера}
XX // {Статус сервера}
[конец повторяющегося блока]
00 00 00
XX XX XX XX // чексумма
00 00 00 00

Так что это не проблема, а вот порт ЛС наверно все таки 2106.
На каком php сервере хочешь использовать программу, какой нибудь бесплатный?

klemberg
07.07.2009, 01:42
а вот порт ЛС наверно все таки 2106.прошу прощения, сам сейчас поселился на локальном сервере, у мну логин на 7777 :)

На каком php серверена воооон тоой машинке в углу кабинета :)
Железо там нормальное даже для форума с 5к хитов, только вот ОС - W2k3ES и от этого уйти не смогу.


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

Старшие, скажите свое мнение по этому поводу, а?

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

возможно, этот же механизм будет использоваться и в этом "типа боте".
согласен, реализация задумок на Дельфи будет более оптимальным вариантом, еслибы не одно но - PHP - второй разговорный, а вот Дельфи на уровне простого калькулятора и программы-парсера веб-страниц.

Yegor
07.07.2009, 11:06
klemberg, сделай связку delphi - для входа в мир и для отправки приема пакетов + php которая будет обслуживать сайт и взаимодействовать с программой написанной на delphi. В php я не шарю, вкратце раскажи на нем можно вызывать функции например из dll написанные на другом языке программирования? И есть ли там функции для работы напрямую с пакетами (не в тему я хочу попробовать на бесплатном каком нибудь хосте сделать мост для передачи пакетов между 2мя машинами не имеющих внешнего ip)?
Сейчас пока пробую залогиниться на lineage - game . ru стандартными средствами. Если не трудно кинь в личку какой нибудь пустой аккаунт оттуда, чтобы просто был создан любой чар. Нужно для теста.


Так порт на ЛС все таки 2106, давай скорее акк не начем проверять.

klemberg
08.07.2009, 10:36
Акк отправил в личку.
а нем можно вызывать функции например из dll
в принципе да, но написание таких длл - отдельный геммор)

Yegor
08.07.2009, 14:43
klemberg, я могу тебе сделать такую dll, а вот мутить на php rsa - это действительно гемор, поэтому лучше все таки это сделать на готовых библиотеках

Добавлено через 1 минуту
Акк отправил в личку.

в принципе да, но написание таких длл - отдельный геммор)

зы: в личке пусто

klemberg
09.07.2009, 16:47
еще раз проверь плиз.

Yegor, просто вызвать функции библиотеки в классическом понимании этого слова (как например в том же Дельфи) - нельзя.

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

Сейчас ищу варианты уже готовых расширений с RSA, но чем дальше тем больше склоняюсь к написанию ЭТОГО на Дельфи.

Yegor
09.07.2009, 19:42
klemberg, получил. Дай сслыку где взять пропатченный system для этого сервера. Логин сервер прохожу успешно а гейм сервер рвет соеденение после первого пакета. Нужно глянуть что там шлется.

klemberg
10.07.2009, 13:09
Линк на последний оф патч (систем+звуки+текстуры) у тебя в пм. + линк только на систем.

Yegor
10.07.2009, 14:15
Скачал. А какие хоть хроники?

klemberg
10.07.2009, 14:53
Скачал. А какие хоть хроники?
интерлюд....

Yegor
10.07.2009, 18:32
klemberg, спасибо не заметил

xenus
29.08.2009, 01:27
а чем все закнчилось то? Просто дико интересно :-D

Yegor
29.08.2009, 02:13
Вот что.
http://i032.radikal.ru/0908/df/1be949ee9b0ft.jpg (http://radikal.ru/F/i032.radikal.ru/0908/df/1be949ee9b0f.jpg.html)http://i012.radikal.ru/0908/cc/cdcad458b924t.jpg (http://radikal.ru/F/i012.radikal.ru/0908/cc/cdcad458b924.jpg.html)http://s59.radikal.ru/i165/0908/68/9ef83ab56135t.jpg (http://radikal.ru/F/s59.radikal.ru/i165/0908/68/9ef83ab56135.jpg.html)

Maxno
29.05.2010, 00:36
Вот что.
http://i032.radikal.ru/0908/df/1be949ee9b0ft.jpg (http://radikal.ru/F/i032.radikal.ru/0908/df/1be949ee9b0f.jpg.html)http://i012.radikal.ru/0908/cc/cdcad458b924t.jpg (http://radikal.ru/F/i012.radikal.ru/0908/cc/cdcad458b924.jpg.html)http://s59.radikal.ru/i165/0908/68/9ef83ab56135t.jpg (http://radikal.ru/F/s59.radikal.ru/i165/0908/68/9ef83ab56135.jpg.html)

хахах... не думал что где то засветится :)