Difference between revisions of "PlayersNearYou (000001E7)"

From SWGANH Wiki
Jump to: navigation, search
 
(9 intermediate revisions by 2 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}}|'''specie'''
+
|{{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'''
 
|-
 
|-
 
|}
 
|}
 
+
|}
<pre>
+
INT: Players Found Counter
+
{
+
INT: Unknown Counter
+
{
+
INT: Unknown
+
}
+
U_STRING:      Player Name
+
INT: Race ID
+
A_STRING: Region Name
+
A_STRING: Planet Name
+
A_STRING: Guild Name
+
A_STRING: Skill Title
+
}
+
</pre>
+
 
+
 
===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 80: 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.
 
The packet is still valid when making the bitmask bigger/smaller. No clue why it's made so.
<pre>
 
01 00 00 00
 
BF 00 00 00
 
 
-----------
 
03 00 00 00
 
BF 00 00 00
 
00 00 00 00
 
00 00 00 00
 
 
-----------
 
05 00 00 00
 
BF 00 00 00
 
00 00 00 00
 
00 00 00 00
 
00 00 00 00
 
00 00 00 00
 
</pre>
 
 
 
  
 
'''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.
  
 +
{| align="center"
 +
|-
 +
||[[Image:Communitysearchcy2.jpg|thumb]]||[[Image:communitysearch2.jpg|thumb]]
 +
|}
  
 
----
 
[[Image:Communitysearchcy2.jpg]]
 
[[Image:communitysearch2.jpg]]
 
 
==Sample Packet==
 
 
<pre>
 
07 00 00 00                                // player count
 
</pre>
 
 
===Tags===
 
===Tags===
 
----
 
----
Line 130: Line 100:
 
|-
 
|-
 
|}
 
|}
 
 
|}
 
|}
  
==============================================================================
 
  
04 00 00 00                               // bitmask counter
+
 
38 00 00 00                               // bitmask
+
 
 +
==Sample Packet==
 +
 
 +
<pre>
 +
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  
 
00 00 00 00  
Line 143: 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 170: 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 198: 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 222: 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 249: 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 262: 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 277: 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 16: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