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

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

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

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


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

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

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

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

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

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

Публикации

Истории

Работа

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

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн