PlayersNearYou (000001E7)

From SWGANH Wiki
Revision as of 16:53, 7 January 2008 by Snow (Talk | contribs)

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

Server Packet - PlayersNearYou (000001E7)

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

Struct


INT player count
INT Bitmask size / 4
?? Flags Bitmask
U_STRING Player Name
INT Race ID
A_STRING Region Name
A_STRING Planet
A_STRING Guild
A_STRING Profession Title

Variable Descriptions


controllerID = 000001E7

  • Flags
A bitmask defining the FRIEND, AFK, LFG, HELPER, ROLEPLAY flags.
It seems like the bitmask can be composed by one INT32, however the nge packet uses a 4X4 bytes one (see packet example).
The INT32 before the bitmask represents the size of the bitmask divided by 4. (size=1 if the bitmask = 4 bytes).
Even more strange: only the first byte of the bitmask is used to store the Flags data.


Some tests :
00111111 = 3f = LFG HELPER ROLEPLAY
00111110 = 3E = HELPER ROLEPLAY
00111100 = 3C = ROLEPLAY
00111001 = 39 = LFG
00111000 = 38 = nothing

10111111 = BF = AFK LFG HELPER ROLEPLAY
10111110 = BE = AFK HELPER ROLEPLAY
10111100 = BC = AFK ROLEPLAY
10111000 = B8 = AFK

11111111 = FF = FRIEND AFK LFG HELPER ROLEPLAY 
11111110 = FE = FRIEND AFK HELPER ROLEPLAY 
11111100 = FC = FRIEND AFK ROLEPLAY 
11111000 = F8 = FRIEND AFK

01111111 = 7F = FRIEND LFG HELPER ROLEPLAY 
01111110 = 7E = FRIEND HELPER ROLEPLAY 
01111100 = 7C = FRIEND ROLEPLAY 
01111000 = 78 = FRIEND 

According to this the 8 bits are boolean telling if a flag is set or not.

They go in this order:

[AFK]
[FRIEND]
[?]
[?]
[?]
[ROLEPLAY]
[HELPER]
[LFG]

(the ? don't seem to have any effect)

More Information


Bitmask breakdown:

The packet is still valid when making the bitmask bigger/smaller. No clue why it's made so.

Title: The system-name of a title: science_doctor_master, for Master Doctor.

Communitysearchcy2.jpg
Communitysearch2.jpg

Tags


OCM This header is part of the ObjControllerMessage.

75% This packet has been partially reversed.



Sample Packet

07 00 00 00  // player count

==================================

04 00 00 00 // bitmask counter
38 00 00 00 // bitmask
00 00 00 00                                
00 00 00 00 
00 00 00 00

0A 00 00 00 
53 00 65 00 6A 00 75 00 
6F 00 20 00 44 00 75 00  // Sejuo Dune  (player name)
6E 00 65 00
 
00 00 00 00 // race (human)

1E 00 
40 74 61 74 6F 6F 69 6E 
65 5F 72 65 67 69 6F 6E //@tatooine_region_names:bestine
5F 6E 61 6D 65 73 3A 62 
65 73 74 69 6E 65 

08 00 
74 61 74 6F 6F 69 6E 65 // tatooine

00 00 // no specified guild

00 00 // no specified title

===================================

04 00 00 00 // bitmask counter
38 00 00 00 // bitmask
00 00 00 00                                
00 00 00 00 
00 00 00 00 

07 00 00 00 
52 00 6F 00 75 00 20 00 // player name
42 00 6F 00 74 00                         

31 00 00 00 // race (Sullustan)

1E 00 
40 74 61 74 6F 6F 69 6E 
65 5F 72 65 67 69 6F 6E // region-name STF
5F 6E 61 6D 65 73 3A 62 
65 73 74 69 6E 65 

08 00 
74 61 74 6F 6F 69 6E 65  // tatooine

00 00 // no specified guild

00 00 // no specified title

====================================

04 00 00 00  // bitmask counter
38 00 00 00   // bitmask
00 00 00 00                               
00 00 00 00  
00 00 00 00 

0B 00 00 00  
6B 00 69 00 6C 00 6C 00
2D 00 63 00 72 00 69 00 // player name
7A 00 6F 00 77 00 

04 00 00 00 // race (Wookiee)

00 00 // no specified region

08 00 
74 61 74 6F 6F 69 6E 65  // tatooine

03 00
52 45 44  // RED (guild)

00 00  // no specified title

=======================================

04 00 00 00 // bitmask counter
38 00 00 00 // bitmask
00 00 00 00                                 
00 00 00 00 
00 00 00 00 

04 00 00 00 
56 00 6F 00 68 00 75 00 // player name (Vohu)

00 00 00 00 // race (Human)

1E 00 
40 74 61 74 6F 6F 69 6E 
65 5F 72 65 67 69 6F 6E  // region-name STF 
5F 6E 61 6D 65 73 3A 62 
65 73 74 69 6E 65 

08 00 
74 61 74 6F 6F 69 6E 65  // tatooine

00 00  // no specified guild

00 00  // no specified title


========================================

04 00 00 00 // bitmask counter
38 00 00 00// bitmask
00 00 00 00                                 
00 00 00 00 
00 00 00 00

05 00 00 00 
56 00 65 00 67 00 61 00 27 00 // player name

07 00 00 00 // race (Zabrak)

2B 00 
40 74 61 74 6F 6F 69 6E 
65 5F 72 65 67 69 6F 6E 
5F 6E 61 6D 65 73 3A 76// region-name STF  
61 6C 5F 68 61 75 6C 5F 
73 70 61 77 6E 5F 62 6C 
6F 63 6B 

08 00 
74 61 74 6F 6F 69 6E 65 // tatooine

00 00 // no specified guild

00 00  // no specified title

=========================================

04 00 00 00  // bitmask counter
38 00 00 00   // bitmask
00 00 00 00                                
00 00 00 00 
00 00 00 00 

04 00 00 00 
4E 00 61 00 74 00 27 00  // player name 

00 00 00 00  // race (Human)

00 00 // no specified region

08 00 
74 61 74 6F 6F 69 6E 65  // tatooine

00 00  // no specified guild

00 00  // no specified title