↑ ↓

Расшифровка пакетов в Lineage 2

Тема в разделе "Разработка Essence", создана пользователем Matey, 4 фев 2015.

  1. TopicStarter Overlay
    Offline

    Matey Младший сержант Команда форума Администратор

    838
    164
    108
    Кредиты:
    $1.238,56
    Репутация:
    44
    Содержание

    1. Общие сведения
    2. Пакеты Client -> Login Server
    3. Пакеты Login Server -> Client
    4. Пакеты Game Server -> Client
    5. Пакеты Client -> Game Server

    1. Общие сведения

    Каждый пакет состоит из размера пакета(2 байта), типа пакета(1 байт) и блока параметров(переменная длина). В дополнение к этому, в пакетах сервера
    авторизации, в конце добавляется контрольная сумма и дополняется нулями так, чтобы размер пакета был кратен 8-ми байтам. Контрольная сумма может
    быть рассчитана следующей функцией:

    unsigned long checksum( unsigned char *packet, int count )
    {
    long chksum = 0L;
    for( int i = 0; i < count; i += 4 ) chksum ^= *((unsigned long *)&raw);
    return chksum;
    };


    Протокол lineage использует 6 разных типов данных:

    char – может принимать значение от -128 до 127. Имеет длину 1 байт
    short – может принимать значение от -32768 до 32767. Имеет длину 2 байта
    int – может принимать значение от -2147483648 до 2147483647. Имеет длину 4 байта
    int64 – может принимать значение от -9223372036854775808 до 9223372036854775807. Имеет длину 8 байт.
    float – может принимать значение от 2.22507e-308 до 1.79769e+308. Имеет длину 8 байт
    string – текстовая строка в юникоде(UTF8). Каждая буква представлена двумя байтами, первый байтом код буквы, а второй –
    номер кодовой таблицы. Индикатором конца строки служит символ с кодом 0.


    Примечание: Для тех кто незнаком с принципом хранения данных в памяти ПК уточню, байты идут в обратном порядке. Т.е. если нам нужно записать
    в пакет число 10 представленное типом int, то мы должны:

    1) перевести его в шестнадцатеричную систему счисления – получим 00 00 00 0a
    2) обратить порядок байт в слове – получаем 0a 00 00 00

    Пакеты сервера авторизации шифруются по алгоритму Blowfish. Стандартный ключ по умолчанию в 4-х хрониках:
    5F 3B 35 2E 5D 39 34 2D 33 31 3D 3D 2D 25 78 54 21 5E 5B 24. К концу ключа прибавляется символ с кодом 0. В Interlude тип шифрования был изменен - пакет
    Init содержит динамический Blowfish ключ случайно генерируемый для каждого клиента. Этот пакет сначала шифруется по алгоритму XOR(ключ генерируется
    случайным образом и помещается в конце пакета), а потом шифруется по алгоритму Blowfish, статическим ключом. По умолчанию статический ключ -
    6B 60 CB 5B 82 CE 90 B1 CC 2B 6C 55 6C 6C 6C 6C. Все последующие пакеты будут шифроваться динамическим Blowfish ключом. Пакет LoginRequest дополнительно
    шифруется по алгоритму RSA. Ключ состоит из следующих частей: B = 1024, E = 65537, N = передается в пакете Init. Вместе эти 3 части составляют целый RSA
    ключ. Байты N в пакете зашифрованы функцией:

    void scrambleMod( char *n )
    {
    typedef unsigned char byte;
    int i;

    for( i=0; i<4; i++ ) {
    byte temp = n[0x00 + i];
    n[0x00 + i] = n[0x4d + i];
    n[0x4d + i] = temp;
    };

    // step 2 xor first 0x40 bytes with last 0x40 bytes
    for( i=0; i<0x40; i++ ) {
    n = (byte)(n ^ n[0x40 + i]);
    };

    // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38
    for( i=0; i<4; i++ ) {
    n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]);
    };

    // step 4 xor last 0x40 bytes with first 0x40 bytes
    for( i=0; i<0x40; i++ ) {
    n[0x40 + i] = (byte)(n[0x40 + i] ^ n);
    };
    };

    Для расшифровки можно воспользоваться следующей функцией:

    void unscrambleMod( char *n )
    {
    typedef unsigned char byte;
    int i;

    // step 4 xor last 0x40 bytes with first 0x40 bytes
    for( i=0; i<0x40; i++ ) {
    n[0x40 + i] = (byte)(n[0x40 + i] ^ n);
    };

    // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38
    for( i=0; i<4; i++ ) {
    n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]);
    };

    // step 2 xor first 0x40 bytes with last 0x40 bytes
    for( i=0; i<0x40; i++ ) {
    n = (byte)(n ^ n[0x40 + i]);
    };

    for( i=0; i<4; i++ ) {
    byte temp = n[0x00 + i];
    n[0x00 + i] = n[0x4d + i];
    n[0x4d + i] = temp;
    };
    };

    Также есть сервера использующие старый протокол авторизации(ревизия 785a) который не шифрует пакет Init, а остальные шифрует Blowfish
    ключом длинной 21 байт. При этом пакет LoginRequest шифруется только по алгоритму Blowfish, без дополнительного шифрования RSA.
    Для шифрования пакетов гейм сервера используется алгоритм XOR. Ключ XOR генерируется случайно и передается клиенту в пакете CryptInit. Функции
    шифрования и дешифрации приведены ниже:

    /* Декодирует данные */
    void decrypt( unsigned char *data, unsigned int len, unsigned char *Key )
    {

    int temp = 0;

    for( unsigned int i = 0; i < len; ++i ) {
    int temp2 = data & 0xff;
    data = (temp2 ^ (Key[i & 15] & 0xff) ^ temp);
    temp = temp2;
    };



    int old = Key[8] & 0xff;
    old |= (Key[9] << 0x08) & 0xff00;
    old |= (Key[10] << 0x10) & 0xff0000;
    old |= (Key[11] << 0x18) & 0xff000000;

    old += len;

    Key[8] = old &0xff;
    Key[9] = (old >> 0x08) & 0xff;
    Key[10] = (old >> 0x10) & 0xff;
    Key[11] = (old >> 0x18) & 0xff;
    };

    /* Кодирует данные */
    void encrypt( unsigned char *data, unsigned int len, unsigned char *Key )
    {
    int temp = 0;

    for( unsigned int i = 0; i < len; i++) {
    int temp2 = data & 0xff;
    data = (temp2 ^ (Key[i & 15] & 0xff) ^ temp);
    temp = data;
    };

    int old = Key[8] & 0xff;
    old |= (Key[9] << 0x08) & 0xff00;
    old |= (Key[10] << 0x10) & 0xff0000;
    old |= (Key[11] << 0x18) & 0xff000000;

    old += len;

    Key[8] = old &0xff;
    Key[9] = (old >> 0x08) & 0xff;
    Key[10] = (old >> 0x10) & 0xff;
    Key[11] = (old >> 0x18) & 0xff;
    };


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

    Во первых сразу замечу что существует две ревизии протокола использующиеся на данный момент(может и больше но мне о них не известно) - c621 и 785a.
    Отличие их в том что в c621 используется дополнительное шифрование и авторизация GameGuard. Пакеты Init и RequestAuthLogin также отличаются.
    Определить версию можно по размеру пакета Init, для ревизии 785a он составляет 11 байт, для c621 – 170.

    1. Сразу после установки соединения сервер отправляет клиенту пакет Init
    2. В ответ на него клиент отправляет пакет RequestGGAuth(в ревизии протокола 785a этот пакет не высылается)
    3. Сервер отвечает на него пакетом GGAuth (в ревизии протокола 785a этот пакет не высылается)
    4. Если сервер ответил, что авторизация прошла успешно, то клиент высылает пакет RequestAuthLogin, содержащий логин и пароль.
    5. Проверка логина и пароля, в случае неудачи, сервер высылает пакет LoginFail содержащий причину неудачи, инатче высылается пакет LoginOk, содержащий
    session key #1.
    6. Далее клиент запрашивает список серверов пакетом RequestServerList
    7. В ответ на этот пакет сервер высылает клиенту ServerList, в нем содержиться список серверов и их IP адреса с номерами портов.
    8. После выбора game-сервера, и нажатия на ОК, клиент отсылает пакет RequestServerLogin
    9. Сервер авторизации выполняет проверки на максимальное количество игроков, доступность сервера и т.п., если все проверки пройдены, то высылает пакет
    PlayOk,содержащий session key #2, этот ключь генерируется из текущего времени системы в мс, номера сокета и еще всякой лабуды. После этого клиент
    отключается от логин сервера и подключается к гейм серверу.
    Порядок авторизации на гейм сервере

    1. После установки соединения, клиент высылает пакет ProtocolVersion, содержащий версию протокола.
    2. Сервер высылает пакет CryptInit, содержащий XOR ключ которым будут шифроваться все следующие пакеты.
    3. Клиент высылает пакет AuthLogin выбраному серверу, содержащий session key #1, session key #2 и логин. При несовпадении с теми ключами и логином,
    что храняться на сервере авторизации клиент отключается.
    4. Сервер высылает пакет CharList, содержащий список всех чаров на аккаунте.
    5. Тут идет процесс создания/удаления и выбора чара, после того как чар выбран и нажата кнопка Start, клиент отправляет пакет CharacterSelected
    6. Клиент отправляет 2 пакета - RequestQuestList и RequestExManorList
    7. Сервер высылает пакет ExSendManorList
    8. Сервер высылает пакет QuestList
    9. Клиент отправляет пакет EnterWorld
    10. Сервер отправляет пакет UserInfo, который также служит сигналом окончания загрузки.
    11. Все мы в игре. Сервер с периодичностью 60 секунд высылает пакет NetPingRequest, на который клиент должен ответить пакетом NetPing

    В описании пакетов будут встречаться ObjectID и ItemID, ItemID это идентификатор типа предмета, например у авадон робы он 2406. А ObjectID это
    уникальный идентификатор самого предмета в игре. Например у двух чаров есть авадон роба, ItemID робы у каждого из них будет одинаковый - 2406, тогда
    как ObjectID будет уникальным.


    2. Пакеты от клиетна серверу (Login Server)

    00 - RequestAuthLogin
    02 - RequestServerLogin
    05 - RequestServerList
    07 - RequestGGAuth



    RequestAuthLogin

    Назначение: запрашивает авторизацию на логин сервере
    Формат для ревизии 0x785a:
    00
    XX XX XX XX 00 // строка содержащая логин. Имеет длинну 14 байт и храниться в формате ASCII а не UNICODE !!!
    XX XX XX XX 00 // строка содержащая пароль. Имеет длинну 16 байт и храниться в формате ASCII а не UNICODE !!!
    08 // маркер конца секции логин/пароль
    00 00 00 00 // не используется
    00 00 00 00 // не используется

    Формат для ревизии 0xc621:
    00
    00 00 00 00 ... // Начало массива из 128 байт содержащих логин и пароль, и шифрующихся по алгоритму RSA
    ... (байты 94-107) // строка содержащая логин. Имеет длинну 14 байт и храниться в формате ASCII а не UNICODE !!!
    ... (байты 108-124) // строка содержащая пароль. Имеет длинну 16 байт и храниться в формате ASCII а не UNICODE !!!
    ... 00 00 00 00 // не используется. Конец массива

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





    RequestServerLogin

    Назначение: запрашивает подключение к гейм серверу
    Формат:
    02
    XX XX XX XX // SessionKey1 первая часть
    XX XX XX XX // SessionKey1 вторая часть
    XX // номер сервера





    RequestServerList

    Назначение: запрашивает список game серверов
    Формат:
    05
    XX XX XX XX // SessionKey1 часть 1
    XX XX XX XX // SessionKey1 часть 2
    04 00 00 00 // хз





    RequestGGAuth

    Назначение: запрашивает Game Guard авторизицию
    Формат:
    07
    XX XX XX XX // ID сессии
    XX XX XX XX // неизвестно
    XX XX XX XX // неизвестно
    XX XX XX XX // неизвестно
    XX XX XX XX // неизвестно





    3. Пакеты от сервера клиенту (Login Server)

    00 - Init
    01 - LoginFail
    02 - AccountKicked
    03 - LoginOk
    04 - ServerList
    06 - PlayFail
    07 - PlayOk
    0B - GGAuth



    Init


    Назначение: передает клиенту номер сессии и номер соединения, в случае ревизии c621 передается также модуль RSA ключа, и динамический токен
    (Используеться в Interlude, но по идее возможно и в более старых версиях хроник)
    Формат для ревизии протокола 0x785a:
    00
    XX XX XX XX // ID сессии
    XX XX XX XX // Версия протокола 0x785a

    Формат для ревизии протокола 0xc621:
    00
    XX XX XX XX // ID сессии
    XX XX XX XX // Версия протокола 0xc621
    XX XX XX XX ... // 128 байт публичного ключа, которым в последствии клиент шифрует пакет RequestAuthLogin
    29 DD 95 4E // \
    77 C3 9C FC // | хз что
    97 AD B6 20 // |
    07 BD E0 F7 // /
    XX XX XX XX ... // 16 байт blowfish ключа которым шифруются все последующие пакеты
    00
    XX XX XX XX // контрольная сумма пакета

    Пакет для Interlude содержит дополнительные 4 байта:
    XX XX XX XX // XOR ключ которым зашифрован пакет



    LoginFail

    Назначение: сообщает о неудачной попытке подключения к логин серверу
    Формат:
    01
    XX XX XX XX // причина неудачи:
    // 0x01 - системная ошибка
    // 0x02 - неправельный пароль
    // 0x03 - логин или пароль неверен
    // 0x04 - доступ запрещен
    // 0x05 - информация на аккаунте неверна(хз, наверно имеется ввиду ошибка в БД)
    // 0x07 - аккаунт уже используется
    // 0x09 - аккаунт забанен
    // 0x10 - на сервере идут сервисные работы
    // 0x12 - срок действия истек
    // 0x13 - на аккаунте не осталось больше времени (видимо NCSoft собирается или собиралось заморочить и почасовую оплату :)






    AccountKicked

    Назначение: сообщает клиенту, что аккаунт заблокирован
    Формат:
    02
    XX XX XX XX // причина неудачи:
    // 0x01 - data stealer
    // 0x08 - generic violation
    // 0x10 - прошло 7 дней (для trial акков ?)
    // 0x20 - Аккаунт забанен





    LoginOk

    Назначение: высылается в подтсверждение на пакет RequestAuthLogin, в случае успешной проверки логина и пароля.
    Формат:
    03
    XX XX XX XX // SessionKey1 первая часть
    XX XX XX XX // SessionKey1 вторая часть
    00 00 00 00
    00 00 00 00
    EA 03 00 00
    00 00 00 00
    00 00 00 00
    02 00 00 00
    XX XX XX XX ... // массив из 16 байт, назначение неизвестно



    ServerList

    Назначение: передает клиенту список серверов и их состояние
    Формат:
    04
    XX // количество серверов в списке
    00 // неиспользуется или зарезервировано

    // Следующий блок повторяется для каждлого сервера в списке

    XX // ID сервера
    XX XX XX XX // IP аддрес гейм сервера
    XX XX XX XX // порт сервера
    XX // возрастной лимит
    XX // PVP сервер: 00 - нет, 01 - да
    XX XX // количество игроков онлайн
    XX XX // максимальное количество игроков
    XX // тестовый сервер: 00 - нет, 01 - да
    // Конец повторяющегося блока






    PlayFail

    Назначение: ответ на запрос авторизации на game-сервере
    Формат:
    06
    XX XX XX XX // причина отказа
    // 0x00000003 - Пароль не подходит к аккаунту
    // 0x00000004 - Access failed. Please try agen later
    // 0x0000000f - Слишком много пользователей






    PlayOk

    Назначение: ответ на запрос авторизации на game-сервере
    Формат:
    07
    XX XX XX XX // SessionKey2 первая часть
    XX XX XX XX // SessionKey2 вторая часть





    GGAuth

    Назначение: ответ на запрос GameGuard авторизации
    Формат:
    0B
    XX XX XX XX // ответ:
    // 0x0B - Пропустить авторизацию






    4. Пакеты от сервера клиенту (Game Server)

    00 - CryptInit
    01 - MoveToLocation
    04 - UserInfo
    0E - StatusUpdate
    13 - CharList
    14 - AuthLoginFail
    19 - CharCreateOk
    1A - CharCreateFail
    23 - CharDeleteOk
    24 - CharDeleteFail
    25 - ActionFailed
    2F - ChangeWaitType
    38 - TeleportToLocation
    3E - ChangeMoveType
    7E - LogoutOK
    80 - QuestList
    D3 - NetPingRequest
    AF - ServerSocketClose
    E1 - ChairSit
    FE:1B - ExSendManorList



    CryptInit

    Назначение: передает клиенту ключ шифрования(XOR)
    Формат:
    00
    01 // неизветсно
    XX XX XX XX ... // Массив длинной 16 байт - ключ XOR
    01 00 00 00 // неизветсно
    01 00 00 00 // неизветсно





    MoveToLocation

    Назначение: сообщает клиенту что чар переместился
    Формат:
    01
    XX XX XX XX // ID объекта
    XX XX XX XX // Точка назначения X
    XX XX XX XX // Точка назначения Y
    XX XX XX XX // Точка назначения Z
    XX XX XX XX // Текущее положение X
    XX XX XX XX // Текущее положение Y
    XX XX XX XX // Текущее положение Z





    UserInfo

    Назначение: сообщает клиенту статы персоонажа
    Формат:
    04
    XX XX XX XX // координата x местоположения чара
    XX XX XX XX // координата y местоположения чара
    XX XX XX XX // координата z местоположения чара
    XX XX XX XX // угол поворота головы
    XX XX XX XX // ObjectID чара
    XX XX XX XX 00 00 // строка с именем чара
    XX XX XX XX // идентификатор рассы
    XX XX XX XX // пол чара 0 - Male 1 - female
    XX XX XX XX // идентификатор класса
    XX XX XX XX // уровень
    XX XX XX XX // Exp
    XX XX XX XX // STR
    XX XX XX XX // DEX
    XX XX XX XX // CON
    XX XX XX XX // INT
    XX XX XX XX // WIT
    XX XX XX XX // MEN
    XX XX XX XX // Максимальное HP
    XX XX XX XX // Текущее HP
    XX XX XX XX // Максимальное MP
    XX XX XX XX // Текущее MP
    XX XX XX XX // SP
    XX XX XX XX // Текущий вес загрузки
    XX XX XX XX // Максимальный вес загрузки
    28 00 00 00 // неизвестно
    XX XX XX XX // ObjectID Underware
    XX XX XX XX // ObjectID Rear
    XX XX XX XX // ObjectID Left rear
    XX XX XX XX // ObjectID Neckless
    XX XX XX XX // ObjectID Right ring
    XX XX XX XX // ObjectID Left ring
    XX XX XX XX // ObjectID Helmate
    XX XX XX XX // ObjectID Right hand
    XX XX XX XX // ObjectID Left hand
    XX XX XX XX // ObjectID Gloves
    XX XX XX XX // ObjectID Main armor
    XX XX XX XX // ObjectID Leggings
    XX XX XX XX // ObjectID Boots
    XX XX XX XX // ObjectID Back
    XX XX XX XX // ObjectID Left right hand
    XX XX XX XX // ObjectID Hair
    XX XX XX XX // ObjectID Face
    XX XX XX XX // ItemID Underware
    XX XX XX XX // ItemID Rear
    XX XX XX XX // ItemID Left rear
    XX XX XX XX // ItemID Neckless
    XX XX XX XX // ItemID Right ring
    XX XX XX XX // ItemID Left ring
    XX XX XX XX // ItemID Helmate
    XX XX XX XX // ItemID Right hand
    XX XX XX XX // ItemID Left hand
    XX XX XX XX // ItemID Gloves
    XX XX XX XX // ItemID Main armor
    XX XX XX XX // ItemID Leggings
    XX XX XX XX // ItemID Boots
    XX XX XX XX // ItemID Back
    XX XX XX XX // ItemID Left right hand
    XX XX XX XX // ItemID Hair
    XX XX XX XX // ItemID Face
    ... // массив из 136 нулей, назначение неизвестно
    XX XX XX XX // PAtk
    XX XX XX XX // PAtk speed
    XX XX XX XX // PDef
    XX XX XX XX // Evasion
    XX XX XX XX // Accuracy
    XX XX XX XX // Critical
    XX XX XX XX // MAtk
    XX XX XX XX // CastSpeed
    XX XX XX XX // Atk speed (?)
    XX XX XX XX // MDef
    XX XX XX XX // Состояние ПВП (0=нефлагнутый 1=флагнутый)
    XX XX XX XX // Карма
    XX XX XX XX // скорость бега
    XX XX XX XX // скорость шага
    XX XX XX XX // скорость плаванья с включеным режимом бега
    XX XX XX XX // скорость плаванья с включеным режимом ходьбы
    XX XX XX XX // _flRunSpd
    XX XX XX XX // _flWalkSpd
    XX XX XX XX // Скорость полета с включеным режимом бега
    XX XX XX XX // Скорость полета с включеным режимом ходьбы
    XX XX XX XX XX XX XX XX // Move x (тип float)
    XX XX XX XX XX XX XX XX // Atk speed x (тип float)
    XX XX XX XX XX XX XX XX // Радиус чара - по этой величине сервер проверяет столкнивение с другими объектами (тип float)
    XX XX XX XX XX XX XX XX // Высота чара - по этой величине сервер проверяет столкнивение с другими объектами (тип float)
    XX XX XX XX // Стиль прически
    XX XX XX XX // Цвет волос
    XX XX XX XX // Тип лица
    XX XX XX XX // уровень доступа (0 - обычный чар, 1 и выше - ГМ)
    XX XX XX XX 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 // 0=нет 1=на страйдере 2=на виверне
    XX XX XX XX // тип магазина(Private Store Type)
    XX XX XX XX // может ли чар крафтить вещи ? (0=нет, 1=да)
    XX XX XX XX // Количество PK
    XX XX XX XX // Количество PVP
    XX XX // Количество зассамоненых кубиков

    // Данный блок повторяется в зафисимости от количества кубиков

    XX XX // ID кубика
    // конец повторяющегося блока


    XX // 1-find party members?
    XX XX XX XX // Набор флагов состояния персоонажа(Abnormal effect)
    00 //
    XX XX XX XX // Клановые привилегии
    XX XX // Количество оставшихся рекомендаций
    XX XX // Количество очков рекомендаций у персоонажа
    00 00 00 00 //
    XX XX XX XX // Размер инвентаря(максимальное кол-во предметов)
    XX XX XX XX // ID класса персоонажа
    XX XX XX XX // Эффект вокруг игрока (Effect arround player)
    XX XX XX XX // Максимальное CP
    XX XX XX XX // CP
    XX // Уровень заточки
    XX // Круг указывающий на команду, вокруг игрока (0=нету, 1=синий, 1=красный)
    XX XX XX XX // ID большой иконки клана(используется на клановых щитах)
    XX // Нублес ?
    XX // Геройство ?
    XX // Рыбачим ?
    XX XX XX XX // Fish x
    XX XX XX XX // Fish y
    XX XX XX XX // Fish z
    XX XX XX XX // Цвет имени в формате RGB(0x00RRGGBB, где R-уровень красного, G-зеленого, а B-синего цвета)
    XX // Бег включен ?
    XX XX XX XX // Clan class
    00 00 00 00 //
    XX XX XX XX // Цвет титула в формате RGB(0x00RRGGBB, где R-уровень красного, G-зеленого, а B-синего цвета)
    XX XX XX XX // Уровень проклятого оружия






    StatusUpdate

    Назначение: сообщает клиенту об изменении статов объекта
    Формат:
    0E
    XX XX XX XX // ID объекта у которого изменились статы
    XX XX XX XX // количество статов в списке

    // Следующий блок повторяется столько раз, сколько статов в списке

    XX XX XX XX // идентификатор стата, может принимать следующие значения:
    // 0x00000001 - Уровень
    // 0x00000002 - Exp
    // 0x00000003 - STR
    // 0x00000004 - DEX
    // 0x00000005 - CON
    // 0x00000006 - INT
    // 0x00000007 - WIT
    // 0x00000008 - MEN
    // 0x00000009 - Текущее HP
    // 0x0000000a - Максимальное HP
    // 0x0000000b - Текущее MP
    // 0x0000000c - Максимальное MP
    // 0x0000000d - SP
    // 0x0000000e - Текущий уровень переносимого веса
    // 0x0000000f - Максимальный уровень переносимого веса
    // 0x00000010 - ?
    // 0x00000011 - PAtk
    // 0x00000012 - Patk Speed
    // 0x00000013 - PDef
    // 0x00000014 - Evasion
    // 0x00000015 - Accuracy
    // 0x00000016 - Critical
    // 0x00000017 - MAtk
    // 0x00000018 - Cast speed
    // 0x00000019 - MDef
    // 0x0000001a - Флаг PVP
    // 0x0000001b - Карма
    // 0x00000021 - Текущее CP
    // 0x00000022 - Максимальное CP

    XX XX XX XX // Новое значение стата
    // конец повторяющегося блока



    Прмичание: Чтобы клиент обновил статы, нужно отправить как минимум 2 параметра(проверялось на клиенте Interlude)





    AuthLoginFail

    Назначение: сообщает клиенту game-сервер отверг запрос на подключение
    Формат:
    14 // и/или 12 ???
    XX XX XX XX // Причина:
    // 0x00 - Текста нет
    // 0x01 - Системная ошибка
    // 0x02 - Пароль не соответствует аккаунту (причем тут тут game server ??? ему пароль даже не высылается Oo)
    // 0x03 - Пароль не соответствует аккаунту (опять 25, корейцы млин)
    // 0x04 - Попытка доступа неудачна, попробуйте позже.
    // 0x05 - Неверный аккаунт, свяжитесь с службой поддержки
    // 0x06 - Попытка доступа неудачна, попробуйте позже.(что-то у них многовато кодов на одну ошибку)
    // 0x07 - Аккаунт уже используется(это вроде тоже логин сервер проверять должен)
    // 0x08 - Попытка доступа неудачна, попробуйте позже.
    // 0x09 - Попытка доступа неудачна, попробуйте позже.
    // 0x10 - Попытка доступа неудачна, попробуйте позже.






    CharList

    Назначение: содержит список всех чаров на аккаунте
    Формат:
    13
    XX XX XX XX // Количество чаров на аккаунте

    // <<<<< Следующий блок повторяется столько раз, сколько чаров на акке.
    XX XX XX XX 00 00 // строка содержащее ник чара
    XX XX XX XX // ID чара
    XX XX XX XX 00 00 // строка с логином
    XX XX XX XX // ID чара
    XX XX XX XX // SessionID
    XX XX XX XX // ID клана
    00 00 00 00 // неизвестно
    XX XX XX XX // пол (0x00 - мужчина, 0х01 - женщина
    XX XX XX XX // расса
    XX XX XX XX // класс
    XX XX XX XX // активный.(?)
    XX XX XX XX // X - не используется
    XX XX XX XX // Y - не используется
    XX XX XX XX // Z - не используется
    XX XX XX XX XX XX XX XX // текущее HP (число храниться в формате double)
    XX XX XX XX XX XX XX XX // текущее МP (число храниться в формате double)
    XX XX XX XX // SP
    XX XX XX XX XX XX XX XX // EXP (тип __int64)
    XX XX XX XX // уровень
    XX XX XX XX // карма
    XX XX XX XX ... // массив из 36 нулей, назначение неизвестно
    XX XX XX XX // ItemObjectID Under
    XX XX XX XX // ItemObjectID REar
    XX XX XX XX // ItemObjectID LEar
    XX XX XX XX // ItemObjectID Neck
    XX XX XX XX // ItemObjectID RFinger
    XX XX XX XX // ItemObjectID LFinger
    XX XX XX XX // ItemObjectID Head
    XX XX XX XX // ItemObjectID RHand
    XX XX XX XX // ItemObjectID LHand
    XX XX XX XX // ItemObjectID Gloves
    XX XX XX XX // ItemObjectID Chest
    XX XX XX XX // ItemObjectID Legs
    XX XX XX XX // ItemObjectID Feet
    XX XX XX XX // ItemObjectID Back
    XX XX XX XX // ItemObjectID LRHand
    XX XX XX XX // ItemObjectID Hair
    XX XX XX XX // ItemID Under
    XX XX XX XX // ItemID REar
    XX XX XX XX // ItemID LEar
    XX XX XX XX // ItemID Neck
    XX XX XX XX // ItemID RFinger
    XX XX XX XX // ItemID LFinger
    XX XX XX XX // ItemID Head
    XX XX XX XX // ItemID RHand
    XX XX XX XX // ItemID LHand
    XX XX XX XX // ItemID Gloves
    XX XX XX XX // ItemID Chest
    XX XX XX XX // ItemID Legs
    XX XX XX XX // ItemID Feet
    XX XX XX XX // ItemID Back
    XX XX XX XX // ItemID LRHand
    XX XX XX XX // ItemID Hair
    XX XX XX XX // прическа
    XX XX XX XX // цвет волос
    XX XX XX XX // тип лица
    XX XX XX XX XX XX XX XX // максимальное HP (число храниться в формате double)
    XX XX XX XX XX XX XX XX // максимальное МP (число храниться в формате double)
    XX XX XX XX // время до удаления чара в секундах. Если 0, то чар не поставлен на удаление
    XX XX XX XX // ID класса(базового ?)
    XX XX XX XX // используется клиентом для определения чара которым последний раз заходили, у него тут 1, у остальных - 0
    XX // уровень заточки пушки
    XX XX XX XX // augmentation id





    CharCreateOk

    Назначение: сообщает клиенту что создание чара успешно завершено
    Формат:
    19
    01





    CharCreateFail

    Назначение: сообщает клиенту что попытка создания чара завершилась неудачей
    Формат:
    1A
    XX XX XX XX // Причина:
    // Creation Failed
    // Слишком много чаров на акке
    // Имя чара уже существует
    // Имя слишком длинное или содержит запрещенные символы






    CharDeleteOk

    Назначение: сообщает клиенту что удаление чара прошло успешно
    Формат:
    23





    CharDeleteFail

    Назначение: сообщает клиенту что удаление чара завершилось неудачей
    Формат:
    24





    ActionFailed

    Назначение: уведомляет клиента что его последний запрос не может быть удовлетворен
    Формат:
    25





    ChangeWaitType

    Назначение: сообщает клиенту что чар изменил wait тип(незнаю как это лучше на русский перевести :-/ Короче по параметрам понятоно что это такое)
    Формат:
    2F
    XX XX XX XX // ID чара
    XX XX XX XX // wait тип:
    // 00 - сидеть
    // 01 - стоять
    // 02 - fake death
    // 03 - отменить fake death

    XX XX XX XX // X
    XX XX XX XX // Y
    XX XX XX XX // Z





    TeleportToLocation

    Назначение: сообщает клиенту что чар телепортировался

    Формат:
    38
    XX XX XX XX // ID чара
    XX XX XX XX // X
    XX XX XX XX // Y
    XX XX XX XX // Z





    ChangeMoveType



    Назначение: сообщает клиенту что чар изменил тип перемещения
    Формат:
    3E
    XX XX XX XX // ID чара
    XX XX XX XX // 00 - хотьба, 01 - бег
    00 00 00 00 // C2





    LogoutOK

    Назначение: сообщает клиенту что разрешение покинуть игру дано. Служит ответом на пакет клиента Logout
    Формат:
    7E



    QuestList

    Назначение: сообщает клиенту список квестов и квестовых предметов
    Формат:
    80
    XX XX // Количество квестов

    // Этот блок повторяется столько раз, сколько взятых квестов у чара

    XX XX XX XX // ID квеста
    00 00 00 00 // число показывающее стадию выполнения, на которой находится квест
    // конец повторяющегося блока


    XX XX // Количество квестовых предметов

    // Этот блок повторяется столько раз, сколько квестовых предметов у чара

    XX XX XX XX // ItemID предмета
    XX XX XX XX // ObjectID предмета
    XX XX XX XX // Количество предметов этого типа
    05 00 00 00 // неизвестно
    // конец повторяющегося блока






    ServerSocketClose

    Назначение: сообщает клиенту что сервер закрывает подключение
    Формат:
    AF
    00 00 00 00 //





    NetPingRequest

    Назначение: пингует клиента. Примерно раз в минуту, если клиент не ответил на этот пакет, пакетом NetPing, клиент отключаеться.
    Формат:
    D3
    XX XX XX XX // идентификатор пинга. Вроде как генерируется случайно



    ChairSit

    Назначение: сообщает клиенту что чар сел
    Формат:
    E1
    XX XX XX XX // ID объекта
    XX XX XX XX // Static object ID





    ExSendManorList

    Назначение: сообщает клиенту зоны манора
    Формат:
    FE
    1B 00
    XX XX XX XX // Количество зон манора

    // Следующий блок повторяется столько раз, сколько зон манора

    XX XX XX XX // ID зоны манора
    XX XX XX XX 00 00 // Строка содержащая название зоны манора
    // конец повторяющегося блока






    5. Пакеты от клиетна серверу (Game Server)

    00 - ProtocolVersion
    01 - MoveBackwardToLocation
    02 - Say
    03 - EnterWorld
    04 - Action
    08 - AuthRequest
    09 - Logout
    0A - AttackRequest
    0B - CharacterCreate
    0C - CharacterDelete
    0D - CharacterSelected
    0F - RequestItemList
    11 - RequestUnEquipItem
    12 - RequestDropItem
    14 - UseItem
    15 - TradeRequest
    16 - AddTradeItem
    17 - TradeDone
    1B - RequestSocialAction
    1C - ChangeMoveType // устарел. Теперь юзается 'RequestActionUse'
    1D - ChangeWaitType // устарел. Теперь юзается 'RequestActionUse'
    1E - RequestSellItem
    1F - RequestBuyItem
    21 - RequestBypassToServer
    24 - RequestJoinPledge
    25 - RequestAnswerJoinPledge
    26 - RequestWithdrawalPledge
    27 - RequestOustPledgeMember
    29 - RequestJoinParty
    2A - RequestAnswerJoinParty
    2B - RequestWithDrawalParty
    2C - RequestOustPartyMember
    2F - RequestMagicSkillUse
    30 - Appearing
    33 - RequestShortCutReg
    35 - RequestShortCutDel
    37 - RequestTargetCanceld
    38 - Say2
    3С - RequestPledgeMemberList
    3F - RequestSkillList
    40 - AnswerTradeRequest
    45 - RequestActionUse
    46 - RequestRestart
    48 - ValidatePosition
    4A - StartRotating
    4B - FinishRotating
    4D - RequestStartPledgeWar
    4F - RequestStopPledgeWar
    55 - RequestGiveNickName
    58 - RequestEnchantItem
    59 - RequestDestroyItem
    5E - RequestFriendInvite
    5F - RequestAnswerFriendInvite
    60 - RequestFriendList
    61 - RequestFriendDel
    62 - CharacterRestore
    63 - RequestQuestList
    64 - RequestQuestAbort
    66 - RequestPledgeInfo
    68 - RequestPledgeCrest
    6A - RequestRide
    6B - RequestAquireSkillInfo
    6C - RequestAquireSkill
    6D - RequestRestartPoint
    6E - RequestGMCommand
    6F - RequestPartyMatchConfig
    70 - RequestPartyMatchList
    71 - RequestPartyMatchDetail
    72 - RequestCrystallizeItem
    77 - SetPrivateStoreMsgSell
    81 - RequestGmList
    82 - RequestJoinAlly
    83 - RequestAnswerJoinAlly
    84 - AllyLeave
    85 - AllyDismiss
    88 - RequestAllyCrest
    89 - RequestChangePetName
    8A - RequestPetUseItem
    8B - RequestGiveItemToPet
    8C - RequestGetItemFromPet
    8E - RequestAllyInfo
    8F - RequestPetGetItem
    94 - SetPrivateStoreMsgBuy
    98 - RequestStartAllianceWar
    9А - RequestStopAllianceWar
    A0 - RequestBlock
    A2 - RequestSiegeAttackerList
    A4 - RequestJoinSiege
    A8 - NetPing
    AС - RequestRecipeBookOpen
    B9 - RequestEvaluate
    BA - RequestHennaList
    BB - RequestHennaItemInfo
    BС - RequestHennaEquip
    C1 - RequestMakeMacro
    C2 - RequestDeleteMacro
    CF - RequestAutoSoulShot
    D0:06 - RequestExEnchantSkillInfo
    D0:07 - RequestExEnchantSkill
    D0:08 - RequestExManorList
    D0:10 - RequestExPledgeCrestLarge
    D0:11 - RequestExSetPledgeCrestLarge
    EE - RequestChangePartyLeader



    ProtocolVersion

    Назначение: передает версию протокола используемого клиентом серверу
    Формат:
    00
    XX XX XX XX // Версия протокола





    MoveBackwardToLocation

    Назначение: запрос на перемещение чара
    Формат:
    01
    XX XX XX XX // Координата X точки назначения
    XX XX XX XX // Координата Y точки назначения
    XX XX XX XX // Координата Z точки назначения
    XX XX XX XX // Координата X текущего положения чара
    XX XX XX XX // Координата Y текущего положения чара
    XX XX XX XX // Координата Z текущего положения чара
    XX XX XX XX // 00 - для движения используеться клавиатура, 01 - для движения используется мышь





    Say

    Назначение: отправляет сообщение другим игрокам
    Формат:
    02
    XX XX XX XX 00 00 // Cтрока сообщения
    XX XX XX XX // Тип сообщение
    // 0x00 - ALL
    // 0x01 - SHOUT ( ! )
    // 0x02 - TELL ( " )
    // 0x03 - PARTY ( # )
    // 0x04 - CLAN ( @ )
    // 0x05 - GM
    // 0x06 - PETITION_PLAYER
    // 0x07 - PETITION_GM
    // 0x08 - TRADE ( + )
    // 0x09 - ALLIANCE ( $ )
    // 0x0A - ANNOUNCEMENT
    // 0x0F - PARTYROOM_ALL ( желтый )
    // 0x10 - PARTYROOM_COMMANDER ( синий )
    // 0x11 - Голос героя

    XX XX XX XX 00 00 // Для приватных сообщений. Содержит ник чара которому предназначено сообщение.





    EnterWorld

    Назначение: пакет, который отсылается клиентом когда клиент закончил загрузку мира
    Формат:
    03





    Action

    Назначение: пакет, который отсылается клиентом при клике мышью по НПЦ или другому чару
    Формат:

    04
    XX XX XX XX // ID объекта
    XX XX XX XX // Координата X положения чара
    XX XX XX XX // Координата Y положения чара
    XX XX XX XX // Координата Z положения чара
    XX // 00 - просто клик, 01 - клик с зажатым шифтом





    AuthRequest

    Назначение: запрос авторизации на game сервере
    Формат:
    08
    XX XX XX XX // SessionKey2 часть 2(дается логин сервером)
    XX XX XX XX // SessionKey2 часть 1(дается логин сервером)
    XX XX XX XX // SessionKey1 часть 2(дается логин сервером)
    XX XX XX XX // SessionKey1 часть 1(дается логин сервером)





    Logout

    Назначение: запрашивает у сервера разрешение на выход из игры
    Формат:
    09





    AttackRequest

    Назначение: запрос на атаку
    Формат:
    0A
    XX XX XX XX // ID того, кого собираемся атаковать
    XX XX XX XX // X координата позиции чара
    XX XX XX XX // Y координата позиции чара
    XX XX XX XX // Z координата позиции чара
    XX XX XX XX // 0 - Ctrl не нажат, 1 - Ctrl нажат





    CharacterCreate

    Назначение: запрос на создание чара
    Формат:
    0B
    XX XX XX XX 00 00 // Строка с именем чара
    XX XX XX XX // Расса
    XX XX XX XX // Пол
    XX XX XX XX // Класс
    XX XX XX XX // INT
    XX XX XX XX // STR
    XX XX XX XX // CON
    XX XX XX XX // MEN
    XX XX XX XX // DEX
    XX XX XX XX // WIT
    XX XX XX XX // Стиль волос
    XX XX XX XX // Цвет волос
    XX XX XX XX // Тип лица





    CharacterDelete

    Назначение: ставит чара на удаление
    Формат:
    0C
    XX XX XX XX // Номер слота с чаром





    CharacterSelected

    Назначение: выбирает чара. Отсылается при клике на чара в меню выбора чара.
    Формат:
    0D
    XX XX XX XX // Номер слота с чаром





    RequestItemList

    Назначение: запросить список вещей находящихся в инвентаре.(клиент открывает инвентарь, когда сервер высылает этот список)
    Формат:
    0F





    RequestUnEquipItem

    Назначение: Снимает эквип с чара
    Формат:
    11
    XX XX XX XX // Номер слота





    RequestDropItem

    Назначение: запрос за дроп итема. Отправляется клиентом, при попытке выбросить из инвентаря какую-либо вещь
    Формат:
    12
    XX XX XX XX // ID итема который хотим выбросить
    XX XX XX XX // количество итемов которое мы хотим выбросить
    XX XX XX XX // X кордината места в которое выбрасываем итем
    XX XX XX XX // Y кордината места в которое выбрасываем итем
    XX XX XX XX // Z кордината места в которое выбрасываем итем





    UseItem

    Назначение: запрос на использование итема
    Формат:
    14
    XX XX XX XX // ID объекта





    TradeRequest

    Назначение: запрос торговлю.
    Формат:
    15
    XX XX XX XX // ID объекта с которым хотим торговать





    AddTradeItem

    Назначение: добавляет итем в трейд лист.
    Формат:
    16
    XX XX XX XX // ID трейда
    XX XX XX XX // ID объекта
    XX XX XX XX // количество





    TradeDone

    Назначение: запрос на завершение торговли.
    Формат:
    17
    XX XX XX XX // 0 - отменить сделку, 1 - подтвердить сделку





    RequestSocialAction

    Назначение: вызывает анимацию социальных действий вроде смеха и т.п.
    Формат:
    1B
    XX XX XX XX // Номер экшина
    // 0x02 - Greeting
    // 0x03 - Victory
    // 0x04 - Advance
    // 0x05 - No
    // 0x06 - Yes
    // 0x07 - Bow
    // 0x08 - Unaware
    // 0x09 - Social Waiting
    // 0x0A - Laugh
    // 0x0B - Applaud
    // 0x0C - Dance
    // 0x0D - Sorrow
    // 0x0F - Анимация как при lvl-up
    // 0x10 - Анимация героев





    ChangeMoveType

    Назначение: включает/выключает бег
    Формат:
    1C
    XX XX XX XX // 0 - бег выключен, 1 - бег включен





    ChangeWaitType

    Назначение: сесть/встать
    Формат:
    1D
    XX XX XX XX // 0 - сесть, 1 - встать





    RequestTargetCanceld

    Назначение: Отменяет таргет
    Формат:
    1D





    RequestSellItem

    Назначение: Запрос на продажу вещей
    Формат:
    1E
    XX XX XX XX // ID списка покупок (list id)
    XX XX XX XX // количество вещей которые нужно продать

    // <<< Блок повторяется столько раз, сколько разных вещей нужно купить

    XX XX XX XX // ObjectID предмета который нужно продать
    XX XX XX XX // ItemID предмета который нужно продать
    XX XX XX XX // количество предметов которые нужно продать
    // конец повторяющегося блока





    RequestBuyItem

    Назначение: Запрос на покупку вещей
    Формат:
    1F
    XX XX XX XX // ID сиска покупок
    XX XX XX XX // количество вещей которые нужно купить

    // <<< Блок повторяется столько раз, сколько разных вещей нужно купить

    XX XX XX XX // ID предмета который нужно купить
    XX XX XX XX // количество предметов которые нужно купить
    ...




    RequestBypassToServer

    Назначение: передает "bypass"(содержаться в HTML) команду серверу.
    Формат:
    21
    XX XX XX XX 00 00 // строка с коммандой





    RequestJoinPledge

    Назначение: отправляет чару предложение вступить в клан.
    Формат:
    24
    XX XX XX XX // ID чара, которому высылается предложение





    RequestAnswerJoinPledge

    Назначение: ответ на предложение о вступлении в клан
    Формат:
    25
    XX XX XX XX // ответ: 00 - нет, 01 - да





    RequestWithdrawalPledge

    Назначение: выйти из клана
    Формат:
    26





    RequestOustPledgeMember

    Назначение: удалить чара из клана
    Формат:
    27
    XX XX XX XX 00 00 // строка с именем чара





    RequestJoinParty

    Назначение: предложить вступить в пати
    Формат:
    29
    XX XX XX XX 00 00 // ник чара, которому отсылается предложение
    XX XX XX XX // тип распределения предметов:
    // 0x00 - дроп получает подобравший его чар, споил - достается спойлеру
    // 0x01 - дроп распределяется случайным образом, споил - достается спойлеру
    // 0x02 - дроп и споил, распределяется случайным образом
    // 0x03 - дроп дается чарам по очереди, споил - достается спойлеру
    // 0x04 - дроп и споил, дается чарам по очереди






    RequestAnswerJoinParty

    Назначение: ответ на предложение вступить в пати
    Формат:
    2A
    XX XX XX XX // ответ: 00 - нет, 01 - да





    RequestWithDrawalParty

    Назначение: выйти из пати
    Формат:
    2B





    RequestOustPartyMember

    Назначение: удалить чара из пати
    Формат:
    2C
    XX XX XX XX 00 00 // строка с именем чара которого следует удалить





    RequestMagicSkillUse

    Назначение: использовать магический скилл
    Формат:
    2F
    XX XX XX XX // ID скилла
    XX XX XX XX // состояние CTRL : 00 - отпущен, 01 - нажат
    XX XX XX XX // состояние SHIFT: 00 - отпущен, 01 - нажат





    Appearing

    Назначение: Запрашивает возрождение чара после смерти. Вызывается после пакетов RequestRestartPoint и ValidatePosition
    Формат:
    30



    RequestShortCutReg

    Назначение: Регестрирует ярлык на панеле быстрого доступа.
    Формат:
    33
    XX XX XX XX // Тип ярлыка
    // 0x01 - итем
    // 0x02 - скилл
    // 0x03 - действие
    // 0x04 - макрос

    XX XX XX XX // идентификатор объекта выносимого на панель
    XX XX XX XX // номер слота
    XX XX XX XX // номер закладки
    XX XX XX XX // неизвестно





    RequestShortCutDel

    Назначение: Удаляет ярлык с панели быстрого доступа.
    Формат:
    35
    XX XX XX XX // номер слота
    XX XX XX XX // номер закладки




    Say2

    Назначение: отправляет сообщение другим игрокам
    Формат:
    38
    XX XX XX XX 00 00 // Cтрока сообщения
    XX XX XX XX // Тип сообщение
    // 0x00 - ALL
    // 0x01 - SHOUT ( ! )
    // 0x02 - TELL ( " )
    // 0x03 - PARTY ( # )
    // 0x04 - CLAN ( @ )
    // 0x05 - GM
    // 0x06 - PETITION_PLAYER
    // 0x07 - PETITION_GM
    // 0x08 - TRADE ( + )
    // 0x09 - ALLIANCE ( $ )
    // 0x0A - ANNOUNCEMENT
    // 0x0F - PARTYROOM_ALL ( желтый )
    // 0x10 - PARTYROOM_COMMANDER ( синий )
    // 0x11 - Голос героя

    XX XX XX XX 00 00 // Для приватных сообщений. Содержит ник чара которому предназначено сообщение.





    RequestPledgeMemberList

    Назначение: запросить список членов клана
    Формат:
    3C





    RequestSkillList

    Назначение: запрашивает список изученных скилов
    Формат:
    3F





    AnswerTradeRequest

    Назначение: ответ на трейд
    Формат:
    40
    XX XX XX XX // Ответ на трейд: 00 - отклонить, 01 - подтвердить





    RequestActionUse

    Назначение: выполняет действие
    Формат:
    45
    XX XX XX XX // Action ID (список не полный, экшинов там дофига)
    // 0x00 - Сесть/встать
    // 0x01 - Идти/бежать
    // 0x19 - Ансаммонить пета
    // 0x33 - General manufacture
    // 0x38 - Зазезть/слезть с страйдера (вирна ???)

    XX XX XX XX // 00 - CTRL не нажат, 01 - CTRL нажат
    XX // 01 - SHIFT не нажат, 01 - SHIFT нажат





    RequestRestart

    Назначение: возвращает в меню выбора чара
    Формат:
    46





    ValidatePosition

    Назначение: вызывает перезагрузку данных, НПЦ, других игроков и прочее. Фактически вызывает телепортацию в текущие координаты игрока.
    Формат:
    48
    XX XX XX XX // X
    XX XX XX XX // Y
    XX XX XX XX // Z
    XX XX XX XX // Направление взгляда
    XX XX XX XX // ???





    StartRotating

    Назначение: Включает вращение чара вокруг своей оси
    Формат:
    4A
    XX XX XX XX // Угол (принимает значения от 0 до 65535)
    XX XX XX XX // сторона ( 01 00 00 00 - вращение вправо, FF FF FF FF - вращение влево )





    FinishRotating

    Назначение: прекращает вращение чара вокруг своей оси
    Формат:
    4B
    XX XX XX XX // Неизвестно
    XX XX XX XX // Неизвестно





    RequestStartPledgeWar

    Назначение: начать кланвар
    Формат:
    4D
    XX XX XX XX 00 00 // строка с названием клана, которому объявляется кланвар





    RequestStartPledgeWar

    Назначение: закончить клан вар
    Формат:
    4F
    XX XX XX XX 00 00 // строка с названием клана





    RequestGiveNickName

    Назначение: устанавить титул.
    Формат:
    55
    XX XX XX XX 00 00 // строка содержащая ник чара которому требуется установить титул
    XX XX XX XX 00 00 // строка содержащая титул





    RequestEnchantItem

    Назначение: запрашивает энчат интема.
    Формат:
    58
    XX XX XX XX // ID итема который хотим заэнчатить





    RequestDestroyItem

    Назначение: запрос на уничтожение итема
    Формат:
    59
    XX XX XX XX // ID итема
    XX XX XX XX // количество итемов?





    RequestFriendInvite

    Назначение: занести чара в френд лист
    Формат:
    5E
    XX XX XX XX 00 00 // строка с именем чара, которого следует добавить





    RequestAnswerFriendInvite

    Назначение: ответ на предложение добавления в список друзей
    Формат:
    5F
    XX XX XX XX // 00 - нет, 01 - да





    RequestFriendList

    Назначение: запрос френдлиста
    Формат:
    60





    RequestFriendDel

    Назначение: запрос на удаление чара из френд листа
    Формат:
    61
    XX XX XX XX 00 00 // строка с именем чара, которого следует удалить





    CharacterRestore

    Назначение: отменяет удаление чара
    Формат:
    62
    XX XX XX XX // номер слота с чаром





    RequestQuestList

    Назначение: запросить список квестов
    Формат:
    63





    RequestQuestAbort

    Назначение: прервать выполнение квеста
    Формат:
    64
    XX XX XX XX // ID квеста





    CharacterRestore

    Назначение: запрос информации о клане
    Формат:
    66
    XX XX XX XX // ID клана





    RequestPledgeCrest

    Назначение: устанавливает иконку клана
    Формат:
    68
    XX XX XX XX // ID иконки





    RequestRide

    Назначение: залезть/слезть на страйдера/вирна
    Формат:
    6A
    XX XX XX XX // 0 - слезть, 1 - залезть
    XX XX XX XX // 1 - страйдер, 2 - вивирен





    RequestAquireSkillInfo

    Назначение: запрос информации о скилле
    Формат:
    6B
    XX XX XX XX // ID скилла
    XX XX XX XX // уровень скилла





    RequestAquireSkill

    Назначение: запрос на изучение скилла
    Формат:
    6C
    XX XX XX XX // ID скилла
    XX XX XX XX // уровень скилла





    RequestRestartPoint

    Назначение: запрашивает рестарт после смерти чара
    Формат:
    6D
    XX XX XX XX // точка в которую будет возвращен игрок
    // 0x00 - Город
    // 0x01 - Клан холл
    // 0x02 - Замок
    // 0x03 - Флаг (при осаде замка)
    // 0x04 - Ресс на месте на котором умер игрок, используется на фестивале






    RequestGMCommand

    Назначение: отсылает запрос на GM комманду
    Формат:
    6E
    XX XX XX XX 00 00 // строка с именем чара - цели
    XX XX XX XX // идентификатор комманды
    // 0x01 - статус игрока
    // 0x02 - клан игрока
    // 0x03 - скилы игрока
    // 0x04 - квесты игрока
    // 0x05 - инвентарь игрока
    // 0x06 - вархаус игрока

    XX XX XX XX // неизвестно





    RequestPartyMatchConfig

    Назначение: открыть окно поиска пати
    Формат:
    6F
    XX XX XX XX // автомтическая регистрация: 00 - нет, 01 - да
    XX XX XX XX // показывать уровень: 00 - нет, 01 - да
    XX XX XX XX // показывать класс: 00 - нет, 01 - да





    RequestPartyMatchList

    Назначение: запросить список чаров ищущих пати
    Формат:
    70
    XX XX XX XX // статус может быть 1 и 3. Что значит наверняка, я не знаю.





    RequestPartyMatchDetail

    Назначение: запросить подробную информуцию о чаре ищущем пати
    Формат:
    71
    XX XX XX XX // ID чара





    RequestCrystallizeItem

    Назначение: запрос на кристализацию итема
    Формат:
    72
    XX XX XX XX // ID итема который нужно кристализовать
    XX XX XX XX // количество итемов, которые нужно кристализовать





    SetPrivateStoreMsgSell

    Назначение: устанавливает сообщение на продажу для PrivateStore
    Формат:
    77
    XX XX XX XX 00 00 // строка с сообщением





    RequestGmList

    Назначение: запрос списка GMов
    Формат:
    81





    RequestJoinAlly

    Назначение: предложить вступить в альянс
    Формат:
    82
    XX XX XX XX // ID лидера клана, который преглашается в алли





    RequestAnswerJoinAlly

    Назначение: ответ на предложение вступления в альянс
    Формат:
    83
    XX XX XX XX // ответ: 00 - нет, 01 - да





    AllyLeave

    Назначение: покинуть альянс
    Формат:
    84
    XX XX XX XX 00 00 // строка с названием клана





    AllyDismiss

    Назначение: запрос на роспуск альянса
    Формат:
    85
    XX XX XX XX 00 00 // строка с именем клана





    RequestAllyCrest

    Назначение: запрос на установку иконки альянса
    Формат:
    88
    XX XX XX XX // ID иконки





    RequestChangePetName

    Назначение: меняет имя пета
    Формат:
    89
    XX XX XX XX 00 00 // строка с новым именем пита





    RequestPetUseItem

    Назначение: команда питу использовать итем
    Формат:
    8A
    XX XX XX XX // ID объекта которых нужно использовать





    RequestGiveItemToPet

    Назначение: переместить итем из своего инвентаря в инвентарь пита
    Формат:
    8B
    XX XX XX XX // ID итема
    XX XX XX XX // количество





    RequestGetItemFromPet

    Назначение: переместить итем из инвентаря пита к себе в инвентарь
    Формат:

    XX XX XX XX // ID итема
    XX XX XX XX // количество
    XX XX XX XX // фиг его знает. В большинстве случаев - 0





    RequestAllyInfo

    Назначение: запрос информации об альянсе.
    Формат:
    8E





    RequestPetGetItem

    Назначение: команда питу поднять итем.
    Формат:
    8F
    XX XX XX XX // ID который надлежит поднять





    SetPrivateStoreMsgBuy

    Назначение: устанавливает сообщение на покупку для PrivateStore
    Формат:
    94
    XX XX XX XX 00 00 // строка с сообщением





    RequestStartAllianceWar

    Назначение: объявить алли вар
    Формат:
    98
    XX XX XX XX 00 00 // строка с именем альянса





    RequestStopAllianceWar

    Назначение: запрос о прекращении алли вар'а
    Формат:
    9A
    XX XX XX XX 00 00 // строка с именем альянса





    RequestBlock

    Назначение: запрос операции над черным списком
    Формат:
    A0
    XX XX XX XX // тип запроса:
    // 0x00 - добавить чара в игнор
    // 0x01 - удалить чара из игнора
    // 0x02 - вывесли список чаров занесенных в игнор
    // 0x03 - игнор всех
    // 0x04 - отменить игнор всех

    XX XX XX XX 00 00 // строка с именем чара которого надо занести в игнор





    RequestSiegeAttackerList

    Назначение: запрашивает список записаных на осаду замка атакующих кланов
    Формат:
    A2
    XX XX XX XX // ID замка





    RequestJoinSiege

    Назначение: добавить/удалить клан в список осады замка
    Формат:
    A4
    XX XX XX XX // ID замка
    XX XX XX XX // 00 - присоедениться к защитникам, 01 - присоедениться к атакующим
    XX XX XX XX // 00 - удалить клан из списка, 01 - добавить клан в список





    RequestRecipeBookOpen

    Назначение: открыть книгу рецептов
    Формат:






    NetPing

    Назначение: Отвечает на пакет сервера RequestNetPing
    Формат:
    A8
    XX XX XX XX // Это число берется из пакета RequestNetPing, отправляемого сервером
    XX XX XX XX // Пинг



    RequestRecipeBookOpen

    Назначение: открыть книгу рецептов
    Формат:






    RequestEvaluate

    Назначение: запрос на рекомендацию игрока
    Формат:
    B9
    XX XX XX XX // ID цели





    RequestHennaList

    Назначение: запросить список доступных татуировок
    Формат:
    BA
    XX XX XX XX // неизвестно





    RequestHennaItemInfo

    Назначение: получить информацию о татуировке
    Формат:
    BB
    XX XX XX XX // ID татуировки





    RequestHennaEquip

    Назначение: запрос на нанесение татуировки
    Формат:

    XX XX XX XX // ID татуировки которую нужно нанести





    RequestMakeMacro

    Назначение: запрос на создание макроса
    Формат:
    С1
    XX XX XX XX // ID макроса
    XX XX XX XX 00 00 // строка содержащая имя макроса
    XX XX XX XX 00 00 // строка с описанием макроса
    XX XX XX XX 00 00 // строка с текстом на иконке
    XX // ID иконки
    XX // количество строк

    // <<<<< Следующий блок повторяется столько раз, сколько строк в макросе.

    XX // строка
    XX // тип
    XX // ID скилла
    XX // ID ярлыка на панели
    XX XX XX XX 00 00 // имя комманды
    // конец повторяющегося блока






    RequestDeleteMacro

    Назначение: запрос на удаление макроса
    Формат:
    C2
    XX XX XX XX // ID макроса





    RequestAutoSoulShot

    Назначение: включает/выключает использование AutoSS
    Формат:
    CF
    XX XX XX XX // идентификатор итема
    XX XX XX XX // 1 - включить : 0 - выключить





    RequestExEnchantSkillInfo

    Назначение: запросить информацию о заточке скила
    Формат:
    D0
    06
    00
    XX XX XX XX // ID скила
    XX XX XX XX // уровень скила





    RequestExEnchantSkill

    Назначение: запросить заточку скила
    Формат:
    D0
    07
    00
    XX XX XX XX // ID скила
    XX XX XX XX // уровень скила





    RequestExManorList

    Назначение: запросить заточку скила
    Формат:
    D0
    08
    00





    RequestExPledgeCrestLarge

    Назначение: запросить данные изображения большой иконки клана(те что размещаються на вещах клана типа щитов) клана
    Формат:
    D0
    10
    XX XX XX XX // ID иконки





    RequestExSetPledgeCrestLarge

    Назначение: отправить данные изображения большой иконки клана(те что размещаються на вещах клана типа щитов) на сервер
    Формат:
    D0
    11
    XX XX XX XX // размер данных

    // <<<<< Следующий блок повторяется столько раз, сколько байт в данных изображения

    XX // данные изображения
    // конец повторяющегося блока







    RequestChangePartyLeader

    Назначение: передает лидерство в пати
    Формат:
    EE
    XX XX XX XX 00 00 // строка с именем чара, которому передается лидерство
     
  2. Offline

    Jov Vovu Рядовой

    14
    0
    27
    Кредиты:
    $117,00
    Репутация:
    0
    это java или можно на visual c++ ?
     
  3. Offline

    Jov Vovu Рядовой

    14
    0
    27
    Кредиты:
    $117,00
    Репутация:
    0
    у нас тоже типа такие проходили универе tipa
    int main()
    {
    float n,s,x,y;
    cin>>n;
    for(int i=1; i<=n; i++)
    s=s+pow(x,2)+y;
    cout<<s;
    system("pause");
    returon 0;
    }
    на сeк ощутил себя программистом )
     
  4. TopicStarter Overlay
    Offline

    Matey Младший сержант Команда форума Администратор

    838
    164
    108
    Кредиты:
    $1.238,56
    Репутация:
    44
    [64] Helios


    Client

    • 00 SendLogOut
    • 01 RequestAttack
    • 03 RequestStartPledgeWar
    • 04 RequestReplyStartPledgeWar
    • 05 RequestStopPledgeWar
    • 06 RequestReplyStopPledgeWar
    • 07 RequestSurrenderPledgeWar
    • 08 RequestReplySurrenderPledgeWar
    • 09 RequestSetPledgeCrest
    • 0B RequestGiveNickName
    • 0C RequestCharacterCreate
    • 0D RequestCharacterDelete
    • 0E SendProtocolVersion
    • 0F MoveBackwardToLocation
    • 10 Say
    • 11 RequestEnterWorld
    • 12 RequestGameStart
    • 13 RequestNewCharacter
    • 14 RequestItemList
    • 15 RequestEquipItem
    • 16 RequestUnEquipItem
    • 17 RequestDropItem
    • 19 RequestUseItem
    • 1A RequestTrade
    • 1B RequestAddTradeItem
    • 1C TradeDone
    • 1F Action
    • 22 RequestLinkHtml
    • 23 RequestBypassToServer
    • 24 RequestBBSWrite
    • 25 RequestCreatePledge
    • 26 RequestJoinPledge
    • 27 RequestAnswerJoinPledge
    • 28 RequestWithDrawalPledge
    • 29 RequestOustPledgeMember
    • 2B RequestLogin
    • 2C RequestGetItemFromPet
    • 2E RequestAllyInfo
    • 2F RequestCrystallizeItem
    • 30 RequestPrivateStoreSellManageList
    • 31 SetPrivateStoreSellList
    • 33 RequestTeleport
    • 34 SocialAction
    • 35 ChangeMoveType
    • 36 ChangeWaitType
    • 37 RequestSellItem
    • 38 UserAck
    • 39 RequestMagicSkillUse
    • 3A SendAppearing
    • 3B SendWareHouseDepositList
    • 3C SendWareHouseWithdrawList
    • 3D RequestShortCutReg
    • 3E RequestShortCutUse
    • 3F RequestShortCutDel
    • 40 RequestBuyItem
    • 41 RequestDismissPledge
    • 42 RequestJoinParty
    • 43 RequestAnswerJoinParty
    • 44 RequestWithDrawalParty
    • 45 RequestOustPartyMember
    • 46 RequestDismissParty
    • 47 CanNotMoveAnymore
    • 48 RequestTargetCancel
    • 49 Say2
    • 4D RequestPledgeMemberList
    • 4F RequestMagicList
    • 50 RequestSkillList
    • 52 MoveWithDelta
    • 53 GetOnVehicle
    • 54 GetOffVehicle
    • 55 AnswerTradeRequest
    • 56 RequestActionUse
    • 57 RequestRestart
    • 58 RequestSiegeInfo
    • 59 ValidateLocation
    • 5A RequestSEKCustom
    • 5B StartRotating
    • 5C FinishRotating
    • 5E RequestShowboard
    • 5F RequestEnchantItem
    • 60 RequestDestroyItem
    • 62 RequestQuestList
    • 63 RequestDestroyQuest
    • 65 RequestPledgeInfo
    • 66 RequestPledgeExtendedInfo
    • 67 RequestPledgeCrest
    • 69 RequestSurrenderPersonally
    • 6A RequestFriendInfoList
    • 6B RequestSendL2FriendSay
    • 6C RequestOpenMinimap
    • 6D RequestSendMsnChatLog
    • 6E RequestReload
    • 6F RequestHennaEquip
    • 70 RequestHennaUnequipList
    • 71 RequestHennaUnequipInfo
    • 72 RequestHennaUnequip
    • 73 RequestAcquireSkillInfo
    • 74 SendBypassBuildCmd
    • 75 MoveToLocationInVehicle
    • 76 CanNotMoveAnymore(Vehicle)
    • 77 RequestFriendInvite
    • 78 RequestFriendAddReply
    • 7A RequestFriendDel
    • 7B RequestCharacterRestore
    • 7C RequestAcquireSkill
    • 7D RequestRestartPoint
    • 7E RequestGMCommand
    • 7F RequestListPartyWaiting
    • 80 RequestManagePartyRoom
    • 81 RequestJoinPartyRoom
    • 83 SendPrivateStoreBuyList
    • 84 RequestReviveReply
    • 85 RequestTutorialLinkHtml
    • 86 RequestTutorialPassCmdToServer
    • 87 RequestTutorialQuestionMarkPressed
    • 88 RequestTutorialClientEvent
    • 89 RequestPetition
    • 8A RequestPetitionCancel
    • 8B RequestGMList
    • 8C RequestJoinAlly
    • 8D RequestAnswerJoinAlly
    • 8E RequestWithdrawAlly
    • 8F RequestOustAlly
    • 90 RequestDismissAlly
    • 91 RequestSetAllyCrest
    • 92 RequestAllyCrest
    • 93 RequestChangePetName
    • 94 RequestPetUseItem
    • 95 RequestGiveItemToPet
    • 96 RequestPrivateStoreSellQuit
    • 97 SetPrivateStoreSellMsg
    • 98 RequestPetGetItem
    • 99 RequestPrivateStoreBuyManageList
    • 9A SetPrivateStoreBuyList
    • 9B ReplyStopAllianceWar
    • 9C RequestPrivateStoreBuyManageQuit
    • 9D SetPrivateStoreBuyMsg
    • 9F SendPrivateStoreSellList
    • A0 SendTimeCheck
    • A6 RequestSkillCoolTime
    • A7 RequestPackageSendableItemList
    • A8 RequestPackageSend
    • A9 RequestBlock
    • AA RequestCastleSiegeInfo
    • AB RequestCastleSiegeAttackerList
    • AC RequestCastleSiegeDefenderList
    • AD RequestJoinCastleSiege
    • AE RequestConfirmCastleSiegeWaitingList
    • AF RequestSetCastleSiegeTime
    • B0 RequestMultiSellChoose
    • B1 NetPing
    • B2 RequestRemainTime
    • B3 BypassUserCmd
    • B4 GMSnoopEnd
    • B5 RequestRecipeBookOpen
    • B6 RequestRecipeItemDelete
    • B7 RequestRecipeItemMakeInfo
    • B8 RequestRecipeItemMakeSelf
    • B9 RequestRecipeShopManageList
    • BA RequestRecipeShopMessageSet
    • BB RequestRecipeShopListSet
    • BC RequestRecipeShopManageQuit
    • BD RequestRecipeShopManageCancel
    • BE RequestRecipeShopMakeInfo
    • BF RequestRecipeShopMakeDo
    • C0 RequestRecipeShopSellList
    • C1 RequestObserverEnd
    • C2 VoteSociality
    • C3 RequestHennaItemList
    • C4 RequestHennaItemInfo
    • C5 RequestBuySeed
    • C6 ConfirmDlg
    • C7 RequestPreviewItem
    • C8 RequestSSQStatus
    • C9 PetitionVote
    • CB ReplyGameGuardQuery
    • CC RequestPledgePower
    • CD RequestMakeMacro
    • CE RequestDeleteMacro
    • CF RequestProcureCrop
    • D0:01 RequestManorList
    • D0:02 RequestProcureCropList
    • D0:03 RequestSetSeed
    • D0:04 RequestSetCrop
    • D0:05 RequestWriteHeroWords
    • D0:06 RequestExAskJoinMPCC
    • D0:07 RequestExAcceptJoinMPCC
    • D0:08 RequestExOustFromMPCC
    • D0:09 RequestOustFromPartyRoom
    • D0:0A RequestDismissPartyRoom
    • D0:0B RequestWithdrawPartyRoom
    • D0:0C RequestHandOverPartyMaster
    • D0:0D RequestAutoSoulShot
    • D0:0E RequestExEnchantSkillInfo
    • D0:0F RequestExEnchantSkill
    • D0:10 RequestExPledgeEmblem
    • D0:11 RequestExSetPledgeCrestLargeRemainPart
    • D0:12 RequestPledgeSetAcademyMaster
    • D0:13 RequestPledgePowerGradeList
    • D0:14 RequestPledgeMemberPowerInfo
    • D0:15 RequestPledgeSetMemberPowerGrade
    • D0:16 RequestPledgeMemberInfo
    • D0:17 RequestPledgeWarList
    • D0:18 RequestExFishRanking
    • D0:19 RequestPCCafeCouponUse
    • D0:1A RequestExOrcMove
    • D0:1B RequestDuelStart
    • D0:1C RequestDuelAnswerStart
    • D0:1D RequestExSetTutorial
    • D0:1E RequestExRqItemLink
    • D0:1F RequestCannotMoveAnymoreAirShip
    • D0:20 RequestMoveToLocationInAirShip
    • D0:21 RequestKeyMapping
    • D0:22 RequestSaveKeyMapping
    • D0:23 RequestExRemoveItemAttribute
    • D0:24 RequestSaveInventoryOrder
    • D0:25 RequestExitPartyMatchingWaitingRoom
    • D0:26 RequestConfirmTargetItem
    • D0:27 RequestConfirmRefinerItem
    • D0:28 RequestConfirmGemStone
    • D0:29 RequestOlympiadObserverEnd
    • D0:2A RequestCursedWeaponList
    • D0:2B RequestCursedWeaponLocation
    • D0:2C RequestPledgeReorganizeMember
    • D0:2D RequestExMPCCShowPartyMembersInfo
    • D0:2F RequestAskJoinPartyRoom
    • D0:30 AnswerJoinPartyRoom
    • D0:31 RequestListPartyMatchingWaitingRoom
    • D0:32 RequestExEnchantItemAttribute
    • D0:33 RequestGotoLobby
    • D0:35 RequestMoveToLocationAirShip
    • D0:36 RequestBidItemAuction
    • D0:37 RequestInfoItemAuction
    • D0:38 RequestExChangeName
    • D0:39 RequestAllCastleInfo
    • D0:3A RequestAllFortressInfo
    • D0:3B RequestAllAgitInfo
    • D0:3C RequestFortressSiegeInfo
    • D0:3D RequestGetBossRecord
    • D0:3E RequestRefine
    • D0:3F RequestConfirmCancelItem
    • D0:40 RequestRefineCancel
    • D0:41 RequestExMagicSkillUseGround
    • D0:42 RequestDuelSurrender
    • D0:43 RequestExEnchantSkillInfoDetail
    • D0:45 RequestFortressMapInfo
    • D0:46 RequestPVPMatchRecord
    • D0:47 SetPrivateStoreWholeMsg
    • D0:48 RequestDispel
    • D0:49 RequestExTryToPutEnchantTargetItem
    • D0:4A RequestExTryToPutEnchantSupportItem
    • D0:4B RequestExCancelEnchantItem
    • D0:4C RequestChangeNicknameColor
    • D0:4D RequestResetNickname
    • D0:4E:00 RequestBookMarkSlotInfo
    • D0:4E:01 RequestSaveBookMarkSlot
    • D0:4E:02 RequestModifyBookMarkSlot
    • D0:4E:03 RequestDeleteBookMarkSlot
    • D0:4E:04 RequestTeleportBookMark
    • D0:4E:05 RequestChangeBookMarkSlot
    • D0:4F RequestWithDrawPremiumItem
    • D0:50 RequestJump
    • D0:51 RequestStartShowCrataeCubeRank
    • D0:52 RequestStopShowCrataeCubeRank
    • D0:53 RequestNotifyStartMiniGame
    • D0:54 RequestJoinDominionWar
    • D0:55 RequestDominionInfo
    • D0:56 RequestExCleftEnter
    • D0:57 RequestExBlockGameEnter
    • D0:58 RequestEndScenePlayer
    • D0:59 RequestExBlockGameVote
    • D0:5A RequestListMpccWaiting
    • D0:5B RequestManageMpccRoom
    • D0:5C RequestJoinMpccRoom
    • D0:5D RequestOustFromMpccRoom
    • D0:5E RequestDismissMpccRoom
    • D0:5F RequestWithdrawMpccRoom
    • D0:60 RequestSeedPhase
    • D0:61 RequestMpccPartymasterList
    • D0:62 RequestPostItemList
    • D0:63 RequestSendPost
    • D0:64 RequestReceivedPostList
    • D0:65 RequestDeleteReceivedPost
    • D0:66 RequestReceivedPost
    • D0:67 RequestReceivePost
    • D0:68 RequestRejectPost
    • D0:69 RequestSentPostList
    • D0:6A RequestDeleteSentPost
    • D0:6B RequestSentPost
    • D0:6C RequestCancelSentPost
    • D0:6D RequestShowNewUserPetition
    • D0:6E RequestExShowStepTwo
    • D0:6F RequestExShowStepThree
    • D0:70 RequestExConnectToRaidServer
    • D0:71 RequestExReturnFromRaidServer
    • D0:72 RequestRefundItem
    • D0:73 RequestBuySellUIClose
    • D0:74 RequestEventMatchObserverEnd
    • D0:75 RequestPartyLootingModify
    • D0:76 RequestAnswerPartyLootingModify
    • D0:77 RequestAnswerCoupleAction
    • D0:78 RequestExBR_EventRankerList
    • D0:79 RequestAskMemberShip
    • D0:7A RequestAddExpandQuestAlarm
    • D0:7B RequestNewVoteSystem
    • D0:7C GetOnShuttle
    • D0:7D GetOffShuttle
    • D0:7E MoveToLocationInShuttle
    • D0:7F CanNotMoveAnymoreInShuttle
    • D0:80:01 RequestExAgitInitialize
    • D0:80:02 RequestExAgitDetailInfo
    • D0:80:03 RequestExMyAgitState
    • D0:80:04 RequestExRegisterAgitForBidStep1
    • D0:80:05 RequestExRegisterAgitForBidStep3
    • D0:80:07 RequestExConfirmCancelRegisteringAgit
    • D0:80:08 RequestExProceedCancelRegisteringAgit
    • D0:80:09 RequestExConfirmCancelAgitLot
    • D0:80:0A RequestExProceedCancelAgitLot
    • D0:80:0D RequestExApplyForBidStep1
    • D0:80:0E RequestExApplyForBidStep2
    • D0:80:0F RequestExApplyForBidStep3
    • D0:80:10 RequestExReBid
    • D0:80:11 RequestExAgitListForLot
    • D0:80:12 RequestExApplyForAgitLotStep1
    • D0:80:13 RequestExApplyForAgitLotStep2
    • D0:80:14 RequestExAgitListForBid
    • D0:81 RequestExAddPostFriendForPostBox
    • D0:82 RequestExDeletePostFriendForPostBox
    • D0:83 RequestExShowPostFriendListForPostBox
    • D0:84 RequestExFriendListForPostBox
    • D0:85 RequestOlympiadMatchList
    • D0:86 RequestBR_GamePoint
    • D0:87 RequestBR_ProductList
    • D0:88 RequestBR_ProductInfo
    • D0:89 RequestBR_BuyProduct
    • D0:8A RequestBR_RecentProductList
    • D0:8B RequestBR_MiniGameLoadScores
    • D0:8C RequestBR_MiniGameInsertScore
    • D0:8D RequestBR_LectureMark
    • D0:8E RequestCrystallizeEstimate
    • D0:8F RequestCrystallizeItemCancel
    • D0:90 RequestExEscapeScene
    • D0:91 RequestFlyMove
    • D0:92 RequestSurrenderPledgeWarEX
    • D0:93:02 RequestDynamicQuestProgressInfo
    • D0:93:03 RequestDynamicQuestScoreBoard
    • D0:93:04 RequestDynamicQuestHTML
    • D0:94 RequestFriendDetailInfo
    • D0:95 RequestUpdateFriendMemo
    • D0:96 RequestUpdateBlockMemo
    • D0:97 RequestInzonePartyInfoHistory
    • D0:98 RequestCommissionRegistrableItemList
    • D0:99 RequestCommissionInfo
    • D0:9A RequestCommissionRegister
    • D0:9B RequestCommissionCancel
    • D0:9C RequestCommissionDelete
    • D0:9D RequestCommissionList
    • D0:9E RequestCommissionBuyInfo
    • D0:9F RequestCommissionBuyItem
    • D0:A0 RequestCommissionRegisteredItem
    • D0:A1 RequestCallToChangeClass
    • D0:A2 RequestChangeToAwakenedClass
    • D0:A3 RequestWorldStatistics
    • D0:A4 RequestUserStatistics
    • D0:A5 RequestWebSessionID
    • D0:A6 RequestEx2ndPasswordCheck
    • D0:A7 RequestEx2ndPasswordVerify
    • D0:A8 RequestEx2ndPasswordReq
    • D0:A9 RequestCharacterNameCreatable
    • D0:AA RequestGoodsInventoryInfo
    • D0:AB RequestUseGoodsInventoryItem
    • D0:AC RequestFirstPlayStart
    • D0:AD RequestFlyMoveStart
    • D0:AE RequestHardWareInfo
    • D0:B0 RequestChangeAttributeTargetItem
    • D0:B1 RequestChangeAttributeItem
    • D0:B2 RequestChangeAttributeCancel
    • D0:B3 RequestBR_PresentBuyProduct
    • D0:B4 RequestConfirmMenteeAdd
    • D0:B5 RequestMentorCancel
    • D0:B6 RequestMentorList
    • D0:B7 RequestMenteeAdd
    • D0:B8 RequestMenteeWaitingList
    • D0:B9 RequestJoinPledgeByName
    • D0:BA RequestInzoneWaitingTime
    • D0:BB RequestJoinCuriousHouse
    • D0:BC RequestCancelCuriousHouse
    • D0:BD RequestLeaveCuriousHouse
    • D0:BE RequestObservingListCuriousHouse
    • D0:BF RequestObservingCuriousHouse
    • D0:C0 RequestLeaveObservingCuriousHouse
    • D0:C1 RequestCuriousHouseHtml
    • D0:C2 RequestCuriousHouseRecord
    • D0:C3 RequestExSysString
    • D0:C4 RequestExTryToPut_Shape_Shifting_TargetItem
    • D0:C5 RequestExTryToPut_Shape_Shifting_EnchantSupportItem
    • D0:C6 RequestExCancelShape_Shifting_Item
    • D0:C7 RequestShape_Shifting_Item
    • D0:C8 NCGuardSendDataToServer
    • D0:C9 RequestEventKalieToken
    • D0:CA RequestShowBeautyList
    • D0:CB RequestRegistBeauty
    • D0:CD RequestResetBeauty
    • D0:CE SpeedHack
    • D0:CF RequestBR_AddBasketProductInfo
    • D0:D0 RequestBR_DeleteBasketProductInfo
    • D0:D1 RequestBR_NewIConCashBtnWnd
    • D0:D2 RequestExEventCampaignInfo
    • D0:D3 RequestPledgeRecruitInfo
    • D0:D4 RequestPledgeRecruitBoardSearch
    • D0:D5 RequestPledgeRecruitBoardAccess
    • D0:D6 RequestPledgeRecruitBoardDetail
    • D0:D7 RequestPledgeWaitingApply
    • D0:D8 RequestPledgeWaitingApplied
    • D0:D9 RequestPledgeWaitingList
    • D0:DA RequestPledgeWaitingUser
    • D0:DB RequestPledgeWaitingUserAccept
    • D0:DC RequestPledgeDraftListSearch
    • D0:DD RequestPledgeDraftListApply
    • D0:DE RequestPledgeRecruitApplyInfo
    • D0:DF RequestPledgeJoinSys
    • D0:E0 RequestResponsePetitionAlarm
    • D0:E1 RequestNotifyExitBeautyshop
    • D0:E2 RequestRegisterXMasWishCard
    • D0:E3 RequestExAddEnchantScrollItem
    • D0:E4 RequestExRemoveEnchantSupportItem
    • D0:E5 RequestCardReward
    • D0:E6 RequestDivideAdenaStart
    • D0:E7 RequestDivideAdenaCancel
    • D0:E8 RequestDivideAdena
    • D0:E9 RequestAcquireAbilityList
    • D0:EA RequestAbilityList
    • D0:EB RequestResetAbilityPoint
    • D0:EC RequestChangeAbilityPoint
    • D0:ED RequestStopMove
    • D0:EE RequestAbilityWndOpen
    • D0:EF RequestAbilityWndClose
    • D0:F0 RequestExPCCafeRequestOpenWindowWithoutNPC
    • D0:F2 RequestLuckyGamePlay
    • D0:F3 RequestNotifyTrainingRoomEnd
    • D0:F4 RequestNewEnchantPushOne
    • D0:F5 RequestNewEnchantRemoveOne
    • D0:F6 RequestNewEnchantPushTwo
    • D0:F7 RequestNewEnchantRemoveTwo
    • D0:F8 RequestNewEnchantClose
    • D0:F9 RequestNewEnchantTry
    • D0:FA RequestNewEnchantRetryToPutItems
    • D0:FE RequestTargetActionMenu
    • D0:FF RequestExSendSelectedQuestZoneID
    • D0:100 RequestAlchemySkillList
    • D0:101 RequestAlchemyTryMixCube
    • D0:102 RequestAlchemyConversion
    • D0:103 RequestSendExecutedUIEventsCount
    • D0:104 ExSendClientINI
    • D0:105 RequestExAutoFish
    • D0:106 RequestVipAttendanceItemList
    • D0:107 RequestVipAttendanceCheck
    • D0:108 RequestItemEnsoul
    • D0:109 RequestCastleWarSeasonReward
    • D0:10A RequestVipProductList
    • D0:10B RequestVipLuckyGameInfo
    • D0:10C RequestVipLuckyGameItemList
    • D0:10D RequestVipLuckyGameBonus
    • D0:10E ExRequestVipInfo
    • D0:10F RequestCaptchaAnswer
    • D0:110 RequestRefreshCaptchaImage
    • D0:111 RequestPledgeSignInForOpenJoiningMethod
    • D0:112 ExRequestMatchArena
    • D0:113 ExConfirmMatchArena
    • D0:114 ExCancelMatchArena
    • D0:115 ExChangeClassArena
    • D0:116 ExConfirmClassArena
    • D0:117 RequestOpenDecoNPCUI
    • D0:118 RequestCheckAgitDecoAvailability
    • D0:119 RequestUserFactionInfo
    • D0:11A ExExitArena
    • D0:11B RequestEventBalthusToken
    • D0:11C RequestPartyMatchingHistory
    • D0:11D RequestTodoList
    • D0:11E RequestTodoListHTML
    • D0:11F RequestOneDayRewardReceive
    • D0:120 RequestQueueTicket
    • D0:121 RequestPledgeBonusOpen
    • D0:122 RequestPledgeBonusRewardList
    • D0:123 RequestPledgeBonusReward
    • D0:124 RequestSSOAuthnToken
    • D0:125 RequestQueueTicketLogin
    • D0:126 RequestBlockMemoInfo
    • D0:127 RequestTryEnSoulExtraction
    Server

    • 00 Die
    • 01 Revive
    • 02 AttackOutofRange
    • 03 AttackinCoolTime
    • 04 AttackDeadTarget
    • 05 SpawnItem
    • 08 DeleteObject
    • 09 CharacterSelectionInfo
    • 0A LoginResult
    • 0B CharacterSelected
    • 0C ExNpcInfo
    • 0D NewCharacterSuccess
    • 0E NewCharacterFail
    • 0F CharacterCreateSuccess
    • 10 CharacterCreateFail
    • 11 ItemList
    • 12 SunRise
    • 13 SunSet
    • 14 TradeStart
    • 15 TradeStartOk
    • 16 DropItem
    • 17 GetItem
    • 18 StatusUpdate
    • 19 NpcHtmlMessage
    • 1A TradeOwnAdd
    • 1B TradeOtherAdd
    • 1C TradeDone
    • 1D CharacterDeleteSuccess
    • 1E CharacterDeleteFail
    • 1F ActionFail
    • 20 ServerClose
    • 21 InventoryUpdate
    • 22 TeleportToLocation
    • 23 TargetSelected
    • 24 TargetUnselected
    • 25 AutoAttackStart
    • 26 AutoAttackStop
    • 27 SocialAction
    • 28 ChangeMoveType
    • 29 ChangeWaitType
    • 2A ManagePledgePower
    • 2B CreatePledge
    • 2C AskJoinPledge
    • 2D JoinPledge
    • 2E VersionCheck
    • 2F MoveToLocation
    • 30 NpcSay
    • 31 CharInfo
    • 32 ExUserInfo
    • 33 Attack
    • 34 WithdrawalPledge
    • 35 OustPledgeMember
    • 36 SetOustPledgeMember
    • 37 DismissPledge
    • 38 SetDismissPledge
    • 39 AskJoinParty
    • 3A JoinParty
    • 3B WithdrawalParty
    • 3C OustPartyMember
    • 3D SetOustPartyMember
    • 3E DismissParty
    • 3F SetDismissParty
    • 40 UserAck
    • 41 WareHouseDepositList
    • 42 WareHouseWithdrawList
    • 43 WareHouseDone
    • 44 ShortCutRegister
    • 45 ShortCutInit
    • 46 ShortCutDelete
    • 47 StopMove
    • 48 MagicSkillUse
    • 49 MagicSkillCanceled
    • 4A Say2
    • 4B ExNpcInfoAbnormalVisualEffect
    • 4C DoorInfo
    • 4D DoorStatusUpdate
    • 4E PartySmallWindowAll
    • 4F PartySmallWindowAdd
    • 50 PartySmallWindowDeleteAll
    • 51 PartySmallWindowDelete
    • 52 PartySmallWindowUpdate
    • 53 TradePressOwnOk
    • 54 MagicSkillLaunched
    • 55 FriendAddRequestResult
    • 56 FriendAdd
    • 57 FriendRemove
    • 58 FriendList
    • 59 FriendStatus
    • 5A PledgeShowMemberListAll
    • 5B PledgeShowMemberListUpdate
    • 5C PledgeShowMemberListAdd
    • 5D PledgeShowMemberListDelete
    • 5E MagicList
    • 5F SkillList
    • 60 VehicleInfo
    • 61 FinishRotating
    • 62 SystemMessage
    • 63 StartPledgeWar
    • 64 ReplyStartPledgeWar
    • 65 StopPledgeWar
    • 66 ReplyStopPledgeWar
    • 67 SurrenderPledgeWar
    • 68 ReplySurrenderPledgeWar
    • 69 SetPledgeCrest
    • 6A PledgeCrest
    • 6B SetupGauge
    • 6C VehicleDeparture
    • 6D VehicleCheckLocation
    • 6E GetOnVehicle
    • 6F GetOffVehicle
    • 70 TradeRequest
    • 71 RestartResponse
    • 72 MoveToPawn
    • 73 SSQInfo
    • 74 GameGuardQuery
    • 75 L2FriendList
    • 77 L2FriendStatus
    • 78 L2FriendSay
    • 79 ValidateLocation
    • 7A StartRotating
    • 7B ShowBoard
    • 7C ChooseInventoryItem
    • 7D Dummy_7D
    • 7E MoveToLocationInVehicle
    • 7F StopMoveInVehicle
    • 80 ValidateLocationInVehicle
    • 81 TradeUpdate
    • 82 TradePressOtherOk
    • 83 FriendAddRequest
    • 84 LogOutOk
    • 85 AbnormalStatusUpdate
    • 86 QuestList
    • 87 EnchantResult
    • 88 PledgeShowMemberListDeleteAll
    • 89 PledgeInfo
    • 8A PledgeExtendedInfo
    • 8B ExSummonInfo
    • 8C Ride
    • 8D GiveNickNameDone
    • 8E PledgeShowInfoUpdate
    • 8F ClientAction
    • 90 ExAcquirableSkillListByClass
    • 91 AcquireSkillInfo
    • 92 ServerObjectInfo
    • 93 GMHide
    • 94 AcquireSkillDone
    • 95 GMViewCharacterInfo
    • 96 GMViewPledgeInfo
    • 97 GMViewSkillInfo
    • 98 GMViewMagicInfo
    • 99 GMViewQuestInfo
    • 9A GMViewItemList
    • 9B GMViewWarehouseWithdrawList
    • 9C ListPartyWaiting
    • 9D PartyRoomInfo
    • 9E PlaySound
    • 9F StaticObject
    • A0 PrivateStoreSellManageList
    • A1 PrivateStoreSellList
    • A2 PrivateStoreSellMsg
    • A3 ShowMinimap
    • A4 ReviveRequest
    • A5 AbnormalVisualEffect
    • A6 TutorialShowHtml
    • A7 ShowTutorialMark
    • A8 TutorialEnableClientEvent
    • A9 TutorialCloseHtml
    • AA ShowRadar
    • AB WithdrawAlliance
    • AC OustAllianceMemberPledge
    • AD DismissAlliance
    • AE SetAllianceCrest
    • AF AllianceCrest
    • B0 ServerCloseSocket
    • B1 PetStatusShow
    • B2 MyPetSummonInfo
    • B3 PetItemList
    • B4 PetInventoryUpdate
    • B5 AllianceInfo
    • B6 PetStatusUpdate
    • B7 PetDelete
    • B8 DeleteRadar
    • B9 MyTargetSelected
    • BA PartyMemberPosition
    • BB AskJoinAlliance
    • BC JoinAlliance
    • BD PrivateStoreBuyManageList
    • BE PrivateStoreBuyList
    • BF PrivateStoreBuyMsg
    • C0 VehicleStart
    • C1 ExNpcInfoState
    • C2 StartAllianceWar
    • C3 ReplyStartAllianceWar
    • C4 StopAllianceWar
    • C5 ReplyStopAllianceWar
    • C6 SurrenderAllianceWar
    • C7 SkillCoolTime
    • C8 PackageToList
    • C9 CastleSiegeInfo
    • CA CastleSiegeAttackerList
    • CB CastleSiegeDefenderList
    • CC NickNameChanged
    • CD PledgeStatusChanged
    • CE RelationChanged
    • CF EventTrigger
    • D0 MultiSellList
    • D1 SetSummonRemainTime
    • D2 PackageSendableList
    • D3 EarthQuake
    • D4 FlyToLocation
    • D5 BlockList
    • D6 SpecialCamera
    • D7 NormalCamera
    • D8 SkillRemainSec
    • D9 NetPing
    • DA Dice
    • DB Snoop
    • DC RecipeBookItemList
    • DD RecipeItemMakeInfo
    • DE RecipeShopManageList
    • DF RecipeShopSellList
    • E0 RecipeShopItemInfo
    • E1 RecipeShopMsg
    • E2 ShowCalc
    • E3 MonRaceInfo
    • E4 HennaItemInfo
    • E5 HennaInfo
    • E6 HennaUnequipList
    • E7 HennaUnequipInfo
    • E8 MacroList
    • E9 BuyListSeed
    • EA ShowTownMap
    • EB ObserverStart
    • EC ObserverEnd
    • ED ChairSit
    • EE HennaEquipList
    • EF SellListProcure
    • F0 GMHennaInfo
    • F1 RadarControl
    • F2 ClientSetTime
    • F3 ConfirmDlg
    • F4 PartySpelled
    • F5 ShopPreviewList
    • F6 ShopPreviewInfo
    • F7 CameraMode
    • F8 ShowXMasSeal
    • F9 EtcStatusUpdate
    • FA ShortBuffStatusUpdate
    • FB SSQStatus
    • FC PetitionVote
    • FD AgitDecoInfo
    • FE:01 ExRegenMax
    • FE:02 ExEventMatchUserInfo
    • FE:03 ExColosseumFenceInfo
    • FE:04 ExEventMatchSpelledInfo
    • FE:05 ExEventMatchFirecracker
    • FE:06 ExEventMatchTeamUnlocked
    • FE:07 ExEventMatchGMTest
    • FE:08 ExPartyRoomMember
    • FE:09 ExClosePartyRoom
    • FE:0A ExManagePartyRoomMember
    • FE:0B ExEventMatchLockResult
    • FE:0C ExAutoSoulShot
    • FE:0D ExEventMatchList
    • FE:0E ExEventMatchObserver
    • FE:0F ExEventMatchMessage
    • FE:10 ExEventMatchScore
    • FE:11 ExServerPrimitive
    • FE:12 ExOpenMPCC
    • FE:13 ExCloseMPCC
    • FE:14 ExShowCastleInfo
    • FE:15 ExShowFortressInfo
    • FE:16 ExShowAgitInfo
    • FE:17 ExShowFortressSiegeInfo
    • FE:18 ExPartyPetWindowAdd
    • FE:19 ExPartyPetWindowUpdate
    • FE:1A ExAskJoinMPCC
    • FE:1B ExPledgeEmblem
    • FE:1C ExEventMatchTeamInfo
    • FE:1D ExEventMatchCreate
    • FE:1E ExFishingStart
    • FE:1F ExFishingEnd
    • FE:20 ExShowQuestInfo
    • FE:21 ExShowQuestMark
    • FE:22 ExSendManorList
    • FE:23 ExShowSeedInfo
    • FE:24 ExShowCropInfo
    • FE:25 ExShowManorDefaultInfo
    • FE:26 ExShowSeedSetting
    • FE:27 ExFishingStartCombat
    • FE:28 ExFishingHpRegen
    • FE:29 ExEnchantSkillList
    • FE:2A ExEnchantSkillInfo
    • FE:2B ExShowCropSetting
    • FE:2C ExShowSellCropList
    • FE:2D ExOlympiadMatchEnd
    • FE:2E ExMailArrived
    • FE:2F ExStorageMaxCount
    • FE:30 ExEventMatchManage
    • FE:31 ExMultiPartyCommandChannelInfo
    • FE:32 ExPCCafePointInfo
    • FE:33 ExSetCompassZoneCode
    • FE:34 ExGetBossRecord
    • FE:35 ExAskJoinPartyRoom
    • FE:36 ExListPartyMatchingWaitingRoom
    • FE:37 ExSetMpccRouting
    • FE:38 ExShowAdventurerGuideBook
    • FE:39 ExShowScreenMessage
    • FE:3A PledgeSkillList
    • FE:3B PledgeSkillListAdd
    • FE:3C PledgeSkillListRemove
    • FE:3D PledgePowerGradeList
    • FE:3E PledgeReceivePowerInfo
    • FE:3F PledgeReceiveMemberInfo
    • FE:40 PledgeReceiveWarList
    • FE:41 PledgeReceiveSubPledgeCreated
    • FE:42 ExRedSky
    • FE:43 PledgeReceiveUpdatePower
    • FE:44 FlySelfDestination
    • FE:45 ShowPCCafeCouponShowUI
    • FE:46 ExSearchOrc
    • FE:47 ExCursedWeaponList
    • FE:48 ExCursedWeaponLocation
    • FE:49 ExRestartClient
    • FE:4A ExRequestHackShield
    • FE:4B ExUseSharedGroupItem
    • FE:4C ExMPCCShowPartyMemberInfo
    • FE:4D ExDuelAskStart
    • FE:4E ExDuelReady
    • FE:4F ExDuelStart
    • FE:50 ExDuelEnd
    • FE:51 ExDuelUpdateUserInfo
    • FE:52 ExShowVariationMakeWindow
    • FE:53 ExShowVariationCancelWindow
    • FE:54 ExPutItemResultForVariationMake
    • FE:55 ExPutIntensiveResultForVariationMake
    • FE:56 ExPutCommissionResultForVariationMake
    • FE:57 ExVariationResult
    • FE:58 ExPutItemResultForVariationCancel
    • FE:59 ExVariationCancelResult
    • FE:5A ExDuelEnemyRelation
    • FE:5B ExPlayAnimation
    • FE:5C ExMPCCPartyInfoUpdate
    • FE:5D ExPlayScene
    • FE:5E ExSpawnEmitter
    • FE:5F ExEnchantSkillInfoDetail
    • FE:60 ExBasicActionList
    • FE:61 ExAirShipInfo
    • FE:62 ExAttributeEnchantResult
    • FE:63 ExChooseInventoryAttributeItem
    • FE:64 ExGetOnAirShip
    • FE:65 ExGetOffAirShip
    • FE:66 ExMoveToLocationAirShip
    • FE:67 ExStopMoveAirShip
    • FE:68 ExShowTrace
    • FE:69 ExItemAuctionInfo
    • FE:6A ExNeedToChangeName
    • FE:6B ExPartyPetWindowDelete
    • FE:6C ExTutorialList
    • FE:6D ExRpItemLink
    • FE:6E ExMoveToLocationInAirShip
    • FE:6F ExStopMoveInAirShip
    • FE:70 ExValidateLocationInAirShip
    • FE:71 ExUISetting
    • FE:72 ExMoveToTargetInAirShip
    • FE:73 ExAttackInAirShip
    • FE:74 ExMagicSkillUseInAirShip
    • FE:75 ExShowBaseAttributeCancelWindow
    • FE:76 ExBaseAttributeCancelResult
    • FE:77 ExSubPledgeSkillAdd
    • FE:78 ExResponseFreeServer
    • FE:79 ExShowProcureCropDetail
    • FE:7A ExHeroList
    • FE:7B ExOlympiadUserInfo
    • FE:7C ExOlympiadSpelledInfo
    • FE:7D ExOlympiadMode
    • FE:7E ExShowFortressMapInfo
    • FE:7F ExPVPMatchRecord
    • FE:80 ExPVPMatchUserDie
    • FE:81 ExPrivateStorePackageMsg
    • FE:82 ExPutEnchantTargetItemResult
    • FE:83 ExPutEnchantSupportItemResult
    • FE:84 ExRequestChangeNicknameColor
    • FE:85 ExGetBookMarkInfo
    • FE:86 ExNotifyPremiumItem
    • FE:87 ExGetPremiumItemList
    • FE:88 ExPeriodicItemList
    • FE:89 ExJumpToLocation
    • FE:8A ExPVPMatchCCRecord
    • FE:8B ExPVPMatchCCMyRecord
    • FE:8C ExPVPMatchCCRetire
    • FE:8D ExShowTerritory
    • FE:8E ExNpcQuestHtmlMessage
    • FE:8F ExSendUIEvent
    • FE:90 ExNotifyBirthDay
    • FE:91 ExShowDominionRegistry
    • FE:92 ExReplyRegisterDominion
    • FE:93 ExReplyDominionInfo
    • FE:94 ExShowOwnthingPos
    • FE:95 ExCleftList
    • FE:96 ExCleftState
    • FE:97 ExDominionChannelSet
    • FE:98 ExBlockUpSetList
    • FE:99 ExBlockUpSetState
    • FE:9A ExStartScenePlayer
    • FE:9B ExAirShipTeleportList
    • FE:9C ExMpccRoomInfo
    • FE:9D ExListMpccWaiting
    • FE:9E ExDissmissMpccRoom
    • FE:9F ExManageMpccRoomMember
    • FE:A0 ExMpccRoomMember
    • FE:A1 ExVitalityPointInfo
    • FE:A2 ExShowSeedMapInfo
    • FE:A3 ExMpccPartymasterList
    • FE:A4 ExDominionWarStart
    • FE:A5 ExDominionWarEnd
    • FE:A6 ExShowLines
    • FE:A7 ExPartyMemberRenamed
    • FE:A8 ExEnchantSkillResult
    • FE:A9 ExRefundList
    • FE:AA ExNoticePostArrived
    • FE:AB ExShowReceivedPostList
    • FE:AC ExReplyReceivedPost
    • FE:AD ExShowSentPostList
    • FE:AE ExReplySentPost
    • FE:AF ExResponseShowStepOne
    • FE:B0 ExResponseShowStepTwo
    • FE:B1 ExResponseShowContents
    • FE:B2 ExShowPetitionHtml
    • FE:B3 ExReplyPostItemList
    • FE:B4 ExChangePostState
    • FE:B5 ExNoticePostSent
    • FE:B6 ExInitializeSeed
    • FE:B7 ExRaidReserveResult
    • FE:B8 ExBuySellList
    • FE:B9 ExCloseRaidSocket
    • FE:BA ExPrivateMarketList
    • FE:BB ExRaidCharacterSelected
    • FE:BC ExAskCoupleAction
    • FE:BD ExBrBroadcastEventState
    • FE:BE ExBR_LoadEventTopRankers
    • FE:BF ExChangeNpcState
    • FE:C0 ExAskModifyPartyLooting
    • FE:C1 ExSetPartyLooting
    • FE:C2 ExRotation
    • FE:C3 ExChangeClientEffectInfo
    • FE:C4 ExMembershipInfo
    • FE:C5 ExReplyHandOverPartyMaster
    • FE:C6 ExQuestNpcLogList
    • FE:C7 ExQuestItemList
    • FE:C8 ExGMViewQuestItemList
    • FE:C9 ExRestartResponse
    • FE:CA ExVoteSystemInfo
    • FE:CB ExShuttleInfo
    • FE:CC ExSuttleGetOn
    • FE:CD ExSuttleGetOff
    • FE:CE ExSuttleMove
    • FE:CF ExMoveToLocationInSuttle
    • FE:D0 ExStopMoveInShuttle
    • FE:D1 ExValidateLocationInShuttle
    • FE:D2 ExAgitAuctionCmd
    • FE:D3 ExConfirmAddingPostFriend
    • FE:D4 ExReceiveShowPostFriend
    • FE:D5 ExReceiveOlympiad
    • FE:D6 ExBR_GamePoint
    • FE:D7 ExBR_ProductList
    • FE:D8 ExBR_ProductInfo
    • FE:D9 ExBR_BuyProduct
    • FE:DA ExBR_PremiumState
    • FE:DB ExBrExtraUserInfo
    • FE:DC ExBrBuffEventState
    • FE:DD ExBR_RecentProductList
    • FE:DE ExBR_MinigameLoadScores
    • FE:DF ExBR_AgathionEnergyInfo
    • FE:E0 ExShowChannelingEffect
    • FE:E1 ExGetCrystalizingEstimation
    • FE:E2 ExGetCrystalizingFail
    • FE:E3 ExNavitAdventPointInfo
    • FE:E4 ExNavitAdventEffect
    • FE:E5 ExNavitAdventTimeChange
    • FE:E6 ExAbnormalStatusUpdateFromTarget
    • FE:E7 ExStopScenePlayer
    • FE:E8 ExFlyMove
    • FE:E9 ExDynamicQuest
    • FE:EA ExSubjobInfo
    • FE:EB ExChangeMPCost
    • FE:EC ExFriendDetailInfo
    • FE:ED ExBlockAddResult
    • FE:EE ExBlockRemoveResult
    • FE:EF ExBlockDetailInfo
    • FE:F0 ExLoadInzonePartyHistory
    • FE:F1 ExFriendNotifyNameChange
    • FE:F2 ExShowCommission
    • FE:F3 ExResponseCommissionItemList
    • FE:F4 ExResponseCommissionInfo
    • FE:F5 ExResponseCommissionRegister
    • FE:F6 ExResponseCommissionDelete
    • FE:F7 ExResponseCommissionList
    • FE:F8 ExResponseCommissionBuyInfo
    • FE:F9 ExResponseCommissionBuyItem
    • FE:FA AcquireSkillList
    • FE:FB ExMagicAttackInfo
    • FE:FC ExAcquireSkillInfo
    • FE:FD ExNewSkillToLearnByLevelUp
    • FE:FE ExCallToChangeClass
    • FE:FF ExChangeToAwakenedClass
    • FE:100 ExTacticalSign
    • FE:101 ExLoadStatWorldRank
    • FE:102 ExLoadStatUser
    • FE:103 ExLoadStatHotLink
    • FE:104 ExGetWebSessionID
    • FE:105 Ex2ndPasswordCheck
    • FE:106 Ex2ndPasswordVerify
    • FE:107 Ex2ndPasswordAck
    • FE:108 ExFlyMoveBroadcast
    • FE:109 ExShowUsm
    • FE:10A ExShowStatPage
    • FE:10B ExIsCharNameCreatable
    • FE:10C ExGoodsInventoryChangedNotify
    • FE:10D ExGoodsInventoryInfo
    • FE:10E ExGoodsInventoryResult
    • FE:10F ExAlterSkillRequest
    • FE:110 ExNotifyFlyMoveStart
    • FE:111 ExDummy
    • FE:112 ExCloseCommission
    • FE:113 ExChangeAttributeItemList
    • FE:114 ExChangeAttributeInfo
    • FE:115 ExChangeAttributeOk
    • FE:116 ExChangeAttributeFail
    • FE:117 ExLightingCandleEvent
    • FE:118 ExVitalityEffectInfo
    • FE:119 ExLoginVitalityEffectInfo
    • FE:11A ExBR_PresentBuyProduct
    • FE:11B ExMentorList
    • FE:11C ExMentorAdd
    • FE:11D ExMenteeListWaiting
    • FE:11E ExInzoneWaitingInfo
    • FE:11F ExCuriousHouseState
    • FE:120 ExCuriousHouseEnter
    • FE:121 ExCuriousHouseLeave
    • FE:122 ExCuriousHouseMemberList
    • FE:123 ExCuriousHouseMemberUpdate
    • FE:124 ExCuriousHouseRemainTime
    • FE:125 ExCuriousHouseResult
    • FE:126 ExCuriousHouseObserveList
    • FE:127 ExCuriousHouseObserveMode
    • FE:128 ExSysstring
    • FE:129 ExChoose_Shape_Shifting_Item
    • FE:12A ExPut_Shape_Shifting_Target_Item_Result
    • FE:12B ExPut_Shape_Shifting_Extraction_Item_Result
    • FE:12C ExShape_Shifting_Result
    • FE:12D ExCastleState
    • FE:12E ExNCGuardReceiveDataFromServer
    • FE:12F ExKalieEvent
    • FE:130 ExKalieEventJackpotUser
    • FE:131 ExAbnormalVisualEffectInfo
    • FE:132 ExNpcInfoSpeed
    • FE:133 ExSetPledgeEmblemAck
    • FE:134 ExShowBeautyMenu
    • FE:135 ExResponseBeautyList
    • FE:136 ExResponseBeautyRegistReset
    • FE:137 ExResponseResetList
    • FE:138 ExShuffleSeedAndPublicKey
    • FE:139 ExCheck_SpeedHack
    • FE:13A ExBR_NewIConCashBtnWnd
    • FE:13B ExEventCampaignInfo
    • FE:13C ExUnReadMailCount
    • FE:13D ExPledgeCount
    • FE:13E ExAdenaInvenCount
    • FE:13F ExPledgeRecruitInfo
    • FE:140 ExPledgeRecruitApplyInfo
    • FE:141 ExPledgeRecruitBoardSearch
    • FE:142 ExPledgeRecruitBoardDetail
    • FE:143 ExPledgeWaitingListApplied
    • FE:144 ExPledgeWaitingList
    • FE:145 ExPledgeWaitingUser
    • FE:146 ExPledgeDraftListSearch
    • FE:147 ExPledgeWaitingListAlarm
    • FE:148 ExValidateActiveCharacter
    • FE:149 ExCloseCommissionRegister
    • FE:14A ExTeleportToLocationActivate
    • FE:14B ExNotifyWebPetitionReplyAlarm
    • FE:14C ExEventShowXMasWishCard
    • FE:14D ExInvitation_Event_UI_Setting
    • FE:14E ExInvitation_Event_Ink_Energy
    • FE:14F ExCheckAbusing
    • FE:150 ExGMVitalityEffectInfo
    • FE:151 ExPathToAwakeningAlarm
    • FE:152 ExPutEnchantScrollItemResult
    • FE:153 ExRemoveEnchantSupportItemResult
    • FE:154 ExShowCardRewardList
    • FE:155 ExGmViewCharacterInfo
    • FE:156 ExUserInfoEquipSlot
    • FE:157 ExUserInfoCubic
    • FE:158 ExUserInfoAbnormalVisualEffect
    • FE:159 ExUserInfoFishing
    • FE:15A ExPartySpelledInfoUpdate
    • FE:15B ExDivideAdenaStart
    • FE:15C ExDivideAdenaCancel
    • FE:15D ExDivideAdenaDone
    • FE:15E ExPetInfo
    • FE:15F ExAcquireAPSkillList
    • FE:160 ExStartLuckyGame
    • FE:161 ExBettingLuckyGameResult
    • FE:162 ExTrainingZone_Admission
    • FE:163 ExTrainingZone_Leaving
    • FE:164 ExPeriodicHenna
    • FE:165 ExShowAPListWnd
    • FE:166 ExUserInfoInvenWeight
    • FE:167 ExCloseAPListWnd
    • FE:168 ExEnchantOneOK
    • FE:169 ExEnchantOneFail
    • FE:16A ExEnchantOneRemoveOK
    • FE:16B ExEnchantOneRemoveFail
    • FE:16C ExEnchantTwoOK
    • FE:16D ExEnchantTwoFail
    • FE:16E ExEnchantTwoRemoveOK
    • FE:16F ExEnchantTwoRemoveFail
    • FE:170 ExEnchantSucess
    • FE:171 ExEnchantFail
    • FE:172 ExEnchantRetryToPutItemOk
    • FE:173 ExEnchantRetryToPutItemFail
    • FE:174 ExAccountAttendanceInfo
    • FE:175 ExWorldChatCnt
    • FE:176 ExAlchemySkillList
    • FE:177 ExTryMixCube
    • FE:178 ExAlchemyConversion
    • FE:179 ExBeautyItemList
    • FE:17A ExReceiveClientINI
    • FE:17B ExAutoFishAvailable
    • FE:17C ExChannlChatEnterWorld
    • FE:17D ExChannlChatPledgeInfo
    • FE:17E ExVipAttendanceItemList
    • FE:17F ExConfirmVipAttendanceCheck
    • FE:180 ExShowEnsoulWindow
    • FE:181 ExEnsoulResult
    • FE:182 ExMultiSellResult
    • FE:183 ExCastleWarSeasonResult
    • FE:184 ExCastleWarSeasonReward
    • FE:185 ReceiveVipProductList
    • FE:186 ReceiveVipLuckyGameInfo
    • FE:187 ReceiveVipLuckyGameItemList
    • FE:188 ReceiveVipLuckyGameResult
    • FE:189 ReceiveVipInfo
    • FE:18A ReceiveVipInfoRemainTime
    • FE:18B ReceiveVipBotCaptchaImage
    • FE:18C ReceiveVipBotCaptchaAnswerResult
    • FE:18D ExPledgeSigninForOpenJoiningMethod
    • FE:18E ExRequestMatchArena
    • FE:18F ExCompleteMatchArena
    • FE:190 ExConfirmMatchArena
    • FE:191 ExCancelMatchArena
    • FE:192 ExStartChooseClassArena
    • FE:193 ExChangeClassArena
    • FE:194 ExConfirmClassArena
    • FE:195 ExStartBattleReadyArena
    • FE:196 ExBattleReadyArena
    • FE:197 ExDecoNPCInfo
    • FE:198 ExDecoNPCSet
    • FE:199 ExFactionInfo
    • FE:19A ExBattleResultArena
    • FE:19B ExClosingArena
    • FE:19C ExClosedArena
    • FE:19D ExDieInArena
    • FE:19F ExArenaDashboard
    • FE:1A0 ExArenaUpdateEquipSlot
    • FE:1A1 ExArenaKillInfo
    • FE:1A2 ExExitArena
    • FE:1A3 ExBalthusEvent
    • FE:1A4 ExBalthusEventJackpotUser
    • FE:1A5 ExPartyMatchingRoomHistory
    • FE:1A6 ExAIContentUIEvent
    • FE:1A7 ExOneDayReceiveRewardList
    • FE:1A8 ExConnectedTimeAndGetTableReward
    • FE:1A9 ExTodoListRecommend
    • FE:1AA ExTodoListInzone
    • FE:1AB ExTodoListHTML
    • FE:1AC ExQueueTicket
    • FE:1AD ExPledgeBonusOpen
    • FE:1AE ExPledgeBonusList
    • FE:1AF ExPledgeBonusMarkReset
    • FE:1B0 ExPledgeBonusUpdate
    • FE:1B1 ExSSOAuthnToken
    • FE:1B2 ExQueueTicketLogin
    • FE:1B3 ExEnSoulExtractionShow
    • FE:1B4 ExEnSoulExtractionResult
    • FE:1B5 ExBlockListForAD