Message 0x36
Ranks
0x36 Structure
| Type | Description | Offset | |
| uint32_t | type | 0 | |
| uint16_t | subtype | 4 | |
| uint16_t | error_id | 6 | |
| uint16_t | unknown_a | 8 | |
| uint16_t | count | 10 | |
| uint8_t[4] | unknown_b | 12 | (Always 0) |
| uint16_t | rank_id | 16 | (rank_id to description may repeat in subtype 0) |
| uint16_t | rank_level | 18 | |
| VentriloNetString | display_name | 20 | |
| VentriloNetString | description | after name |
Subtypes
| Sub-Type | Description |
| 0x00 | receiving ranks |
| 0x01 | opening rank list |
| 0x02 | closing rank list |
| 0x03 | add rank |
| 0x04 | delete rank |
| 0x05 | modify rank |
Errors
| Error ID | Error message |
| 0x01 | Invalid ID specified. |
| 0x02 | Duplicate Abbreviation. |
| 0x03 | Duplicate Description. |
| 0x04 | Insufficient access rights. |
| 0x06 | Maximum number of allowed Ranks has been reached. |
| 0x07 | Missing abreviation or description. |
Packet flow for receiving
-Transaction Begins- Server Sends... Type 0x36 - Subtype 0x00 - Unknown_a 0x00 00 01 00 - Count - Unknown_b - (Rank_id - Rank_level - Display_name - Description)[count] -Transaction Complete-
Packet flow for opening rank list
-Transaction Begins- -requires correct admin right- Client Sends... Type 0x36 - Subtype 0x01 - Unknown_a 0x0 - Count 0x0 - Unknown_b 0x0 Server Replies Type 0x36 - Subtype 0x01 - Unknown_a 0x0 - Count 0x0 - Unknown_b 0x0 -Transaction Complete-
Packet flow for closing rank list
-Transaction Begins- Client Sends... Type 0x36 - Subtype 0x02 - Unknown_a 0x0 - Count 0x0 - Unknown_b 0x0 -Transaction Complete-
Packet flow for adding a rank
-Transaction Begins- Client Sends... Type 0x36 - Subtype 0x03 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level - Display_name - Description Server Sends (to all clients)... Type 0x36 - Subtype 0x03 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level - Display_name - Description -Transaction Complete- note: id is first available id number starting from 1
Packet flow for removing a rank
-Transaction Begins- Client Sends... Type 0x36 - Subtype 0x04 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level 0x0 Server Sends (to all clients)... Type 0x36 - Subtype 0x04 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level - Display_name - Description -Transaction Complete- note: ventrilo client allow selecting multiple, but only deletes first selected note: does not change id's of other, existing ranks
Packet flow for editing a rank
-Transaction Begins- Client Sends... Type 0x36 - Subtype 0x05 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level - Display_name - Description Server Sends (to all clients)... Type 0x36 - Subtype 0x05 - Unknown_a 0x0 - Count 0x1 - Unknown_b 0x0 - Rank_id - Rank_level - Display_name - Description -Transaction Complete-
Below this is older information
This looks very similar to userlist/channel list types of packets. 16 byte header that includes a rank count then a collection of ranks follows.
Rank List at Login
======= received TCP packet ===================================== PACKET: message type: 0x36 (54) PACKET: data length : 104 PACKET: 36 00 00 00 00 00 00 00 01 00 03 00 00 00 00 00 6............... PACKET: 01 00 0A 00 00 04 6E 65 77 62 00 10 6E 65 77 62 ......newb..newb PACKET: 20 64 65 73 63 72 69 70 74 69 6F 6E 02 00 0F 00 .description.... PACKET: 00 05 6E 65 77 62 32 00 11 6E 65 77 62 32 20 64 ..newb2..newb2.d PACKET: 65 73 63 72 69 70 74 69 6F 6E 03 00 14 00 00 05 escription...... PACKET: 6E 65 77 62 33 00 11 6E 65 77 62 33 20 64 65 73 newb3..newb3.des PACKET: 63 72 69 70 74 69 6F 6E cription
Add Rank
Adding rank level 10
======= received TCP packet ===================================== PACKET: message type: 0x36 (54) PACKET: data length : 44 PACKET: 36 00 00 00 03 00 00 00 01 00 01 00 00 00 00 00 6............... PACKET: 01 00 0A 00 00 04 6E 65 77 62 00 10 6E 65 77 62 ......newb..newb PACKET: 20 64 65 73 63 72 69 70 74 69 6F 6E .description
Delete Rank
======= received TCP packet ===================================== PACKET: message type: 0x36 (54) PACKET: data length : 44 PACKET: 36 00 00 00 04 00 00 00 01 00 01 00 00 00 00 00 6............... PACKET: 01 00 0A 00 00 04 6E 65 77 62 00 10 6E 65 77 62 ......newb..newb PACKET: 20 64 65 73 63 72 69 70 74 69 6F 6E .description
Modify Rank
======= received TCP packet ===================================== PACKET: message type: 0x36 (54) PACKET: data length : 46 PACKET: 36 00 00 00 05 00 00 00 01 00 01 00 00 00 00 00 6............... PACKET: 02 00 0F 00 00 05 6E 65 77 62 32 00 11 6E 65 77 ......newb2..new PACKET: 62 32 20 64 65 73 63 72 69 70 74 69 6F 6E b2.description
