SMSG_LOGIN_SETTIMESPEED
Client Version 1, Client Version 2, Client Version 3.0, Client Version 3.1.0, Client Version 3.1.1
Tells the client what the datetime is and how fast time passes.
The client also asks for the datetime with CMSG_QUERY_TIME and gets a reply from SMSG_QUERY_TIME_RESPONSE, but this does not appear to change anything in the client.
Despite sending this as the very first message after the client logs in it will still send a CMSG_QUERY_TIME.
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/login_logout/smsg_login_settimespeed.wowm:4
.
smsg SMSG_LOGIN_SETTIMESPEED = 0x0042 {
DateTime datetime;
f32 timescale;
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x04 | 4 / Little | DateTime | datetime | Current server datetime. Running the client with -console verifies that this message in this format sets the correct datetime. SMSG_QUERY_TIME_RESPONSE will not set this. |
0x08 | 4 / Little | f32 | timescale | How many minutes should pass by every second. vmangos/cmangos/mangoszero set this to 0.01666667. This means that 1/60 minutes pass every second (one second passes every second). Setting this to 1.0 will make the client advance one minute every second. |
Examples
Example 1
Comment
Set time to 2022-08-13 (Wednesday) 08:10 and timescale 0.016666668 (1/60).
0, 10, // size
66, 0, // opcode (66)
10, 50, 115, 22, // datetime: DateTime
137, 136, 136, 60, // timescale: f32
Client Version 3.1.2, Client Version 3.2, Client Version 3.3
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/login_logout/smsg_login_settimespeed.wowm:28
.
smsg SMSG_LOGIN_SETTIMESPEED = 0x0042 {
DateTime datetime;
f32 timescale;
u32 unknown1;
}
Header
SMSG have a header of 4 bytes.
SMSG Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x00 | 2 / Big | uint16 | size | Size of the rest of the message including the opcode field but not including the size field. |
0x02 | 2 / Little | uint16 | opcode | Opcode that determines which fields the message contains. |
Body
Offset | Size / Endianness | Type | Name | Comment |
---|---|---|---|---|
0x04 | 4 / Little | DateTime | datetime | Current server datetime. Running the client with -console verifies that this message in this format sets the correct datetime. SMSG_QUERY_TIME_RESPONSE will not set this. |
0x08 | 4 / Little | f32 | timescale | How many minutes should pass by every second. vmangos/cmangos/mangoszero set this to 0.01666667. This means that 1/60 minutes pass every second (one second passes every second). Setting this to 1.0 will make the client advance one minute every second. |
0x0C | 4 / Little | u32 | unknown1 | arcemu/azerothcore/mangostwo: Set to 0. |