Server Packet - CharRoomList (70DEB197)
SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.
Struct
SHORT: OperandCount
INT: Opcode
INT: RoomListSize
{
INT: RoomID
INT: PrivateFlag
BYTE: ModeratedFlag
ASTRING: RoomPathName
ASTRING: Game
ASTRING: Server
ASTRING: Owner
ASTRING: Game
ASTRING: Server
ASTRING: Creator
USTRING: RoomTitle
INT: ModeratorListSize
{
ASTRING: Game
ASTRING: Server
ASTRING: ModeratorName
}
INT: UserListSize
{
ASTRING: Game
ASTRING: Server
ASTRING: UserName
}
}
Variable Descriptions
Opperand_Count = 2
Opcode = 70DEB197
- A list of ChatRoom Objects, this is the count of rooms to display.
- The unique ID number assigned to identify this Room. Generated on room creation.
- An INTEGER flag used to mark the room as private or public. Private rooms require invitation from owner or moderators to enter.
- 00000001 = Private
- 00000000 = Public
- A BYTE flag used to mark the room as being moderated.
- 01 = Moderated
- 00 = Open
- Note: Moderated Rooms means that no one BUT moderators can talk. Its more like a "Muted" Room. You can still have moderators in an OPEN room. So avoid this confusion.
- The full ChatServer path and name for the room including the RoomName specified on creation.
- Example: "SWG.TestCenter.Chat.tcpa"
- The name of the game ("SWG") this player is on.
- Part of ChatAvatarId: 3 ASTRINGs representing the player on the ChatServer. "Game.Server.name" name is the lowercase of the first name for the player.
- The name of the server (Galaxy) this player is on. Part of ChatAvatarId object.
- The firstname of the player who current owns the chatroom. Must be only firstname and lowercase. Part of ChatAvatarId object.
- The firstname of the player who originally created the chatroom. Must be only firstname and lowercase. Part of ChatAvatarId object.
- The unicode string containing the Title of the chatroom to display.
- Note: This is the more descriptive text displayed and not the name used in the RoomPathName of the ChatServer.
- A list containing ChatAvatarId's of the moderators for this room. Note: This list does NOT get used to display the information. So it is better to send a blank (NULL/0) list and use the QueryRoom construct, since it actually gets displayed. This will save TONS of bandwidth.
- A list containing ChatAvatarId's of the users current in the room. Note: This list does NOT get used to display the information. So it is better to send a blank (NULL/0) list and use the QueryRoom construct, since it actually gets displayed. This will save TONS of bandwidth.
- Use to initialize the list, and then to add to the list. (There is no need to repeat the data)
|
Tags
S→C
|
This packet originates on the server.
|
|
100%
|
This packet has been completely reversed.
|
|
|
Sample Packet
02 00
97 B1 DE 70 // ChatRoomList
01 00 00 00 // Numberof_Chatrooms
5D 0A 72 02 // ChatRoom_ID
01 00 00 00 // NumberOf_RoomNames
00 // byte flag
27 00 // string count
53 57 47 2E 47 6F 72 61 74 68 // SWG.Gorath
2E 67 72 6F 75 70 2E // .group.
31 36 31 34 31 38 33 30 39 32 32 31 2E // 161418309221.
47 72 6F 75 70 43 68 61 74 // GroupChat
03 00 // string count
53 57 47 // SWG
06 00 // string count
47 6F 72 61 74 68 // Gorath
06 00 // string count
73 79 73 74 65 6D // system
03 00 // string count
53 57 47 // SWG
06 00 // string count
47 6F 72 61 74 68 // Gorath
06 00 // string count
73 79 73 74 65 6D // system
0C 00 00 00 // u-string count
31 00 36 00 31 00 34 00 31 00 38 00 33 00 30 // 161418309221
00 39 00 32 00 32 00 31 00
01 00 00 00 // moderator count
03 00 // string count
53 57 47 // SWG
06 00 // string count
47 6F 72 61 74 68 // Gorath
06 00 // string count
73 79 73 74 65 6D // system
02 00 00 00 // user count
03 00 // string count
53 57 47 // SWG
06 00 // string count
47 6F 72 61 74 68 // Gorath
08 00 // string count
70 61 74 72 69 7A 69 61 // patrizia
03 00 // string count
53 57 47 // SWG
06 00 // string count
47 6F 72 61 74 68 // Gorath
06 00 // string count
73 79 73 74 65 6D // system