Как стать автором
Обновить

Умная консоль для WoW 3.3.5a

Время на прочтение1 мин
Количество просмотров5.6K

Начну с того, что я написал на Rust консольный клиент для WoW. В текущий момент он работает в режиме прослушки пакетов и может быть использован, как бот. В дальнейшем планируется усовершенствовать ручную отправку пакетов. Что именно на данный момент реализовано...


...вы можете узнать уже в этом абзаце. Вход на сервер, вход в мир, поддержка конфига, парсер UpdatePacket и MovementPacket, поддержка чата - это то, что работает на данный момент.

Рассказал - "что", теперь расскажу - "как". После подключения все приходящие с сервера пакеты считываются в очередь и отправляются специальным процессорам. Каждый процессор представляет собой группу обработчиков (handler), привязанных к определенным опкодам. Каждый опкод - это информация в заголовке пакета, которая определяет, что это за пакет, какое действие он выполняет. Результат обработки в процессоре затем отправляется в исходящую очередь и, далее - на сервер в виде ответа (на самом деле, результат может быть нескольких типов, но об этом можно будет узнать, более подробно ознакомившись с проектом, т.е. - не здесь).

По сути своей, отправка пакетов из процессоров - это автоматическая реакция на запросы с сервера. Но есть и второй способ отправки: реализация специального менеджера, который уже сам будет решать, какие пакеты отправлять и когда. Таким образом, можно написать поведения для бота (AI).

Если вы заинтересованы, вот мой проект на гитхабе.

Проект будет полезен так же тем, кто изучает Rust.

Теги:
Хабы:
Всего голосов 14: ↑8 и ↓6+2
Комментарии11

Публикации

Истории

Работа

Rust разработчик
6 вакансий

Ближайшие события

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань