Packet 19
MovePlayerPacket
For client authoritative and server authoritative movement modes, it is only intended as a client-bound packet. It forces the player to a specified position with slightly different behavior depending on the position mode.
HeaderID 19varuint
0Player Runtime IDActorRuntimeID · variable
1PositionVec3 · variable
2RotationVec2 · variable
3Y-Head Rotationfloat · 4 bytes
4Position Modeuint8 · 1 byte
5On Groundboolean · 1 byte
6Riding Runtime IDActorRuntimeID · variable
7Teleport DataMovePlayerTeleportData · variable
8TickPlayerInputTick · variable
Serialized fields
9 top-level fields0Player Runtime IDIf server-bound, this is always the id of the sending player. If client-bound, the target player.ActorRuntimeID
- 0Actor Runtime IDCompression
varuint64
- 3Y-Head RotationRotation in degrees of the head. Almost always matches Y rotation. The server authoritative equivalent of this is PlayerAuthInputPacket::mYHeadRot
float 4Position ModeDetermines how the client will behave when receiving this, see the enum for details. When sent to the server this is always 'Normal' except when in a vehicle then it's 'OnlyHeadRot'.Enum-as-Value
uint8- 0
Normal - 1
Respawn - 2
Teleport - 3
OnlyHeadRot
- 0
- 5On GroundFor client bound packets this should have little meaning as it will be reset by the client every frame. For server bound it is true if the player is currently touching the ground. The server authoritative near-equivalent of this is PlayerAuthInputPacket::InputData::VerticalCollision
boolean 6Riding Runtime IDIf client bound this has no meaning. If server bound it is the vehicle the client is riding as specified by the last SetActorLinkPacket from the server. The server authoritative near-equivalent is PlayerAuthInputPacket::mClientPredictedVehicleActorRuntimeID
- 0Actor Runtime IDCompression
varuint64
7Teleport DataoptionalTeleportation details. Present only when Position Mode is Teleport.MovePlayerTeleportData
8TickThe client tick this movement corresponds to.PlayerInputTick
- 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.Compression
varuint64
Changelog
Stable releases
Changes between stable protocol releases.
No stable release changes are recorded for this packet.
All builds
Changes between consecutive stable releases and preview builds.
No changes are recorded for this packet.