Difference between revisions of "ChatQueryRoomResults"

From SWGANH Wiki
Jump to: navigation, search
 
(Variable Descriptions)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{PageHeader|Server Packet|ChatQueryRoomResults (C4DE864E)}}
{|
+
|- align="center"
+
||{{PacketGuide}}
+
|-
+
|}
+
 
+
 
{| border="0" width="90%" cellpadding=6
 
{| border="0" width="90%" cellpadding=6
 
|-
 
|-
Line 11: Line 5:
 
===Struct===
 
===Struct===
 
----
 
----
 
+
<pre>
{| class="wikitable"
+
SHORT: OperandCount
|-
+
INT: Opcode
|align="center" style="background:#B3C0DE; color:white;"|'''BYTE'''||'''uint8'''
+
INT: UserListSize
|-
+
{
|align="center" style="background:#6C86BF; color:white;"|'''SHORT'''||'''uint16'''
+
  ASTRING: Game
|-
+
  ASTRING: Server
|align="center" style="background:#3C548A; color:white;"|'''INT'''||'''uint32'''
+
  ASTRING: UserName
|-
+
}
|align="center" style="background:#3C5466; color:white;"|'''FLOAT'''||'''uint32'''
+
INT: InvitedUserListSize
|-
+
{
|align="center" style="background:#3C4565; color:white;"|'''LONG'''||'''uint64'''
+
  ASTRING: Game
|-
+
  ASTRING: Server
|align="center" style="background:#D8F2E0; color:#3C4565;"|'''A_STRING'''||'''ASCII String'''
+
  ASTRING: InvitedUserName
|-
+
}
|align="center" style="background:#8BD9A3; color:white;"|'''U_STRING'''||'''Unicode String'''
+
INT: ModeratorListSize
|-
+
{
|align="center" style="background:#3EC166; color:white;"|'''C_STRING'''||'''Customization String'''
+
  ASTRING: Game
|-
+
  ASTRING: Server
|align="center" style="background:#25733D; color:white;"|'''B_STRING'''||'''Byte String'''
+
  ASTRING: ModeratorName
|-
+
}
|align="center" style="background:#C6C600; color:white;"|'''{ }'''||'''LIST Component'''
+
INT: BannedUserListSize
|-
+
{
|align="center" style="background:#DF97A7; color:white;"|'''?'''||'''Uncertain Values'''
+
  ASTRING: Game
|-
+
  ASTRING: Server
|align="center" style="background:#C84966; color:white;"|'''?? '''||'''Unknown Variable Name'''
+
  ASTRING: BannedUserName
|-
+
}
|}
+
INT: RequestID
 +
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
 +
}
 +
</pre>
  
 
===Variable Descriptions===
 
===Variable Descriptions===
 
----
 
----
  
Opperand_Count     = '''9'''
+
Opperand_Count     = '''7'''
  
Opcode     = '''FFFFFFFF'''
+
Opcode     = '''C4DE864E'''
 
----
 
----
  
* Additional Descriptions go here...
+
* '''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.
 +
 
 +
* '''UserList''':
 +
:A list of ChatAvatarId's of players currently in the room. NOTE: The second UserList should be NULL/0. It does not effect the displayed data and is just a part of the ChatRoom object. <font color="green">'''SAVES BANDWIDTH!'''</font>
 +
 
 +
* '''InvitedList''':
 +
:A list of ChatAvatarId's of players invited to join the room. Used for Private rooms, but can be sent for public rooms too.
 +
 
 +
* '''ModeratorList''':
 +
:A list of ChatAvatarId's of players who can currently moderate the room. NOTE: The second ModeartorList should be NULL/0. It does not effect the displayed data and is just a part of the ChatRoom object. <font color="green">'''SAVES BANDWIDTH!'''</font>
 +
 
 +
* '''BannedUserList''':
 +
:A list of ChatAvatarId's of players who can currently banned from entering the room.
 +
 
 +
* '''RequestID''':
 +
:For every request made, the client attaches an ID number to identify it. It is unique for each request type (opcode) and incremented for each request. Similar to Update Counters used in Objects. For every response that had a request with a RequestID, the same RequestID must be sent back. It is used to identify key information regarding the response, such as what
 +
the full RoomPathName was and it is used in error message generation. Also can be used to eliminate duplicate requests.
 +
 
 +
* '''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"
 +
 
 +
* '''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.
  
 
|valign=top|
 
|valign=top|
 +
 
===Tags===
 
===Tags===
 
----
 
----
Line 60: Line 123:
 
||{{ServerPacket}}
 
||{{ServerPacket}}
 
|-
 
|-
||{{0%}}
+
||{{100%}}
 
|-
 
|-
 
|}
 
|}
  
|}
+
===Example===
 
+
 
----
 
----
 +
[[Image:Query.jpg|thumb|Chat Room Query]]
  
==Sample Code==
 
----
 
  
<pre>
+
Banned shows a circle with a line through it under invited.
Insert Code Snippet Here...
+
|}
</pre>
+
  
 
==Sample Packet==
 
==Sample Packet==
  
 
<pre>
 
<pre>
Insert Sample Packet Here...
+
00 09
 +
06 1A
 +
07 00                        // op count
 +
4E 86 DE C4                  // ChatQueryRoomResults
 +
01 00 00 00                  // ??????????????????????????????? 
 +
03 00                        // string count
 +
53 57 47                      // SWG
 +
0A 00                        // string count
 +
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
 +
08 00                        // string count
 +
72 75 62 69 6E 6C 65 65      // rubinlee
 +
01 00 00 00                  // ???????????????????????????????
 +
03 00                        // string count
 +
53 57 47                      // SWG
 +
0A 00                        // string count
 +
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
 +
08 00                        // string count
 +
72 75 62 69 6E 6C 65 65      // rubinlee
 +
01 00 00 00                  // ???????????????????????????????
 +
03 00                        // string count
 +
53 57 47                      // SWG
 +
0A 00                        // string count
 +
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
 +
08 00                        // string count
 +
72 75 62 69 6E 6C 65 65      // rubinlee
 +
00 00 00 00                  // ???????????????????????????????
 +
00 00 00 00                  // ???????????????????????????????
 +
89 06 29 03                  // Room ID
 +
01 00 00 00                  // ???????????????????????????????
 +
01                            // ???????????????????????????????
 +
22 00                                            // string count
 +
53 57 47 2E 53 68                                // SWG.Sh
 +
61 64 6F 77 66 69 72 65 2E 74 75 74 6F 72 69 61  // adowfire.tutoria
 +
6C 2E 43 68 61 74 2E 72 6F 75 73 65              // l.Chat.rouse
 +
03 00                        // string count
 +
53 57 47                      // SWG
 +
0A 00                        // string count
 +
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
 +
08 00                        // string count
 +
72 75 62 69 6E 6C 65 65      // rubinlee
 +
03 00                        // string count
 +
53 57 47                      // SWG
 +
0A 00                        // string count
 +
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
 +
08 00                        // string count
 +
72 75 62 69 6E 6C 65 65      // rubinlee
 +
09 00 00 00                  // string count
 +
52 00 6F 00 75 00 73 00 65 00 // R.o.u.s.e.
 +
2D 00 73 00 77 00 67 00      // -.s.w.g
 +
00 00 00 00                  // ???????????????????????????????
 +
00 00 00 00                  // ????????????????????????????
 
</pre>
 
</pre>

Latest revision as of 02:37, 11 May 2008

Server Packet - ChatQueryRoomResults (C4DE864E)

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: 		UserListSize
{
  ASTRING: 	Game
  ASTRING: 	Server
  ASTRING: 	UserName
}
INT: 		InvitedUserListSize
{
  ASTRING: 	Game
  ASTRING: 	Server
  ASTRING: 	InvitedUserName
}
INT: 		ModeratorListSize
{
  ASTRING: 	Game
  ASTRING: 	Server
  ASTRING: 	ModeratorName
}
INT: 		BannedUserListSize
{
  ASTRING: 	Game
  ASTRING: 	Server
  ASTRING: 	BannedUserName
}
INT:		RequestID
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 = 7

Opcode = C4DE864E


  • 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.
  • UserList:
A list of ChatAvatarId's of players currently in the room. NOTE: The second UserList should be NULL/0. It does not effect the displayed data and is just a part of the ChatRoom object. SAVES BANDWIDTH!
  • InvitedList:
A list of ChatAvatarId's of players invited to join the room. Used for Private rooms, but can be sent for public rooms too.
  • ModeratorList:
A list of ChatAvatarId's of players who can currently moderate the room. NOTE: The second ModeartorList should be NULL/0. It does not effect the displayed data and is just a part of the ChatRoom object. SAVES BANDWIDTH!
  • BannedUserList:
A list of ChatAvatarId's of players who can currently banned from entering the room.
  • RequestID:
For every request made, the client attaches an ID number to identify it. It is unique for each request type (opcode) and incremented for each request. Similar to Update Counters used in Objects. For every response that had a request with a RequestID, the same RequestID must be sent back. It is used to identify key information regarding the response, such as what

the full RoomPathName was and it is used in error message generation. Also can be used to eliminate duplicate requests.

  • 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"
  • 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.

Tags


S→C This packet originates on the server.

100% This packet has been completely reversed.

Example


Chat Room Query


Banned shows a circle with a line through it under invited.

Sample Packet

00 09 
06 1A 
07 00                         // op count
4E 86 DE C4                   // ChatQueryRoomResults
01 00 00 00                   // ???????????????????????????????  
03 00                         // string count
53 57 47                      // SWG
0A 00                         // string count
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
08 00                         // string count
72 75 62 69 6E 6C 65 65       // rubinlee
01 00 00 00                   // ??????????????????????????????? 
03 00                         // string count
53 57 47                      // SWG
0A 00                         // string count
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
08 00                         // string count
72 75 62 69 6E 6C 65 65       // rubinlee
01 00 00 00                   // ??????????????????????????????? 
03 00                         // string count
53 57 47                      // SWG
0A 00                         // string count
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
08 00                         // string count
72 75 62 69 6E 6C 65 65       // rubinlee
00 00 00 00                   // ???????????????????????????????
00 00 00 00                   // ???????????????????????????????
89 06 29 03                   // Room ID
01 00 00 00                   // ???????????????????????????????
01                            // ???????????????????????????????
22 00                                             // string count
53 57 47 2E 53 68                                 // SWG.Sh
61 64 6F 77 66 69 72 65 2E 74 75 74 6F 72 69 61   // adowfire.tutoria
6C 2E 43 68 61 74 2E 72 6F 75 73 65               // l.Chat.rouse
03 00                         // string count
53 57 47                      // SWG
0A 00                         // string count
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
08 00                         // string count
72 75 62 69 6E 6C 65 65       // rubinlee
03 00                         // string count
53 57 47                      // SWG
0A 00                         // string count
53 68 61 64 6F 77 66 69 72 65 // Shadowfire
08 00                         // string count
72 75 62 69 6E 6C 65 65       // rubinlee
09 00 00 00                   // string count
52 00 6F 00 75 00 73 00 65 00 // R.o.u.s.e.
2D 00 73 00 77 00 67 00       // -.s.w.g
00 00 00 00                   // ???????????????????????????????
00 00 00 00                   // ????????????????????????????