Difference between revisions of "PlayersNearYou (000001E7)"

From SWGANH Wiki
Jump to: navigation, search
(Variable Descriptions)
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{PageHeader|Server Packet|PlayersNearYou (000001E7)}}
 
+
 
{| border="0" width="90%" cellpadding=6
 
{| border="0" width="90%" cellpadding=6
 
|-
 
|-
Line 6: Line 5:
 
===Struct===
 
===Struct===
 
----
 
----
 +
{| align="center"
 +
|-
 +
||
 
{| class="wikitable"
 
{| class="wikitable"
 
|{{int}}|'''player count'''
 
|{{int}}|'''player count'''
 
|-
 
|-
|}
+
|{{int}}|'''Bitmask size / 4'''
 
+
 
+
{| class="wikitable"
+
|{{int}}|'''bitmask size / 4'''
+
 
|-
 
|-
|{{unknown}}|'''Flags bitmask'''
+
|{{unknown}}|'''Flags Bitmask'''
 
|-
 
|-
|{{u_string}}|'''player name'''
+
|{{u_string}}|'''Player Name'''
 
|-
 
|-
|{{int}}|'''race'''
+
|{{int}}|'''Race ID'''
 
|-
 
|-
|{{a_string}}|'''client region STF'''
+
|{{a_string}}|'''Region Name'''
 
|-
 
|-
|{{a_string}}|'''planet'''
+
|{{a_string}}|'''Planet'''
 
|-
 
|-
|{{a_string}}|'''guild'''
+
|{{a_string}}|'''Guild'''
 
|-
 
|-
|{{a_string}}|'''profession title'''
+
|{{a_string}}|'''Profession Title'''
 
|-
 
|-
 
|}
 
|}
 
+
|}
 
===Variable Descriptions===
 
===Variable Descriptions===
 
----
 
----
 
controllerID     = '''000001E7'''
 
controllerID     = '''000001E7'''
  
'''Flags''': A bitmask defining the FRIEND, AFK, LFG, HELPER, ROLEPLAY flags. It seems like the bitmask can be composed by
+
*'''Flags'''
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.
+
: 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.
  
Bitmask breakDown:
 
  
 
<pre>
 
<pre>
Line 64: Line 64:
 
</pre>
 
</pre>
  
According to this the 8 bits are boolean telling if a flag is set or not.
+
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]
+
They go in this order:  
 +
:'''[AFK]'''
 +
:'''[FRIEND]'''
 +
:'''[?]'''
 +
:'''[?]'''
 +
:'''[?]'''
 +
:'''[ROLEPLAY]'''
 +
:'''[HELPER]'''
 +
:'''[LFG]'''
 
(the ? don't seem to have any effect)
 
(the ? don't seem to have any effect)
 +
|valign=top|
 +
===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.
 
'''Title''':  The system-name of a title: science_doctor_master, for Master Doctor.
----
 
[[Image:Communitysearchcy2.jpg]]
 
[[Image:communitysearch2.jpg]]
 
  
==Sample Packet==
+
{| align="center"
 +
|-
 +
||[[Image:Communitysearchcy2.jpg|thumb]]||[[Image:communitysearch2.jpg|thumb]]
 +
|}
  
<pre>
+
===Tags===
07 00 00 00                                // player count
+
----
 +
{| align="center"
 +
|-
 +
||{{ObjControllerMessageTag}}
 +
|-
 +
||{{75%}}
 +
|-
 +
|}
 +
|}
  
==============================================================================
 
  
04 00 00 00                                // bitmask counter
 
38 00 00 00                                // bitmask
 
00 00 00 00                             
 
00 00 00 00
 
00 00 00 00
 
  
11 00 00 00
 
44 00 6F 00 6D 00 65 00
 
73 00 74 00 69 00 63 00                    // player name & surname
 
61 00 20 00 54 00 72 00
 
61 00 64 00 69 00 61 00 72 00 
 
     
 
06 00 00 00                                // race (Twil'ek)
 
  
1E 00
+
==Sample Packet==
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
+
<pre>
74 61 74 6F 6F 69 6E 65                    // tatooine
+
07 00 00 00 // player count
 
+
00 00                                      // no specified guild
+
 
+
00 00                                     // no specified title
+
  
==============================================================================
+
==================================
  
04 00 00 00                               // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                               // bitmask
+
38 00 00 00 // bitmask
 
00 00 00 00                                 
 
00 00 00 00                                 
 
00 00 00 00  
 
00 00 00 00  
Line 119: Line 120:
 
0A 00 00 00  
 
0A 00 00 00  
 
53 00 65 00 6A 00 75 00  
 
53 00 65 00 6A 00 75 00  
6F 00 20 00 44 00 75 00                   // Sejuo Dune  (player name)
+
6F 00 20 00 44 00 75 00 // Sejuo Dune  (player name)
 
6E 00 65 00
 
6E 00 65 00
 
   
 
   
00 00 00 00                               // race (human)
+
00 00 00 00 // race (human)
  
 
1E 00  
 
1E 00  
 
40 74 61 74 6F 6F 69 6E  
 
40 74 61 74 6F 6F 69 6E  
65 5F 72 65 67 69 6F 6E                   //@tatooine_region_names:bestine
+
65 5F 72 65 67 69 6F 6E //@tatooine_region_names:bestine
 
5F 6E 61 6D 65 73 3A 62  
 
5F 6E 61 6D 65 73 3A 62  
 
65 73 74 69 6E 65  
 
65 73 74 69 6E 65  
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                   // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
00 00                                     // no specified guild
+
00 00 // no specified guild
  
00 00                                     // no specified title
+
00 00 // no specified title
  
==============================================================================
+
===================================
  
04 00 00 00                               // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                               // bitmask
+
38 00 00 00 // bitmask
 
00 00 00 00                                 
 
00 00 00 00                                 
 
00 00 00 00  
 
00 00 00 00  
Line 146: Line 147:
  
 
07 00 00 00  
 
07 00 00 00  
52 00 6F 00 75 00 20 00                   // player name
+
52 00 6F 00 75 00 20 00 // player name
 
42 00 6F 00 74 00                         
 
42 00 6F 00 74 00                         
  
31 00 00 00                               // race (Sullustan)
+
31 00 00 00 // race (Sullustan)
  
 
1E 00  
 
1E 00  
 
40 74 61 74 6F 6F 69 6E  
 
40 74 61 74 6F 6F 69 6E  
65 5F 72 65 67 69 6F 6E                   // region-name STF
+
65 5F 72 65 67 69 6F 6E // region-name STF
 
5F 6E 61 6D 65 73 3A 62  
 
5F 6E 61 6D 65 73 3A 62  
 
65 73 74 69 6E 65  
 
65 73 74 69 6E 65  
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                   // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
00 00                                     // no specified guild
+
00 00 // no specified guild
  
00 00                                     // no specified title
+
00 00 // no specified title
  
==============================================================================
+
====================================
  
04 00 00 00                               // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                               // bitmask
+
38 00 00 00   // bitmask
 
00 00 00 00                               
 
00 00 00 00                               
 
00 00 00 00   
 
00 00 00 00   
Line 174: Line 175:
 
0B 00 00 00   
 
0B 00 00 00   
 
6B 00 69 00 6C 00 6C 00
 
6B 00 69 00 6C 00 6C 00
2D 00 63 00 72 00 69 00                   // player name
+
2D 00 63 00 72 00 69 00 // player name
 
7A 00 6F 00 77 00  
 
7A 00 6F 00 77 00  
  
04 00 00 00                               // race (Wookiee)
+
04 00 00 00 // race (Wookiee)
  
00 00                                     // no specified region
+
00 00 // no specified region
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                   // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
 
03 00
 
03 00
52 45 44                                   // RED (guild)
+
52 45 44 // RED (guild)
  
00 00                                     // no specified title
+
00 00 // no specified title
  
==============================================================================
+
=======================================
  
04 00 00 00                                 // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                                 // bitmask
+
38 00 00 00 // bitmask
 
00 00 00 00                                 
 
00 00 00 00                                 
 
00 00 00 00  
 
00 00 00 00  
Line 198: Line 199:
  
 
04 00 00 00  
 
04 00 00 00  
56 00 6F 00 68 00 75 00                     // player name (Vohu)
+
56 00 6F 00 68 00 75 00 // player name (Vohu)
  
00 00 00 00                                 // race (Human)
+
00 00 00 00 // race (Human)
  
 
1E 00  
 
1E 00  
 
40 74 61 74 6F 6F 69 6E  
 
40 74 61 74 6F 6F 69 6E  
65 5F 72 65 67 69 6F 6E                     // region-name STF  
+
65 5F 72 65 67 69 6F 6E // region-name STF  
 
5F 6E 61 6D 65 73 3A 62  
 
5F 6E 61 6D 65 73 3A 62  
 
65 73 74 69 6E 65  
 
65 73 74 69 6E 65  
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                     // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
00 00                                       // no specified guild
+
00 00 // no specified guild
  
00 00                                       // no specified title
+
00 00 // no specified title
  
  
==============================================================================
+
========================================
  
04 00 00 00                                 // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                                 // bitmask
+
38 00 00 00// bitmask
 
00 00 00 00                                 
 
00 00 00 00                                 
 
00 00 00 00  
 
00 00 00 00  
Line 225: Line 226:
  
 
05 00 00 00  
 
05 00 00 00  
56 00 65 00 67 00 61 00 27 00               // player name
+
56 00 65 00 67 00 61 00 27 00 // player name
  
07 00 00 00                                 // race (Zabrak)
+
07 00 00 00 // race (Zabrak)
  
 
2B 00  
 
2B 00  
 
40 74 61 74 6F 6F 69 6E  
 
40 74 61 74 6F 6F 69 6E  
 
65 5F 72 65 67 69 6F 6E  
 
65 5F 72 65 67 69 6F 6E  
5F 6E 61 6D 65 73 3A 76                     // region-name STF   
+
5F 6E 61 6D 65 73 3A 76// region-name STF   
 
61 6C 5F 68 61 75 6C 5F  
 
61 6C 5F 68 61 75 6C 5F  
 
73 70 61 77 6E 5F 62 6C  
 
73 70 61 77 6E 5F 62 6C  
Line 238: Line 239:
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                     // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
00 00                                       // no specified guild
+
00 00 // no specified guild
  
00 00                                       // no specified title
+
00 00 // no specified title
  
==============================================================================
+
=========================================
  
04 00 00 00                                 // bitmask counter
+
04 00 00 00 // bitmask counter
38 00 00 00                                 // bitmask
+
38 00 00 00   // bitmask
 
00 00 00 00                                 
 
00 00 00 00                                 
 
00 00 00 00  
 
00 00 00 00  
Line 253: Line 254:
  
 
04 00 00 00  
 
04 00 00 00  
4E 00 61 00 74 00 27 00                     // player name  
+
4E 00 61 00 74 00 27 00 // player name  
  
00 00 00 00                                 // race (Human)
+
00 00 00 00 // race (Human)
  
00 00                                       // no specified region
+
00 00 // no specified region
  
 
08 00  
 
08 00  
74 61 74 6F 6F 69 6E 65                     // tatooine
+
74 61 74 6F 6F 69 6E 65 // tatooine
  
00 00                                       // no specified guild
+
00 00 // no specified guild
  
00 00                                       // no specified title
+
00 00 // no specified title
 
</pre>
 
</pre>
 
 
|valign=top|
 
===Tags===
 
----
 
{| align="center"
 
|-
 
||{{ObjControllerMessageTag}}
 
|-
 
||{{25%}}
 
|-
 
|}
 
 
|}
 

Latest revision as of 17:53, 7 January 2008

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