Пакеты — это сообщения, которыми клиент и сервер обмениваются по сети: движение, удары, чат, изменения мира. Перехват пакетов позволяет видеть и менять то, что уходит на сервер и приходит обратно.
Для работы с пакетами есть два события: packet_send (перед отправкой) и packet_receive (при получении).
В обработчик приходит объект пакета с полем type и данными. Пакет можно прочитать, изменить или отменить через packet.cancel():
from rockstar import Module, event
class NoFall(Module):
name = "NoFall"
category = "Player"
@event("packet_send")
def on_send(self, packet):
if packet.type == "player_move":
# говорим серверу, что всегда на земле
packet.on_ground = True| Пакет | Направление | Описание |
|---|---|---|
player_move | send | Позиция и поворот игрока |
attack | send | Удар по сущности |
chat | send / receive | Сообщение в чат |
entity_spawn | receive | Появление сущности |
health_update | receive | Изменение здоровья |