CMD REALM LIST Server
Jump to navigation
Jump to search
Packet Layout
The server answers with a packet composed of a RealmHeader_Server, as many RealmInfo_Server as specified and a RealmFooter_Server.
Header
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x0 | 1 / - | uint8 | command | REALMLIST (0x10) |
0x1 | 2 / Little | uint16 | size | Size of the rest of packet, without the command and size fields (3 bytes). |
0x3 | 4 / - | uint32 | unknown | Not used in public clients. Set to 0. |
0x7 | 2 / Little | uint16 | num_realms | Number of RealmInfo_Server. |
The size value can be computed with the part of the header taken into account plus the footer (6+2 bytes) and the size of every RealmInfo_Server which is variable.
Body
(1.1.2.4125)
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x0 | 4 / Little | uint32 | realm_type | 0 is normal, 1 is PvP, 6 is RP and 8 is RPPvP. |
0x4 | 1 / - | uint8 | flags | See RealmInfo_Server.flags table below. |
0x5 | - / Big | char[] | realm_name | Zero terminated string; name of the Realm |
- / Big | char[] | address_port | Zero terminated string; address of the Realm ("ip:port") | |
4 / Little | float | population | Population value. 200 is always green "Recommended", 400 is always red "Full", 600 is always blue "Recommended". Low/Medium/High are calculated based on the population values sent. | |
1 / - | uint8 | num_chars | The number of characters the client has on the server. | |
1 / - | uint8 | realm_category | The language or region of the server. How this is interpreted depends on the locale of the client. It is shown as tabs at the bottom of the realmlist screen. If there are only realms of one category no tabs are shown. See table RealmInfo_Server.realm_category Values. | |
1 / - | uint8 | realm_id | Used for the initial sorting of the realms. Identical values are not a problem. |
Value | Name | Description |
---|---|---|
0x00 | NONE | No changes. |
0x01 | INVALID | Color realm name in read. |
0x02 | OFFLINE | Gray out name and prevent selection. |
0x04 | SPECIFY_BUILD | Unused before 2.0.0. If set for later versions additional fields in the body are required. |
0x08 | UNK1 | Unused. |
0x10 | UNK2 | Unused. |
0x20 | FORCE_RECOMMENDED | Forces the client to show the server as "Recommended" in blue text, no matter what the population value is. |
0x40 | FORCE_NEW_PLAYERS | Forces the client to show the server as "Recommended" in green text, no matter what the population value is. |
0x80 | FORCE_FULL | Forces the client to show the population as "Full" in red text, no matter what the population value is. |
Value | Name | Description |
---|---|---|
0x00 | DEFAULT | Same as the first value for a locale. |
US | ||
0x01 | UNITED_STATES | United States. |
0x05 | OCEANIC | Oceania. |
EUROPE | ||
0x01 | ENGLISH | English. |
0x02 | GERMAN | German. |
0x03 | FRENCH | French. |
0x05 | SPANISH | Spanish. |
KOREA | ||
0x01 | KOREA | Korea. |
TAIWAN | ||
0x01 | TAIWAN | Taiwan. |
CHINA | ||
0x01 | CHINA | China. |
0x02 | CN3 | Unknown. |
0x03 | CN7 | Unknown. |
TEST | ||
0x01 | TEST_SERVER | Test. |
0x05 | OCEANIC_TEST | Oceanic test. |
QA | ||
0x01 | QA_SERVER | QA server. |
(2.4.3.8606)
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x0 | 1 / Little | uint8 | realm_type | Mangos just says "realm type (this is second column in Cfg_Configs.dbc)". |
0x1 | 1 / - | bool | locked | Show realm as locked in client. |
0x2 | 1 / - | uint8 | realm_flags | See RealmInfo_Server.flags table below. Setting SPECIFY_BUILD requires the additional fields at the bottom. |
0x3 | - / Big | char[] | realm_name | Zero terminated string; name of the Realm |
- / Big | char[] | address_port | Zero terminated string; address of the Realm ("ip:port") | |
4 / Little | float | population | Population value. 200 is always green "Recommended", 400 is always red "Full", 600 is always blue "Recommended". Low/Medium/High are calculated based on the population values sent. | |
1 / - | uint8 | num_chars | The number of characters the client has on the server. | |
1 / - | uint8 | realm_category | The language or region of the server. How this is interpreted depends on the locale of the client. It is shown as tabs at the bottom of the realmlist screen. If there are only realms of one category no tabs are shown. See table RealmInfo_Server.realm_category Values. | |
1 / - | uint8 | realm_id | Used for the initial sorting of the realms. Identical values are not a problem. | |
realm_flags SPECIFY_BUILD fields | ||||
1 / - | uint8 | major_version | Major version of the server. | |
1 / - | uint8 | minor_version | Minor version of the server. | |
1 / - | uint8 | patch_version | Patch version of the server. | |
1 / Little | uint16 | revision | Revision of the server. Revision is not shown after the name, but mousing over will show it. |
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x0 | 2 / ? | uint16 | unknown | Ignored in public clients. Set to 0. |