пропущен ответ на RequestAuthLogin, в котором должен быть SessionKey1, который надо отправить в пакете RequestServerLogin. и RequestServerList я не посылал серверу.
Цитата:
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 час 8 минут
Код:
CS 34
______________________________________________________
0x00 | 22 00 02 00 00 00 00 01 01 01 01 03 00 00 00 00
0x10 | 00 00 03 02 01 01 00 00 00 00 00 00 00 00 00 00
0x20 | 00 00
00 00 00 00 здесь должна быть первая чатсть ключа
01 01 01 01 здесь вторая....
03 это ид сервера
03 02 01 01 чексумма
ключ константа? это ж хрень какаято