MsgWalk

This message is sent from the game client when the player moves on the ground in a direction. The server responds by validating the movement and then sending the movement to all observers within the player's screen. If the observer receives a MsgWalk message for a player that doesn't exist on their screen, then that'll trigger a MsgAction request for that player using the QueryPlayer action.

⚠️ WARNING

Although the client checks for invalid coordinates, a modified client can walk on invalid tiles or across occupied spaces (such as the guild gate). Be sure to validate the coordinates of movements on the server side.

Table of Contents

Patch 4267

Message Definition

☑️ Assumed (Soul)

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message10
2UInt16MsgTypeType of message1005
4UInt32Hero IDUnique identifier for the character1000000
8ByteDirectionMovement direction0
9BoolRunTrue if the player is running1

Patch 5165

Message Definition

☑️ Assumed (Observed)

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message16
2UInt16MsgTypeType of message1005
4UInt32DirectionMovement direction0
8UInt32Hero IDUnique identifier for the character1000000
12UInt32Movement ModeType of ground movement1

Movement Modes

☑️ Assumed (Observed)

enum MovementModes {

    MOVEMENT_MODE_WALK = 0;
    MOVEMENT_MODE_RUN = 1;
    MOVEMENT_MODE_MOUNTED = 9;
}

Patch 5517

Message Definition

☑️ Assumed (Observed)

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message24
2UInt16MsgTypeType of message10005
4UInt32DirectionMovement direction0
8UInt32Hero IDUnique identifier for the character1000000
12UInt32Movement ModeType of ground movement1
16UInt32System TimeMilliseconds of system uptime10000
20UInt32Map IDMap identifier1002

Movement Modes

☑️ Assumed (Observed)

enum MovementModes {

    MOVEMENT_MODE_WALK = 0;
    MOVEMENT_MODE_RUN = 1;
    MOVEMENT_MODE_MOUNTED = 9;
}

Patch 6132

Message Definition

❓ Unverified - Imported from the legacy wiki

PosTypeNameDescriptionExample
0UInt16MsgSizeSize of the message24
2UInt16MsgTypeType of message10005
4BytesProtobufSerialized protobuf fields

Protobuf Fields

❓ Unverified - Imported from the legacy wiki

TypeNameIDDescriptionExample
UInt32direction1Movement direction0
UInt32hero_id2Unique identifier for the character1000000
UInt32movement_mode3Type of ground movement1
UInt32system_time4Milliseconds of system uptime10000
UInt32map_id5Map identifier1002

Movement Modes

❓ Unverified - Imported from the legacy wiki

enum MovementModes {

    MOVEMENT_MODE_WALK = 0;
    MOVEMENT_MODE_RUN = 1;
    MOVEMENT_MODE_MOUNTED = 9;
}