← Packet index

Packet 40

SetActorMotionPacket

This is used for the server to set the velocity of a client actor.

It is primarily relevant for client predicted entities like the player or a boat or horse they are in control of. For most other actor types it does nothing.<br> This is one of the packets that can directly affect player motion, for others, see:<br> - MovePlayerPacket<br> - CorrectPlayerMovePredictionPacket

Packet datagramWire order
HeaderID 40varuint
0Target Runtime IDActorRuntimeID · variable
1MotionVec3 · variable
2TickPlayerInputTick · variable

Serialized fields

3 top-level fields
  1. 0Target Runtime IDActorRuntimeID
    1. 0Actor Runtime IDCompressionvaruint64
  2. 1MotionVec3
  3. 2TickIf this packet is referring to the player or a client predicted vehicle they are in control of, this should be the most recently processed PlayerInputTick from their PlayerAuthInputPacket. Otherwise zero.PlayerInputTick
    1. 0Input tickIn server authoritative movement mode the client supplies this in PlayerAuthInputPacket. For any client-bound packets containing a tick, the server should supply the tick value corresponding to the most recently processed PlayerAuthInputPacket. This allows the client to adjust any client predictions made while the packet was in flight. If the packet is being sent to the client but not relating to data of the player or a client-predicted vehicle, it can be zero. It is also acceptable to specify zero for players, although this may lead to minor visual flickers and less smooth application of CorrectPlayerMovePredictionPacket.Compressionvaruint64

Changelog

Stable releases

Changes between stable protocol releases.

No stable release changes are recorded for this packet.