Показать сообщение отдельно
Непрочитано 02.04.2020, 08:02   #1
Пользователь

Автор темы (Топик Стартер) Пакет AuthLogin в Эпилог

Есть проблема с пакетом AuthLogin, который отправляю GameServ

В интерлюд все было Ок, гейм Грации не отвечает на этот пакет.

Что записываю в AuthLogin:

размер (2 байта)
опкод пакета 0x2B (вместо 0x00)
Затем строка userLogin, переведенная в 2х-байтовый формат. Которая завершается 0x00 0x00.

Следующие 16 байт - это PlayKey2, PlayKey1, LoginKey1, LoginKey2.
Дальше такое вот завершение
08 00 00 00 3C 01 00 00 00 00 00 00 00 00 00 00

При длине loginName в 5 байт, получаю длину пакета AuthLogin в 47 байт.
3+(loginLen*2+2)+16+4+12 = 47

(3 + 12 + 20 + 12) = 47

Что интересно, геймсерв не передает логину пакет 0x05 PlayerAuthRequest.
И соответственно, не получает от него 0x03 PlayerAuthResponse.

..и поэтому клиент не проходит дальше логина,
получая там статус AUTHED_LOGIN.

По поводу sid1, sid2
java сервер видит их как четыре 8-байтовых числа:

Session: PlayOk: 67192080 1468838267 LoginOk:494510696 603722778
playOkID: 4014510 : 578cb17b
LoginID: 1d79a268 : 23fc141a

в то же время клиент видит их как две строки по 8 unsigned char:

LognKey: sid1 (ls): 68 a2 79 1d 1a 14 fc 23
PlayKey: sid2 (gs): 10 45 01 04 7b b1 8c 57

Версия протокола 152.
Tiger7th вне форума Ответить с цитированием