SMSG_ACCOUNT_DATA_TIMES

Client Version 1.12, Client Version 2

The purpose of this message is unknown, but it is required in order to prevent the chat box from being a white rectangle that is unable to show text.

Sending this causes the client to send CMSG_UPDATE_ACCOUNT_DATA messages.

CMSG_UPDATE_ACCOUNT_DATA and CMSG_REQUEST_ACCOUNT_DATA act on blocks numbered 0 to 7. The 32 u32s in this message could possibly actually be 8 sets of u816 but it could also be a variable sized message.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_account_data_times.wowm:4.

smsg SMSG_ACCOUNT_DATA_TIMES = 0x0209 {
    u32[32] data;
}

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 / Biguint16sizeSize of the rest of the message including the opcode field but not including the size field.
0x022 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
0x04128 / -u32[32]datacmangos/vmangos/mangoszero sets to all zeros

Examples

Example 1

Comment

Zeroed out message needed for showing chat box.

0, 130, // size
9, 2, // opcode (521)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // data: u32[32]

Client Version 3.3.5

Indicate when each piece of account data was last updated by a CMSG_UPDATE_ACCOUNT_DATA. The client can check this against its own times to detect that more recent account data was written from a different client.

Wowm Representation

Autogenerated from wowm file at wow_message_parser/wowm/world/login_logout/smsg_account_data_times.wowm:45.

smsg SMSG_ACCOUNT_DATA_TIMES = 0x0209 {
    u32 unix_time;
    u8 unknown1;
    CacheMask mask;
}

Header

SMSG have a header of 4 bytes.

SMSG Header

OffsetSize / EndiannessTypeNameDescription
0x002 OR 3 / Biguint16 OR uint16+uint8sizeSize of the rest of the message including the opcode field but not including the size field. Wrath server messages can be 3 bytes. If the first (most significant) size byte has 0x80 set, the header will be 3 bytes, otherwise it is 2.
-2 / Littleuint16opcodeOpcode that determines which fields the message contains.

Body

OffsetSize / EndiannessTypeNameComment
-4 / Littleu32unix_timeSeconds since Unix Epoch
-1 / -u8unknown1Both mangostwo and arcemu hardcode this to 1
-- / -CacheMaskmask