ChatRoomList

From SWGANH Wiki
Revision as of 01:41, 11 May 2008 by Snow (Talk | contribs) (Variable Descriptions)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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


  • RoomListSize:
A list of ChatRoom Objects, this is the count of rooms to display.
  • RoomID:
The unique ID number assigned to identify this Room. Generated on room creation.
  • PrivateFlag:
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
  • ModeratedFlag:
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.
  • RoomPathName:
The full ChatServer path and name for the room including the RoomName specified on creation.
Example: "SWG.TestCenter.Chat.tcpa"
  • Game:
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.
  • Server:
The name of the server (Galaxy) this player is on. Part of ChatAvatarId object.
  • Owner:
The firstname of the player who current owns the chatroom. Must be only firstname and lowercase. Part of ChatAvatarId object.
  • Creator:
The firstname of the player who originally created the chatroom. Must be only firstname and lowercase. Part of ChatAvatarId object.
  • RoomTitle:
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.
  • ModeratorList:
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.
  • UserList:
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.
  • Additional Info:
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