Структура PROTOCOL_LOGIN_ACK - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Ответ
Опции темы
Непрочитано 19.01.2016, 22:18   #1
Аватар для Sojang
Пользователь

Автор темы (Топик Стартер) Структура PROTOCOL_LOGIN_ACK

Хей.
Подскажите структуру пакета PROTOCOL_LOGIN_ACK
Sojang вне форума Ответить с цитированием
Непрочитано 19.01.2016, 22:32   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Структура PROTOCOL_LOGIN_ACK

Код:
/**
 * h // ? (0)
 * d // authState
 * d // ? (0)
 * 
 * Q // accountId
 * c // accountLoginLength
 * S // accountLogin
 * c // ? (0)
 * c // unknownStringLength (7)
 * S // unknownString (1204021)
 * c // ? (0)
 */
    public enum AuthState : uint
    {
        LOGGED_IN_OK = 0,
        ID_IS_ALREADY_LOGGED_IN = 0x80000101,
        ACCOUNT_IS_STILL_LOGGING_OUT = 0x80000104,
        FAILED_TO_LOGIN = 0x80000106,
        LONG_TIME_IS_INACTIVE = 0x80000107,
        ID_OR_PASSWORD_INCORRECT = 0x80000117,
        PASSWORD_MISMATCH = 0x80000118,
        DELETED_ACCOUNT = 0x80000119,
        UNCONFIRMED_EMAIL = 0x80000120,
        RESTRICTED_REGION = 0x80000123,
    }
 
Code: C#

Принимаю дополнения.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.01.2016, 22:35   #3
Аватар для Sojang
Пользователь

Автор темы (Топик Стартер) Re: Структура PROTOCOL_LOGIN_ACK

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Код:
/**
 * h // ? (0)
 * d // authState
 * d // ? (0)
 * 
 * Q // accountId
 * c // accountLoginLength
 * S // accountLogin
 * c // ? (0)
 * c // unknownStringLength (7)
 * S // unknownString (1204021)
 * c // ? (0)
 */
    public enum AuthState : uint
    {
        LOGGED_IN_OK = 0,
        ID_IS_ALREADY_LOGGED_IN = 0x80000101,
        ACCOUNT_IS_STILL_LOGGING_OUT = 0x80000104,
        FAILED_TO_LOGIN = 0x80000106,
        LONG_TIME_IS_INACTIVE = 0x80000107,
        ID_OR_PASSWORD_INCORRECT = 0x80000117,
        PASSWORD_MISMATCH = 0x80000118,
        DELETED_ACCOUNT = 0x80000119,
        UNCONFIRMED_EMAIL = 0x80000120,
        RESTRICTED_REGION = 0x80000123,
    }
 
Code: C#

Принимаю дополнения.
Спасибо!Разве
Код:
 * d // authState
 * d // ? (0)
authState это не long?
Sojang вне форума Ответить с цитированием
Непрочитано 19.01.2016, 22:38   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Структура PROTOCOL_LOGIN_ACK

0x80000123 - uint, так что думаю не зачем. Другое дело, что писали корейцы, а там может быть всякое.

В ПБ я встречал ulong только в accountId, perkMask и objectId у предметов инвентаря. В Piercing Blow появился ещё NewbieGuideIsDone (это те монетки, что в интерфейсе).
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.01.2016, 22:45   #5
Аватар для Sojang
Пользователь

Автор темы (Топик Стартер) Re: Структура PROTOCOL_LOGIN_ACK

Отправляю клиенту данные:
 
            // opcode 258
            WriteH(0);
            WriteQ(0); // authState
 
            WriteQ(1); // accountId
            WriteC(4); // accountLoginLength
            WriteS("test");
            WriteC(0);
            WriteC(7); // unknownStringLength (7)
            WriteS("1204021");
            WriteC(0);
 
Code: C#
А он ничем не отвечает и так и весит окно в клиенте "Подключение к серверу"
Sojang вне форума Ответить с цитированием
Непрочитано 19.01.2016, 22:59   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Структура PROTOCOL_LOGIN_ACK

Версия последняя? Да и возможно клиент уже просит другой пакет, например следующий по-счету.

Код:
21:01:10 [Debug] [S:1] PROTOCOL_BASE_CONNECT_ACK [514]
21:01:10 [Debug] [C:1] PROTOCOL_BASE_LOGIN_REQ [257]
21:01:11 [Debug] [S:1] PROTOCOL_MESSENGER_NOTE_LIST_ACK [933]
21:01:11 [Debug] [S:1] PROTOCOL_BASE_LOGIN_ACK [259]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_SYSTEM_INFO_REQ [522] <<
21:01:14 [Debug] [S:1] PROTOCOL_BASE_NOTICE_ACK [663]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_SYSTEM_INFO_ACK [523]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_OPTION_REQ [528]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_OPTION_ACK [529]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_USER_INFO_REQ [524]
21:01:14 [Debug] [S:1] PROTOCOL_SET_REFRESH_MEDAL_SET_ACK [4620]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_USER_INFO_ACK [525]
21:01:14 [Debug] [S:1] PROTOCOL_AUTH_FRIEND_INFO_ACK [786]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_INVEN_INFO_REQ [526]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_INVEN_INFO_ACK [527]
21:01:14 [Debug] [C:1] PROTOCOL_AUTH_GET_POINT_CASH_REQ [1057]
21:01:14 [Debug] [S:1] PROTOCOL_AUTH_GET_POINT_CASH_ACK [1058]
21:01:16 [Debug] [C:1] PROTOCOL_BASE_LOGOUT_REQ [515]
21:01:16 [Debug] [S:1] PROTOCOL_BASE_LOGOUT_ACK [516]
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 19.01.2016, 23:03   #7
Аватар для Sojang
Пользователь

Автор темы (Топик Стартер) Re: Структура PROTOCOL_LOGIN_ACK

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Версия последняя? Да и возможно клиент уже просит другой пакет, например следующий по-счету.

Код:
21:01:10 [Debug] [S:1] PROTOCOL_BASE_CONNECT_ACK [514]
21:01:10 [Debug] [C:1] PROTOCOL_BASE_LOGIN_REQ [257]
21:01:11 [Debug] [S:1] PROTOCOL_MESSENGER_NOTE_LIST_ACK [933]
21:01:11 [Debug] [S:1] PROTOCOL_BASE_LOGIN_ACK [259]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_SYSTEM_INFO_REQ [522] <<
21:01:14 [Debug] [S:1] PROTOCOL_BASE_NOTICE_ACK [663]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_SYSTEM_INFO_ACK [523]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_OPTION_REQ [528]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_OPTION_ACK [529]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_USER_INFO_REQ [524]
21:01:14 [Debug] [S:1] PROTOCOL_SET_REFRESH_MEDAL_SET_ACK [4620]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_USER_INFO_ACK [525]
21:01:14 [Debug] [S:1] PROTOCOL_AUTH_FRIEND_INFO_ACK [786]
21:01:14 [Debug] [C:1] PROTOCOL_BASE_GET_INVEN_INFO_REQ [526]
21:01:14 [Debug] [S:1] PROTOCOL_BASE_GET_INVEN_INFO_ACK [527]
21:01:14 [Debug] [C:1] PROTOCOL_AUTH_GET_POINT_CASH_REQ [1057]
21:01:14 [Debug] [S:1] PROTOCOL_AUTH_GET_POINT_CASH_ACK [1058]
21:01:16 [Debug] [C:1] PROTOCOL_BASE_LOGOUT_REQ [515]
21:01:16 [Debug] [S:1] PROTOCOL_BASE_LOGOUT_ACK [516]
Клиент не последний.Версия немного отличается GAME VER : 2.12.18.151123010.Он вроде не должен просить следующий пакет ибо я отправил пакет коннекта и он запрашивает пакет 257 я ему отвечаю,а он молчит(
Sojang вне форума Ответить с цитированием
Непрочитано 19.01.2016, 23:10   #8
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Структура PROTOCOL_LOGIN_ACK

Значит ошибка в ответе 259.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 19.01.2016, 23:24   #9
Аватар для Sojang
Пользователь

Автор темы (Топик Стартер) Re: Структура PROTOCOL_LOGIN_ACK

Оказалось дело в опкоде,но вот захожу на сервер и приходит пустой пакет
[Info] PacketId = 0 Length = 2116
Это что ещё такое?
Sojang вне форума Ответить с цитированием
Непрочитано 19.01.2016, 23:31   #10
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Структура PROTOCOL_LOGIN_ACK

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

while (received >= 6)
{
    int length = BitConverter.ToUInt16(buffer, 0) & 0x7FFF;
 
    byte[] temp = new byte[length + 2];
    Buffer.BlockCopy(buffer, 2, temp, 0, temp.Length);
 
    BitwiseHelper.Unshift(temp, bits);
 
    packetQueue.Enqueue(new ReceivePacketFrame(this, temp));
    received -= length + 4;
 
    Buffer.BlockCopy(buffer, length + 4, buffer, 0, received); // << Копируем оставшиеся данные в начало буфера
}
 
Code: C#
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура пакета Mousepro Lineage II 7 02.04.2014 15:51
Структура пакетов LineOFWar TERA 17 17.01.2013 21:13
Структура пакетов. Drack Lineage II 5 15.06.2012 22:19
C++ Структура NpcInfo ALF. Lineage II 3 17.01.2012 11:54
Структура Item.edf для 2.2.3 MMd Документация 0 24.12.2009 20:00


© 2007–2022 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 04:02. Часовой пояс GMT +3.

Вверх