OOG

Материал из Perfect World Develop Wiki
Перейти к: навигация, поиск

OOG (Out Of Game) — программа, которая эмулирует функции клиента, т.е. позволяет взаимодействовать с сервером без участия клиента игры.

Процесс создания

Некоторые соглашения

Будем обозначать направление через сокращенную форму to — 2. Если пакет идет от сервера клиенту, будем писать S2C, иначе — C2S. Все сабпакеты (из серверного 0x00 и клиентского 0x22) будем обозначать как GS, т.к. этот сервис отвечает за их обработку. Рядом будем писать опкод пакета в HEX формате и его название. Данные из полей, которые выделены зеленым цветом, необходимо помещать в отдельные переменные для последующего использования.

Шаг 1. Разбор пакетов

Обмен пакетами начитается сразу после подключения к серверу. Ниже описывается порядок пакетов и их разбор.

  • [S2C] 0x01 ServerInfo

Структура:

Тип данных Название Комментарий
Octets Key Информацию о состоянии связи с сервером, рейтах; используется для дальнейшего шифрования пароля.
Int ServerVersion Версия сервера, в виде HEX. Например: 0x00 0x01 0x05 0x01
Byte AuthType
Octets CRC Конкатенация CRC хешей .data файлов.
Byte AuthType
  • [C2S] 0x03 LogginAnnounce

В процессе...