Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 28

Тема: Протокол гейм-сервера

  1. #1
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию Протокол гейм-сервера

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

    Вобщем с протоколом сервера авторизации я разобрался
    Теперь я могу авторизоваться и получать SessionKey1 и SessionKey2

    Возникает проблема со второй частью (работа с гейм-сервером):

    Согласно найденному в инете:
    После установки соединения, клиент высылает пакет ProtocolVersion, содержащий версию протокола.
    Но, в одном источнике ( http://www.mmocom.ru/showthread.php?t=1760 ) описание такое:
    Код:
    00
    XX XX XX XX		// Версия протокола
    тут не указаны 2 байта длины, но они подразумеваются началом описания на этом сайте.

    В другом ( http://mmoworld.info/files/guide/pac...rotocolVersion )такое:
    Код:
    ProtocolVersion
    
    Формат:
    07 01           // Длина
    00              // Тип
    XX XX XX XX     // ProtocolVersion
    [далее идет массив-константа, который хз от чего зависит, у меня он такой:]
    09 07 54 56 03 09 0B 01 07 02 54 54 56 07 00 02
    55 56 00 51 00 53 57 04 07 55 08 54 01 07 01 53
    00 56 55 56 01 06 05 04 51 03 08 51 08 51 56 04
    54 06 55 08 02 09 51 56 01 53 06 55 04 53 00 56
    56 53 01 09 02 09 01 51 54 51 09 55 56 09 03 04
    07 05 55 04 06 55 04 06 09 04 51 01 08 08 06 05
    52 06 04 01 07 54 03 06 52 55 06 55 55 51 01 02
    04 54 03 55 54 01 57 51 55 05 52 05 54 07 51 51
    55 07 02 53 53 00 52 05 52 07 01 54 00 03 05 05
    08 06 05 05 06 03 00 0D 08 01 07 09 03 51 03 07
    53 09 51 06 07 54 0A 50 56 02 52 04 05 55 51 02
    53 00 08 54 04 52 56 06 02 09 00 08 03 53 56 01
    05 00 55 06 08 56 04 0D 06 07 52 06 07 04 0A 06
    01 04 54 04 00 05 02 04 54 00 09 52 53 05 04 01
    04 05 05 01 52 51 52 0D 06 51 08 09 54 53 00 0D
    01 02 03 54 53 01 05 03 08 56 54 07 02 54 0B 06
    что на самом деле правильно?
    И что подразумевается под ProtocolVersion? Значение, которое мы получили в пакете Init от логин-сервера? Или что-то другое?

  2. #2
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

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

  3. #3
    Участник форума Аватар для DavidBowie
    Регистрация
    11.09.2011
    Сообщений
    151

    По умолчанию

    не пойму чем этот пакет разобран
    как вариант попробовать снифить с помощью ethereal, и там разобрать пакет
    + XX XX XX XX // ProtocolVersion
    я так понемаю там тоже что написанное в hex'е
    по всей видимости перевести в двоичную систему счисления
    по второму точно не уверен, так как не когда подобным не замарачивался

  4. #4
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Насколько я знаю, этот "мусор" можно просто заполнить нулями, и все будет работать (могу ошибаться, но ог-боты так и поступают). Там кажется идет информация от геймгварда о валидности клиента и тому подобном. Я не могу указать конкретный источник, а может я вообще ошибаюсь... я эту тему ковырял очень очень давно.
    PS если заглянешь в исходники java-серверов, ты увидишь что они просто игнорируют эту информацию

  5. #5
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

    Цитата Сообщение от wanderlust Посмотреть сообщение
    Насколько я знаю, этот "мусор" можно просто заполнить нулями, и все будет работать (могу ошибаться, но ог-боты так и поступают). Там кажется идет информация от геймгварда о валидности клиента и тому подобном. Я не могу указать конкретный источник, а может я вообще ошибаюсь... я эту тему ковырял очень очень давно.
    PS если заглянешь в исходники java-серверов, ты увидишь что они просто игнорируют эту информацию
    Как оказалось у меня клиент отправляет такую же хрень, полностью не сверял, но визуально вроде совпадает.

    Код:
    ==============================================================================
    Packet ID: 32    TTL: 128
    Packet size: 303   bytes type: TCP
    Source IP      :  192.168.128.10: 3098
    Destination IP :    195.42.69.24: 7777
    ------------------------------ Packet dump -----------------------------------
    000000 45 00 01 2F BC 8A 40 00 | 80 06 F4 48 C0 A8 80 0A     E../..@....H....
    000010 C3 2A 45 18 0C 1A 1E 61 | 33 DA C5 3A 6E 52 01 CE     .*E..a3..:nR..
    000020 50 18 FF FF C1 B4 00 00 | 07 01 00 90 02 00 00 09     P...............
    000030 07 54 56 03 09 0B 01 07 | 02 54 54 56 07 00 02 55     .TV......TTV...U
    000040 56 00 51 00 53 57 04 07 | 55 08 54 01 07 01 53 00     V.Q.SW..U.T...S.
    000050 56 55 56 01 06 05 04 51 | 03 08 51 08 51 56 04 54     VUV....Q..Q.QV.T
    000060 06 55 08 02 09 51 56 01 | 53 06 55 04 53 00 56 56     .U...QV.S.U.S.VV
    000070 53 01 09 02 09 01 51 54 | 51 09 55 56 09 03 04 07     S.....QTQ.UV....
    000080 05 55 04 06 55 04 06 09 | 04 51 01 08 08 06 05 52     .U..U....Q.....R
    000090 06 04 01 07 54 03 06 52 | 55 06 55 55 51 01 02 04     ....T..RU.UUQ...
    000100 54 03 55 54 01 57 51 55 | 05 52 05 54 07 51 51 55     T.UT.WQU.R.T.QQU
    000110 07 02 53 53 00 52 05 52 | 07 01 54 00 03 05 05 08     ..SS.R.R..T.....
    000120 06 05 05 06 03 00 0D 08 | 01 07 09 03 51 03 07 53     ............Q..S
    000130 09 51 06 07 54 0A 50 56 | 02 52 04 05 55 51 02 53     .Q..T.PV.R..UQ.S
    000140 00 08 54 04 52 56 06 02 | 09 00 08 03 53 56 01 05     ..T.RV......SV..
    000150 00 55 06 08 56 04 0D 06 | 07 52 06 07 04 0A 06 01     .U..V....R......
    000160 04 54 04 00 05 02 04 54 | 00 09 52 53 05 04 01 04     .T.....T..RS....
    000170 05 05 01 52 51 52 0D 06 | 51 08 09 54 53 00 0D 01     ...RQR..Q..TS...
    000180 02 03 54 53 01 05 03 08 | 56 54 07 02 54 0B 06        ..TS....VT..T..
    ProtocolVersion получается, что вот эти 4 байта. 90 02 00 00
    В принципе вроде все, но хотелось бы знать физический смысл этого самого ProtocolVersion

  6. #6
    Почётный участник Аватар для Harvester
    Регистрация
    20.04.2009
    Сообщений
    767

    По умолчанию

    Протокол 656, если я понимаю о чем речь. Если у вас есть волкер или есть декриптер файлов клиента, то там он и написан..

  7. #7
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Цитата Сообщение от glukmaker Посмотреть сообщение
    Как оказалось у меня клиент отправляет такую же хрень, полностью не сверял, но визуально вроде совпадает.

    Код:
    ==============================================================================
    Packet ID: 32    TTL: 128
    Packet size: 303   bytes type: TCP
    Source IP      :  192.168.128.10: 3098
    Destination IP :    195.42.69.24: 7777
    ------------------------------ Packet dump -----------------------------------
    000000 45 00 01 2F BC 8A 40 00 | 80 06 F4 48 C0 A8 80 0A     E../..@....H....
    000010 C3 2A 45 18 0C 1A 1E 61 | 33 DA C5 3A 6E 52 01 CE     .*E..a3..:nR..
    000020 50 18 FF FF C1 B4 00 00 | 07 01 00 90 02 00 00 09     P...............
    000030 07 54 56 03 09 0B 01 07 | 02 54 54 56 07 00 02 55     .TV......TTV...U
    000040 56 00 51 00 53 57 04 07 | 55 08 54 01 07 01 53 00     V.Q.SW..U.T...S.
    000050 56 55 56 01 06 05 04 51 | 03 08 51 08 51 56 04 54     VUV....Q..Q.QV.T
    000060 06 55 08 02 09 51 56 01 | 53 06 55 04 53 00 56 56     .U...QV.S.U.S.VV
    000070 53 01 09 02 09 01 51 54 | 51 09 55 56 09 03 04 07     S.....QTQ.UV....
    000080 05 55 04 06 55 04 06 09 | 04 51 01 08 08 06 05 52     .U..U....Q.....R
    000090 06 04 01 07 54 03 06 52 | 55 06 55 55 51 01 02 04     ....T..RU.UUQ...
    000100 54 03 55 54 01 57 51 55 | 05 52 05 54 07 51 51 55     T.UT.WQU.R.T.QQU
    000110 07 02 53 53 00 52 05 52 | 07 01 54 00 03 05 05 08     ..SS.R.R..T.....
    000120 06 05 05 06 03 00 0D 08 | 01 07 09 03 51 03 07 53     ............Q..S
    000130 09 51 06 07 54 0A 50 56 | 02 52 04 05 55 51 02 53     .Q..T.PV.R..UQ.S
    000140 00 08 54 04 52 56 06 02 | 09 00 08 03 53 56 01 05     ..T.RV......SV..
    000150 00 55 06 08 56 04 0D 06 | 07 52 06 07 04 0A 06 01     .U..V....R......
    000160 04 54 04 00 05 02 04 54 | 00 09 52 53 05 04 01 04     .T.....T..RS....
    000170 05 05 01 52 51 52 0D 06 | 51 08 09 54 53 00 0D 01     ...RQR..Q..TS...
    000180 02 03 54 53 01 05 03 08 | 56 54 07 02 54 0B 06        ..TS....VT..T..
    ProtocolVersion получается, что вот эти 4 байта. 90 02 00 00
    В принципе вроде все, но хотелось бы знать физический смысл этого самого ProtocolVersion
    Назначение пакета - сообщить серверу о твоей версии протокола А что сервер с этой инфой будет делать - какое твое дело? Ты пишешь эмулятор >>клиента<<. У тебя есть на руках документация протокола (считай API) для работы с сервером. Вот и следуй ему, и не лезь в дебри. Если разработчики сервера включили это в протокол, значит со стороны сервера он где-то используется. Самое очевидное - проверка валидности клиента. Если версии протоколов сервера и клиента не совпадают, такого клиента надо отклонить, т.к. они не смогут нормально общаться. Либо можно для разных версий протокола использовать различный набор команд. Короче это все уже забота разработчиков сервера, а не разработчика клиента (тобишь тебя).

  8. #8
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

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

  9. #9
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Вот тебе назначение пакета: http://trac.l2jserver.com/browser/tr...olVersion.java
    Мусор после номера протокола тупо игнорируется.
    Можно, кстати, использовать как защиту от ботов

  10. #10
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Цитата Сообщение от glukmaker Посмотреть сообщение
    Ну вобщем пока решил пакет ProtocolVersion оставить в том виде в каком его передает клиент, и не пытаться понять его суть...
    Вернее насчет того, что клиент передает серверу информацию о своем протоколе - понятно.
    Непонятно только смысл передаваемых 256 байт данных, начиная с 8-го... И непонятно то, почему у сервера своя нумерация протоколов, а у клиента своя... Ведь протокол - это вроде нечто общее, определяющее правила взаимодействия клиента и сервера.
    Потому что протоколов много, для разных версий клиента они свои. Ты же не думаешь, что клиентом от С4 можно зайти на сервер С5? Попробуй. Ты сможешь залогиниться и дойти до выбора сервера, но как только выберешь сервер тебя выкинет. Это как раз из-за отправки пакета ProtocolVersion и несоответствия протоколов клиента и сервера.

  11. #11
    Администратор Аватар для abyse
    Регистрация
    11.01.2008
    Сообщений
    4,543

    По умолчанию

    Цитата Сообщение от wanderlust Посмотреть сообщение
    Потому что протоколов много, для разных версий клиента они свои. Ты же не думаешь, что клиентом от С4 можно зайти на сервер С5? Попробуй. Ты сможешь залогиниться и дойти до выбора сервера, но как только выберешь сервер тебя выкинет. Это как раз из-за отправки пакета ProtocolVersion и несоответствия протоколов клиента и сервера.
    Не только, в разных хрониках разные опкоды пакетов. Версия протокола 656 на сегодняшний день у нас, возможно после обновления патча перейдем на 660.

    Подцепи хлапу и посмотри пакеты, там все просто. Паковку пакетов посмотри на сайте l2j, там много об этом расписано. Очень надеюсь что пишешь на с++, можно будет сделать потом хорошего трейд бота и баф бота, а волкер и прочее закрыть вовсе.
    Администрация Сервера Draconic.Ru

  12. #12
    Новичок
    Регистрация
    15.09.2011
    Сообщений
    91

    По умолчанию

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

    Подцепи хлапу и посмотри пакеты, там все просто. Паковку пакетов посмотри на сайте l2j, там много об этом расписано. Очень надеюсь что пишешь на с++, можно будет сделать потом хорошего трейд бота и баф бота, а волкер и прочее закрыть вовсе.
    Типо аналога трейд бота от Хинта? (кстати, какова была его цена?)

  13. #13
    Администратор Аватар для abyse
    Регистрация
    11.01.2008
    Сообщений
    4,543

    По умолчанию

    Цитата Сообщение от lainbh Посмотреть сообщение
    Типо аналога трейд бота от Хинта? (кстати какова была его цена?)
    Да, только по симпотичней и поудобней. Если покупать у него защиту клиента, то 100$, если не покупать, то 200$. Защита клиента нам его не нужна, с ней на многих операционках куча проблем. А 200$ честно говоря жалко, зная, что это вполне можно сделать самим и не так как у "всех".
    Администрация Сервера Draconic.Ru

  14. #14
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

    Вобщем дошел до отправки пакета RequestAuthLogin
    Первоначально сервер меня выкидывал, но теперь уже шлет какие-то данные (разборкой еще не занялся), но судя по размеру (330 байт) и ид пакета=$13 это CharacterSelectionInfo

    Но, в пакете RequestAuthLogin пробовал подставлять неверные Sessionkey, а сервер все равно мне не выкидывает, а шлет CharacterSelectionInfo
    Это уже настораживает... Хотя может я пока что-то не так делаю...

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

    Очень надеюсь что пишешь на с++,
    Если этот вопрос предназначался мне - то нет, пишу на Delphi

  15. #15
    Администратор Аватар для abyse
    Регистрация
    11.01.2008
    Сообщений
    4,543

    По умолчанию

    Цитата Сообщение от glukmaker Посмотреть сообщение
    Вобщем дошел до отправки пакета RequestAuthLogin
    Первоначально сервер меня выкидывал, но теперь уже шлет какие-то данные (разборкой еще не занялся), но судя по размеру (330 байт) и ид пакета=$13 это CharacterSelectionInfo

    Но, в пакете RequestAuthLogin пробовал подставлять неверные Sessionkey, а сервер все равно мне не выкидывает, а шлет CharacterSelectionInfo
    Это уже настораживает... Хотя может я пока что-то не так делаю...

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



    Если этот вопрос предназначался мне - то нет, пишу на Delphi
    Ничего не будет, наоборот может найдешь что пофиксить. CharacterSelectionInfo это чары на акке и их шмотки для отображения. дальше надо выбирать чара. Sessionkey без гг толку не дает насколько я помню.

    Как я понимаю стадию авторизации ты уже реализовал ?

    Жаль делфи, но это потом и переписать можно
    Администрация Сервера Draconic.Ru

  16. #16
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

    Цитата Сообщение от abyse Посмотреть сообщение
    Ничего не будет, наоборот может найдешь что пофиксить. CharacterSelectionInfo это чары на акке и их шмотки для отображения. дальше надо выбирать чара. Sessionkey без гг толку не дает насколько я помню.

    Как я понимаю стадию авторизации ты уже реализовал ?

    Жаль делфи, но это потом и переписать можно
    Авторизацию на логин-сервере реализовал...
    Сейчас воюю с гейм-сервером...
    Пока далее получения CharacterSelectionInfo не продвинулся.
    Возможно неправильно реализовал изменение XOR-ключа при приеме очередного пакета... Буду проверять...

  17. #17
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Поковыряйся в исходниках java серверов. Там готовый класс отвечающий за шифрование.
    P.S. Delphi уже отжил свое... жаль что ты выбрал его.

  18. #18
    Новичок
    Регистрация
    16.08.2011
    Сообщений
    40

    По умолчанию

    Цитата Сообщение от abyse Посмотреть сообщение
    Да, только по симпотичней и поудобней. Если покупать у него защиту клиента, то 100$, если не покупать, то 200$. Защита клиента нам его не нужна, с ней на многих операционках куча проблем. А 200$ честно говоря жалко, зная, что это вполне можно сделать самим и не так как у "всех".
    Его защита не работает под wine, что очень печально Вот такой крит ловлю при попытке войти в игру - http://cl.ly/023Q0b1Y1I1r061I101H. Пришлось ставить windows в дуалбут.

  19. #19
    Почётный участник Аватар для glukmaker
    Регистрация
    13.05.2010
    Сообщений
    1,159

    По умолчанию

    Цитата Сообщение от wanderlust Посмотреть сообщение
    Поковыряйся в исходниках java серверов. Там готовый класс отвечающий за шифрование.
    P.S. Delphi уже отжил свое... жаль что ты выбрал его.
    Ну я пишу на том, на чем мне удобнее...
    А с точки зрения написания подобного рода программ - абсолютно все ранвно на чем писать, на том, что отжило, или на том, что не отжило...

    Вот чего пока добился (все операции пока логирую):

    Код:
    Соединяемся с логин-сервером
    Получены данные длиной 11 байт
    Полученный пакет имеет тип = 0
    Получен пакет Init
    SessionId=219B2461
    Ревизия протокола 0000785A
    Отправляем пакет RequestAuthLogin
    Получены данные длиной 50 байт
    расшифровываем полученные данные в BlowFish
    Полученный пакет имеет тип = 3
    Получен пакет LoginOK
    sessionkey1 first part  =000035EC
    sessionkey1 second part =219B2461
    Отсылаем пакет RequestServerList
    Получены данные длиной 58 байт
    расшифровываем полученные данные в BlowFish
    Полученный пакет имеет тип = 4
    Получен пакет ServerList len=58
    Кол-во серверов = 2
    Сервер N=0 ====================
    ID сервера =1
    IP-Адрес Гейм сервера 18452AC3 ( 195.42.69.24 )
    Порт Гейм сервера =7777
    Возрастной лимит = 0
    ПВП сервер =1 (1-да, 0-нет)
    Кол-во игроков онлайн =612
    Максимальный онлайн =1000
    Статус сервера =1 (1-UP, 0-DOWN)
    Статус сервера 2 =0 (непонятно что это)
    Статус сервера 3 =21 (непонятно что это)
    Сервер N=1 ====================
    ID сервера =2
    IP-Адрес Гейм сервера F4A207C3 ( 195.7.162.244 )
    Порт Гейм сервера =7777
    Возрастной лимит = 0
    ПВП сервер =1 (1-да, 0-нет)
    Кол-во игроков онлайн =0
    Максимальный онлайн =0
    Статус сервера =0 (1-UP, 0-DOWN)
    Статус сервера 2 =0 (непонятно что это)
    Статус сервера 3 =21 (непонятно что это)
    Отсылаем пакет RequestServerLogin
    Получены данные длиной 26 байт
    расшифровываем полученные данные в BlowFish
    Полученный пакет имеет тип = 7
    Получен пакет PlayOK
    SessionKey2FP=00002F60
    SessionKey2SP=000035EC
    дисконект
    нужно запускать соединение с гейм-сервером
    конект
    Отправляем на сервер пакет ProtocolVersion
    Получены данные длиной 16 байт
    Полученный пакет имеет тип = 0
    Получен пакет FirstKey
    FirstKey XOR =XXXXXXXX  
    Формируем пакет RequestAuthLogin
    
    2F 00 08 XX XX XX XX XX XX XX XX XX XX XX XX XX  
    XX XX XX XX XX XX XX XX XX 00 00 EC 35 00 00 60 
    2F 00 00 EC 35 00 00 61 24 9B 21 01 00 00 00 
    Этот же пакет зашифрованный XOR
    
    2F 00 18 3B 3B 57 F6 EF BB 57 47 77 77 05 A4 A9 
    FD 1E 0E 2F 2F 5D FC A1 F5 72 62 CA FF FF 5E 52 
    29 AE BE 16 23 23 82 8F FF E3 D2 97 97 97 36 
    отправляем на сервер RequestAuthLogin
    Получены данные длиной 330 байт
    Полученный пакет имеет тип = 19
    Получено 330
    
    4A 01 13 01 00 00 00 XX XX XX XX XX XX XX XX XX
    XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
    XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
    XX XX 00 00 00 EC 35 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 04 00 00 00 35 00 00 00 01 00 00 
    00 28 B8 01 00 2A 37 00 00 58 27 00 00 76 E0 9C 
    11 A5 65 73 40 CB 32 C4 B1 2E AE 58 40 FE 01 00 
    00 AE 8A 00 00 09 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 5C 9F 7B 00 5D 9F 7B 00 5E 9F 7B 
    00 60 9F 7B 00 5F 9F 7B 00 2F 9F 7B 00 CE B1 28 
    00 02 97 28 00 2D 9F 7B 00 2C 9F 7B 00 0C 0A 29 
    00 2E 9F 7B 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 4E 03 00 00 4E 03 00 00 8D 03 00 
    00 6E 03 00 00 6E 03 00 00 7C 04 00 00 57 00 00 
    00 14 00 00 00 33 00 00 00 1A 00 00 00 22 00 00 
    00 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 03 00 00 00 01 00 00 00 76 E0 9C 
    11 A5 65 73 40 CB 32 C4 B1 2E AE 58 40 00 00 00 
    00 35 00 00 00 01 00 00 00 00 
    Посылаем пакет выбора чара
    
    15 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX
    XX XX XX XX XX 
    Ошибка: 10053
    дисконект
    на XX заменено то, что не всем нужно знать.

    Вот только при отсылке пакета выбора чара сервер меня дисконектит..

  20. #20
    Администратор Аватар для abyse
    Регистрация
    11.01.2008
    Сообщений
    4,543

    По умолчанию

    Цитата Сообщение от wanderlust Посмотреть сообщение
    Поковыряйся в исходниках java серверов. Там готовый класс отвечающий за шифрование.
    P.S. Delphi уже отжил свое... жаль что ты выбрал его.
    Отжить то отжил, только это не мешает университетам парить им мозги. Как сказал один препод по программированию - паскаль (и делфи) вреден современным программистам для изучения.
    Администрация Сервера Draconic.Ru

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
TAG.Hosting — Хостинг сайтов и Регистрация Доменов