Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Структура PROTOCOL_LOGIN_ACK
#1
Хей.
Подскажите структуру пакета PROTOCOL_LOGIN_ACK
Smile
Ответ
#2
Код:
/**
* h // ? (0)
* d // authState
* d // ? (0)
*
* Q // accountId
* c // accountLoginLength
* S // accountLogin
* c // ? (0)
* c // unknownStringLength (7)
* S // unknownString (1204021)
* c // ? (0)
*/

[SRC="csharp"] 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,
}
[/SRC]


Принимаю дополнения. Smile
Ответ
#3
PROGRAMMATOR Написал:
Код:
/**
* h // ? (0)
* d // authState
* d // ? (0)
*
* Q // accountId
* c // accountLoginLength
* S // accountLogin
* c // ? (0)
* c // unknownStringLength (7)
* S // unknownString (1204021)
* c // ? (0)
*/

[SRC="csharp"] 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,
}
[/SRC]


Принимаю дополнения. Smile
Спасибо!Разве
Код:
* d // authState
* d // ? (0)
authState это не long?
Ответ
#4
0x80000123 - uint, так что думаю не зачем. Другое дело, что писали корейцы, а там может быть всякое.

В ПБ я встречал ulong только в accountId, perkMask и objectId у предметов инвентаря. В Piercing Blow появился ещё NewbieGuideIsDone (это те монетки, что в интерфейсе).
Ответ
#5
Отправляю клиенту данные:
[SRC="csharp"]
// 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);
[/SRC]
А он ничем не отвечает и так и весит окно в клиенте "Подключение к серверу"
Ответ
#6
Версия последняя? Да и возможно клиент уже просит другой пакет, например следующий по-счету.

Код:
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]
Ответ
#7
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 я ему отвечаю,а он молчит(
Ответ
#8
Значит ошибка в ответе 259.
Ответ
#9
Оказалось дело в опкоде,но вот захожу на сервер и приходит пустой пакет
[Info] PacketId = 0 Length = 2116
Это что ещё такое?
Ответ
#10
А это уже проблема в чтении. Как и раньше, может прилететь несколько пакетов в одном, и например, если там было 2 пакета подряд, вы их декрипнули как один, тогда у второго уже данные будут неверными.

[SRC="csharp"]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); // << Копируем оставшиеся данные в начало буфера
}
[/SRC]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Структура, крипт и декрипт Tcp и Udp пакетов PROGRAMMATOR 22 16,496 11-28-2018, 03:59 AM
Последний пост: AngryKitten
  PROTOCOL_LOGIN_ACK Boris2105 81 12,630 06-03-2016, 07:39 PM
Последний пост: PROGRAMMATOR
  Структура PROTOCOL_BASE_GET_SCHANNELLIST_ACK BallDev 3 1,657 05-21-2016, 06:25 PM
Последний пост: PROGRAMMATOR
  Структура PROTOCOL_INVENTORY_USE_ITEM_ACK BallDev 0 964 05-06-2016, 12:36 PM
Последний пост: BallDev
  Структура PROTOCOL_BASE_GET_MYINFO_ACK BallDev 6 2,028 05-03-2016, 04:48 AM
Последний пост: crayonnet
  Структура PROTOCOL_ROOM_GET_SLOTINFO_ACK Empert 1 1,565 04-01-2016, 09:25 AM
Последний пост: PROGRAMMATOR
  [Piercing Blow] Структура PROTOCOL_BASE_GET_SYSTEM_INFO_ACK BallDev 2 2,077 03-28-2016, 08:32 PM
Последний пост: BallDev

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)