<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.swganh.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Apathy</id>
		<title>SWGANH Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.swganh.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Apathy"/>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php/Special:Contributions/Apathy"/>
		<updated>2026-04-05T13:09:20Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=QuestTaskTimerData_(00000444)&amp;diff=257107</id>
		<title>QuestTaskTimerData (00000444)</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=QuestTaskTimerData_(00000444)&amp;diff=257107"/>
				<updated>2013-09-28T00:24:27Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Object Controller|QuestTaskTimerData  (00000444)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|{{Long}}|'''Object ID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}|'''QuestName'''&lt;br /&gt;
|-&lt;br /&gt;
|{{Int}}|'''Task ID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{u_string}}|'''SourceName'''&lt;br /&gt;
|-&lt;br /&gt;
|{{Int}}|'''timerlength'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
controllerID	     = '''00000444'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ObjControllerMessageTag}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NGE struct by cAble&lt;br /&gt;
&lt;br /&gt;
05 00 #Operand&lt;br /&gt;
46 5E CE 80 #Obj Controller&lt;br /&gt;
0B 00 00 00 &lt;br /&gt;
44 04 00 00 #questTaskTimerData&lt;br /&gt;
4E C7 80 B7 51 00 00 00 #Object ID&lt;br /&gt;
00 00 00 00 #UnknownInt&lt;br /&gt;
17 00 #StringSize&lt;br /&gt;
71 75 65 73 74 2F 73 6D 75 67 67 6C 65 5F 67 65 &lt;br /&gt;
6E 65 72 69 63 5F 31 #questName (quest/smuggle_generic_1) &lt;br /&gt;
04 00 00 00 #taskId &lt;br /&gt;
22 00 00 00 #UString&lt;br /&gt;
71 00 75 00 65 00 73 00 74 00 2F 00 67 00 72 00 &lt;br /&gt;
6F 00 75 00 6E 00 64 00 71 00 75 00 65 00 73 00 &lt;br /&gt;
74 00 73 00 3A 00 74 00 69 00 6D 00 65 00 72 00 &lt;br /&gt;
5F 00 74 00 69 00 6D 00 65 00 72 00 74 00 65 00 &lt;br /&gt;
78 00 74 00 #sourceName = quest/groundquests:timer_timertext&lt;br /&gt;
38 D7 73 00 #timerLength &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SOE_Protocol_Breakdown&amp;diff=257057</id>
		<title>SOE Protocol Breakdown</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SOE_Protocol_Breakdown&amp;diff=257057"/>
				<updated>2013-09-21T15:40:18Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Guides|SOE Protocol Breakdown}}&lt;br /&gt;
SOE's Protocol is a systematic way to enhance the UDP protocol to make it more reliable, and also save bandwidth by merging and grouping packets. It can be combined in various ways, or not be used at all.&lt;br /&gt;
&lt;br /&gt;
The format of the SOE Protocol varies depending on what type of operation it is. SOE Protocol can function as a stand alone packet, or as a Header to SWG Packets. What is true about all of the SOE Protocol is that the beginning contains 2 bytes known as the SOE Opcode. Majority also contain a footer. Assume all packets have footers unless otherwise mentioned. The table of opcodes are as follows:&lt;br /&gt;
&lt;br /&gt;
'''Note'''  &amp;lt;font color=orange&amp;gt;''An SOE Opcode is stored as an unsigned short (uint16), and is in net byte order.''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|SOE OpCodes|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(SOE Opcode)&amp;quot;in hex&amp;quot;	(Meaning) 		(       (ENUM_NAME) &amp;quot;used in code&amp;quot;&lt;br /&gt;
&lt;br /&gt;
00 01		Session Request				(SOE_SESSION_REQUEST)&lt;br /&gt;
00 02		Session Response			(SOE_SESSION_REPLY)&lt;br /&gt;
00 03		Multiple SOE Protocols			(SOE_MULTI_SOE)&lt;br /&gt;
00 04		Not Used				(SOE_NOT_USED)&lt;br /&gt;
00 05		Disconnect				(SOE_DISCONNECT)&lt;br /&gt;
00 06		Keep Alive				(SOE_PING)&lt;br /&gt;
00 07 		Client Network Status Update		(SOE_NET_STATUS_REQ)&lt;br /&gt;
00 08 		Server Network Status Update		(SOE_NET_STATUS_RES)&lt;br /&gt;
&lt;br /&gt;
00 09 		Channel 0 - Data Packet			(SOE_CHL_DATA_A)&lt;br /&gt;
00 0A		Channel 1 - Data Packet			(SOE_CHL_DATA_B)&lt;br /&gt;
00 0B		Channel 2 - Data Packet			(SOE_CHL_DATA_C)&lt;br /&gt;
00 0C		Channel 3 - Data Packet			(SOE_CHL_DATA_D)&lt;br /&gt;
&lt;br /&gt;
00 0D		Channel 0 - Fragmented Data Packet	(SOE_DATA_FRAG_A)&lt;br /&gt;
00 0E		Channel 1 - Fragmented Data Packet	(SOE_DATA_FRAG_B)&lt;br /&gt;
00 0F		Channel 2 - Fragmented Data Packet	(SOE_DATA_FRAG_C)&lt;br /&gt;
00 10		Channel 3 - Fragmented Data Packet	(SOE_DATA_FRAG_D)&lt;br /&gt;
&lt;br /&gt;
00 11		Channel 0 - Out of Order Packet		(SOE_OUT_ORDER_PKT_A)&lt;br /&gt;
00 12		Channel 1 - Out of Order Packet		(SOE_OUT_ORDER_PKT_B)&lt;br /&gt;
00 13		Channel 2 - Out of Order Packet		(SOE_OUT_ORDER_PKT_C)&lt;br /&gt;
00 14		Channel 3 - Out of Order Packet		(SOE_OUT_ORDER_PKT_D)&lt;br /&gt;
&lt;br /&gt;
00 15		Channel 0 - Acknowledge Packet		(SOE_ACK_A)&lt;br /&gt;
00 16		Channel 1 - Acknowledge Packet		(SOE_ACK_B)&lt;br /&gt;
00 17		Channel 2 - Acknowledge Packet		(SOE_ACK_C)&lt;br /&gt;
00 18		Channel 3 - Acknowledge Packet		(SOE_ACK_D)&lt;br /&gt;
&lt;br /&gt;
00 19		Channel 0 - Multi SWG Packets		(SOE_MULTI_SWG_A)&lt;br /&gt;
00 1A		Channel 1 - Multi SWG Packets		(SOE_MULTI_SWG_B)&lt;br /&gt;
00 1B		Channel 2 - Multi SWG Packets		(SOE_MULTI_SWG_C)&lt;br /&gt;
00 1C		Channel 3 - Multi SWG Packets		(SOE_MULTI_SWG_D)&lt;br /&gt;
&lt;br /&gt;
00 1D		*Serious Error Acknowledge		(SOE_FATAL_ERR)&lt;br /&gt;
00 1E		*Serious Error Reply			(SOE_FATAL_ERR_REP)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Note''' &amp;lt;font color=orange&amp;gt;''These functions are seen on very malformed packets. Very rare occurance and the client will usually disconnect. It's inclusion in the documentation is for completion ONLY. SWGEmu will disconnect automatically when reciving a Error Acknowledge, and it will NOT send any, rather just disconnect itself.''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOE has their protocol premade to allow various channels of data transmission. However, no game to this date utilizes the multiple channels. SWG will only be using channel 0 and it will be assumed throughout the rest of the packet documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following data is of packet breakdowns and explainations on each type. See the article &amp;quot;Packet Breakdown Format&amp;quot; for information on the specific used for documentation.&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 01'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 01|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 01  -  Session Request (Client -&amp;gt; Server)&lt;br /&gt;
SOE Opcode	- Net Byte SHORT	&lt;br /&gt;
CRC Length	- Net BYte INT&lt;br /&gt;
Connection ID	- Net Byte INT&lt;br /&gt;
ClientUDPSize	- Net Byte INT	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* '''SOE Opcode''' is just the opcode number to identify the packet.&lt;br /&gt;
* '''CRC Length''' is the amount of length of the CRC checksum to append at the end of a packet. SWG uses 2 bytes. &lt;br /&gt;
* '''Note''' &amp;lt;font color=orange&amp;gt;''CRC32 checksums are 32bit, making them 4 bytes, but only 2 are appended.''&amp;lt;/font&amp;gt;&lt;br /&gt;
* '''Connection ID''' is some type of identification used for the connection. Only other time seen is during a disconnect.&lt;br /&gt;
* '''ClientUDPSize''' is the maximum size allocated for the client's UDP packet buffer. No packet is allowed to exceed this size. If it is larger, it must be fragmented. This size is equal to 496 bytes.&lt;br /&gt;
&lt;br /&gt;
'''Note''' &amp;lt;font color=orange&amp;gt;''This opcode DOES NOT have a footer.''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Packet Samples -- '''00 01'''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX Session Request 0x0001|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0001&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 00 02 27 38 24 61 00 00 01 F0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;....'8$a....&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN Session Request 0x0001|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0001&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 00 02 3C D6 0F BF 00 00 01 F0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;....&amp;lt;.......&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 02'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 02  -  Session Response (Server -&amp;gt; Client)|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	 - Net Byte SHORT&lt;br /&gt;
Connection ID	 - Net Byte INT&lt;br /&gt;
CRCSeed		 - Net Byte INT&lt;br /&gt;
CRCLength	 - BYTE&lt;br /&gt;
UseCompression   - BYTE&lt;br /&gt;
SeedSize         - BYTE&lt;br /&gt;
ServerUDPSize	 - Net Byte INT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* '''Connection ID''' is replied using the same ID sent by the Session Request.&lt;br /&gt;
* '''CRCSeed''' is a seed value used for the calculation of the CRC32 Checksum.&lt;br /&gt;
* '''CRCLength'''&lt;br /&gt;
* '''UseCompression''' 0/1 Compression on/off&lt;br /&gt;
* '''SeedSize''' Size in bytes for the XOR encryption key. Strange that this appears after the CRCSeed. Seed seems to have a max value of 5bytes. Standard is 4&lt;br /&gt;
* '''ServerUDPSize''' is the maximum size allocated for the server's UDP packet buffer. No packet is allowed to exceed this size. So far the client has not sent anything large enough to fill this, or be fragmented. This size is equal to 496 bytes.&lt;br /&gt;
&lt;br /&gt;
'''Note''' &amp;lt;font color=orange&amp;gt;''This opcode DOES NOT have a footer.''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Packet Sample -- ''00 02''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX SessionResponse 0x0002|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0002&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;27 38 24 61 37 E4 BF 63 02 01 04 00 00 01 F0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;'8$a7..c.......&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MIN SessionResponse 0x0002|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0002&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;3C D6 0F BF 3B BF 9B D5 02 01 04 00 00 01 F0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&amp;lt;...;..........&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 03'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 03  -  Multiple SOE Protocols(Various)|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Data Size	- (VARIOUS)&lt;br /&gt;
DATA		- (VARIOUS)&lt;br /&gt;
Data Size	- (VARIOUS)&lt;br /&gt;
DATA		- (VARIOUS)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These packets allow the combination of 2 or more SOE Protocol packets or stand alone SWG Packets with SOE Protocol packets.&lt;br /&gt;
&lt;br /&gt;
(SOE Protocol)((SOE Protocol)(SWG Packet)) or&lt;br /&gt;
(SOE Protocol)(SWG Packet)&lt;br /&gt;
&lt;br /&gt;
or as a better example:&lt;br /&gt;
&lt;br /&gt;
(Multiple SOE Proto)(Ackowledge)(Data) or&lt;br /&gt;
(Multiple SOE Proto)(Acknowledge)(SWG Packet) or&lt;br /&gt;
(Multiple SOE Proto)(Acknowledge)(Acknowledge)&lt;br /&gt;
&lt;br /&gt;
Each seperate packet is preceded by it's size. So a better example would be:&lt;br /&gt;
(Multiple SOE Proto)(size1)(Acknowlede)(size2)(Data)&lt;br /&gt;
&lt;br /&gt;
so a very basic hexadecimal version would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(00 03)  (04)  (00 15 00 00)  (0A)  (00 09 00 01 01 00 FF FF FF FF)&lt;br /&gt;
 multi   size   acknowledge   size              data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''NOTE''': ''The Size field will never exceed 255.&lt;br /&gt;
&lt;br /&gt;
===Packet Sample -- '''00 03'''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX MultiPacket 0x0003|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0003&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;06 01 00 AF F9 6C A1 1C 0A 00 08 F8 24 1B A8 1C &lt;br /&gt;
95 AF 22 00 00 00 A2 54 40 01 2D 55 45 02 00 00 &lt;br /&gt;
00 D1 00 00 1C 0A 00 08 F8 24 1B A2 04 95 AF 22 &lt;br /&gt;
00 00 00 70 54 40 01 47 55 55 02 00 00 09 EB 00 &lt;br /&gt;
00 1C 0A 00 08 F8 24 1B AC 04 95 AF 22 00 00 00 &lt;br /&gt;
4E 54 40 01 5A 55 2D 01 00 00 0A EF 00 00 1C 0A &lt;br /&gt;
00 08 F8 24 1B 70 04 95 AF 22 00 00 00 48 54 40 &lt;br /&gt;
01 16 55 17 02 00 00 0A 15 00 00 1C 0A 00 08 F8 &lt;br /&gt;
24 1B DB FA 94 AF 22 00 00 00 72 54 40 01 5E 55 &lt;br /&gt;
06 02 00 00 0A 30 00 00 1C 0A 00 08 F8 24 1B CA &lt;br /&gt;
FD 94 AF 22 00 00 00 13 54 40 01 86 56 C3 06 00 &lt;br /&gt;
00 00 FC 00 00 1C 0A 00 08 F8 24 1B C0 FD 94 AF &lt;br /&gt;
22 00 00 00 11 54 40 01 87 56 96 06 00 00 00 FD &lt;br /&gt;
00 00 1C 0A 00 08 F8 24 1B 8E FD 94 AF 22 00 00 &lt;br /&gt;
00 55 53 40 01 8C 57 FC 06 00 00 02 D2 00 00 1C &lt;br /&gt;
0A 00 08 F8 24 1B 70 FD 94 AF 22 00 00 00 61 53 &lt;br /&gt;
40 01 BF 57 26 07 00 00 02 D2 00 00 1C 0A 00 08 &lt;br /&gt;
F8 24 1B AC FD 94 AF 22 00 00 00 0F 54 40 01 86 &lt;br /&gt;
56 AE 06 00 00 00 FD 00 00 C1 00 09 19 64 00 19 &lt;br /&gt;
1C 0A 00 08 F8 24 1B 7A 04 95 AF 22 00 00 00 8D &lt;br /&gt;
54 41 01 B8 54 EA 04 00 00 00 02 00 00 1C 05 00 &lt;br /&gt;
46 5E CE 80 1B 00 00 00 31 01 00 00 C9 1C 95 AF &lt;br /&gt;
22 00 00 00 00 00 00 00 0E 01 46 05 00 46 5E CE &lt;br /&gt;
80 1B 00 00 00 CC 00 00 00 AC 04 95 AF 22 00 00 &lt;br /&gt;
00 00 00 00 00 C0 B1 16 F3 AC 04 95 AF 22 00 00 &lt;br /&gt;
00 B2 04 95 AF 22 00 00 00 00 10 00 B7 2C 10 73 &lt;br /&gt;
00 01 00 C9 1C 95 AF 22 00 00 00 0E 01 00 00 4D &lt;br /&gt;
0A 1C 0A 00 08 F8 24 1B B6 FD 94 AF 22 00 00 00 &lt;br /&gt;
11 54 40 01 86 56 92 06 00 00 00 FD 00 00 1C 0A &lt;br /&gt;
00 08 F8 24 1B 0F F7 94 AF 22 00 00 00 C7 53 40 &lt;br /&gt;
01 0E 56 5A 08 00 00 02 29 00 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.....l......$.....&amp;quot;....T@.-UE...........&lt;br /&gt;
.$.....&amp;quot;...pT@.GUU............$.....&amp;quot;...&lt;br /&gt;
NT@.ZU-............$.p...&amp;quot;...HT@..U.....&lt;br /&gt;
........$.....&amp;quot;...rT@.^U.....0.......$..&lt;br /&gt;
...&amp;quot;....T@..V.............$.....&amp;quot;....T@.&lt;br /&gt;
.V.............$.....&amp;quot;...US@..W.........&lt;br /&gt;
....$.p...&amp;quot;...aS@..W&amp;amp;............$.....&amp;quot;&lt;br /&gt;
....T@..V............d.......$.z...&amp;quot;....&lt;br /&gt;
TA..T...........F^......1.......&amp;quot;.......&lt;br /&gt;
..F..F^..............&amp;quot;...............&amp;quot;..&lt;br /&gt;
.....&amp;quot;.......,.s.......&amp;quot;.......M......$.&lt;br /&gt;
....&amp;quot;....T@..V.............$.....&amp;quot;....S@&lt;br /&gt;
..VZ....)..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MIN MultiPacket 0x0003|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0003&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;04 00 11 01 8E 04 00 11 01 8F&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..........&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX MultiPacket 0x0003|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0003&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;04 00 15 0B 1E 9E 00 09 07 9E 00 19 2E 05 00 46 &lt;br /&gt;
5E CE 80 23 00 00 00 16 01 00 00 13 6C 35 E3 16 &lt;br /&gt;
00 00 00 00 00 00 00 80 00 00 00 02 B7 A8 D6 9B &lt;br /&gt;
FC 19 AE 1A 00 00 00 00 00 00 00 22 05 00 46 5E &lt;br /&gt;
CE 80 83 00 00 00 26 01 00 00 13 6C 35 E3 16 00 &lt;br /&gt;
00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 05 &lt;br /&gt;
00 46 5E CE 80 83 00 00 00 26 01 00 00 13 6C 35 &lt;br /&gt;
E3 16 00 00 00 00 00 00 00 DF B5 1A AE 1A 00 00 &lt;br /&gt;
00 22 05 00 46 5E CE 80 83 00 00 00 26 01 00 00 &lt;br /&gt;
13 6C 35 E3 16 00 00 00 00 00 00 00 9B FC 19 AE &lt;br /&gt;
1A 00 00 00 4F 05 00 46 5E CE 80 21 00 00 00 F1 &lt;br /&gt;
00 00 00 13 6C 35 E3 16 00 00 00 00 00 00 00 81 &lt;br /&gt;
49 E9 85 A2 01 00 00 EF B4 1A AE 1A 00 00 00 00 &lt;br /&gt;
00 00 00 33 FD 68 BD 00 00 00 00 E5 95 7F 3F D8 &lt;br /&gt;
AE 3E 3F 33 33 33 3F CA 56 49 40 00 00 00 41 00 &lt;br /&gt;
00 00 00 00 F0 00 09 07 9F 00 19 2E 05 00 46 5E &lt;br /&gt;
CE 80 23 00 00 00 16 01 00 00 13 6C 35 E3 16 00 &lt;br /&gt;
00 00 00 00 00 00 80 00 00 00 02 B7 A8 D6 9B FC &lt;br /&gt;
19 AE 1A 00 00 00 00 00 00 00 22 05 00 46 5E CE &lt;br /&gt;
80 83 00 00 00 26 01 00 00 13 6C 35 E3 16 00 00 &lt;br /&gt;
00 00 00 00 00 00 00 00 00 00 00 00 00 22 05 00 &lt;br /&gt;
46 5E CE 80 83 00 00 00 26 01 00 00 13 6C 35 E3 &lt;br /&gt;
16 00 00 00 00 00 00 00 9B FC 19 AE 1A 00 00 00 &lt;br /&gt;
2E 05 00 46 5E CE 80 23 00 00 00 16 01 00 00 13 &lt;br /&gt;
6C 35 E3 16 00 00 00 00 00 00 00 80 00 00 00 02 &lt;br /&gt;
B7 A8 D6 9B FC 19 AE 1A 00 00 00 00 00 00 00 22 &lt;br /&gt;
05 00 46 5E CE 80 83 00 00 00 26 01 00 00 13 6C &lt;br /&gt;
35 E3 16 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
00 00 22 05 00 46 5E CE 80 83 00 00 00 26 01 00 &lt;br /&gt;
00 13 6C 35 E3 16 00 00 00 00 00 00 00 9B FC 19 &lt;br /&gt;
AE 1A 00 00 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;...............F^..#........l5..........&lt;br /&gt;
...................&amp;quot;..F^......&amp;amp;....l5...&lt;br /&gt;
..............&amp;quot;..F^......&amp;amp;....l5........&lt;br /&gt;
.........&amp;quot;..F^......&amp;amp;....l5.............&lt;br /&gt;
....O..F^..!........l5..........I.......&lt;br /&gt;
...........3.h.......?..&amp;gt;?333?.VI@...A.&lt;br /&gt;
..............F^..#........l5...........&lt;br /&gt;
..................&amp;quot;..F^......&amp;amp;....l5....&lt;br /&gt;
.............&amp;quot;..F^......&amp;amp;....l5.........&lt;br /&gt;
...........F^..#........l5..............&lt;br /&gt;
...............&amp;quot;..F^......&amp;amp;....l5.......&lt;br /&gt;
..........&amp;quot;..F^......&amp;amp;....l5............&lt;br /&gt;
.....&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN MultiPacket 0x0003|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0003&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;04 00 15 02 0B 04 00 15 02 0F&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..........&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 05'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 05  -  Disconnect (VARIOUS)|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Connection ID	- Net Byte INT&lt;br /&gt;
Reason ID	- Net Byte SHORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* '''Connection ID''' is the ID number assigned during the session request. Each client sends its own Connection ID. Reason ID is an ID number that corresponds for a reason for the disconnection.&lt;br /&gt;
&lt;br /&gt;
This packet is sent whenever one side wants to disconnect. It resends the clients specific Connection ID established during the session handshake, and then a reason for disconnection. The possible disconnect reasons and the associated ID seen in the packet are in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0||None&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||ICMP Error&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||Timeout&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Other side terminated&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Manager deleted&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||Connect fail&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||Application&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|7||Unreachable connection&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|8||Unacknowledged timeout&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|9||New connection attempt&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|10||Connection refused&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|11||Mutual connect error&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|12||Connecting to self&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|13||Reliable overflow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 06'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|00 06   -  Keep Alive(VARIOUS)|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Comp / CRC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This packet is simply a keep alive to tell the other side that is still connected, but idle. It only consists of the opcode and a footer.&lt;br /&gt;
&lt;br /&gt;
===Packet Samples -- '''00 06'''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX Ping 0x0006|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0006&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;CB 3A 78&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.:x&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MIN Ping 0x0006|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0006&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;16 01 A7&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;...&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX Ping 0x0006|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0006&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;C7 23 8F&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.#.&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN Ping 0x0006|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0006&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;CB 3A 78&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.:x&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 07'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|00 07  -  Client Network Status Update|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode		- Net Byte SHORT&lt;br /&gt;
Client TickCount	- Net Byte SHORT&lt;br /&gt;
Last update		- Net Byte INT&lt;br /&gt;
Average update		- Net Byte INT&lt;br /&gt;
Shortest update		- Net Byte INT&lt;br /&gt;
Longest update		- Net Byte INT&lt;br /&gt;
Last Server update	- Net Byte INT&lt;br /&gt;
Packets sent		- Net Byte LONG&lt;br /&gt;
Packets received	- Net Byte LONG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These packets consist of various data and network statistics. Because we do not care about network statistics, we will ignore these. To ignore these we send a special malformed Server Network Status Update.&lt;br /&gt;
&lt;br /&gt;
'''Note''': &amp;lt;font color=orange&amp;gt;''This packet is usually compressed but is optional.''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Packet Samples -- '''00 07'''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX NetStatRequest 0x0007|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0007&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;CA 3A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 01&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.:....................................&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN NetStatRequest 0x0007|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0007&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;D2 C7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 01 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;......................................&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 08'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|00 08  -  Server Network Status Update|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode		- Net Byte SHORT&lt;br /&gt;
Client TickCount	- Net Byte SHORT (As in request)&lt;br /&gt;
Server TickCount	- Net Byte INT (I think this should be old server tickcount + client tickcount)&lt;br /&gt;
client packets sent	- Net Byte LONG&lt;br /&gt;
client packets received	- Net Byte LONG&lt;br /&gt;
server packets sent	- Net Byte LONG&lt;br /&gt;
server packets received - Net Byte LONG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
===Packet Samples -- '''00 08'''===&lt;br /&gt;
{{InfoboxPacketSample|Server MIN NetStatResponse 0x0008|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0008&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;D2 C7 90 96 3F 20 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 02 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;....?.................................&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX NetStatResponse 0x0008|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0008&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;CA 3A 63 75 DB 1D 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 &lt;br /&gt;
00 00 00 00 00 02 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.:cu..................................&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN NetStatResponse 0x0008|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0008&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 B9 6F 02 76 00 00 30 00 75 00 FE 7F 5F A8 2B &lt;br /&gt;
CF 00 00 00 00 07 08 00 C6 27 F7 90 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..o.v..0.u.._.+.........'..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX NetStatResponse 0x0008|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0008&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 B9 6F 02 76 00 00 31 00 75 00 FE 7F 5F A8 2B &lt;br /&gt;
CF 00 00 00 00 00 00 00 D3 03 F7 90 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..o.v..1.u.._.+............&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This packet is supposed to contain the Servers network statistics, however we felt it was a waste of time to reverse&lt;br /&gt;
these as we do not care about the statistics. Instead we send 38 bytes of 0x00, and then compress the packet, but skip appending a CRC.&lt;br /&gt;
The client seems to register that it recieved the servers statistics, but notices a bad CRC (or none in our case), &lt;br /&gt;
and tosses out the packet as malformed. Because it recieved the packet it continues on without erroring.&lt;br /&gt;
&lt;br /&gt;
Note: This packet is usually compressed but is optional.&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 09'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|00 09  -  Channel 0 Data|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Sequence #	- Net Byte SHORT&lt;br /&gt;
SWG PACKET..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Packet Samples -- '''00 09'''===&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MIN DataChannel 0x0009|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0009&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 03 01 00 BE E9 2F D7 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;....../.&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX DataChannel 0x0009|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0009&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;54 06 00 19 A4 05 00 2A 2F F1 F3 F2 BB 21 B6 1E &lt;br /&gt;
00 00 00 00 00 04 00 00 00 09 00 63 6F 6E 64 69 &lt;br /&gt;
74 69 6F 6E 07 00 00 00 31 00 30 00 30 00 2F 00 &lt;br /&gt;
31 00 30 00 30 00 06 00 76 6F 6C 75 6D 65 01 00 &lt;br /&gt;
00 00 31 00 2D 00 63 61 74 5F 73 6B 69 6C 6C 5F &lt;br /&gt;
6D 6F 64 5F 62 6F 6E 75 73 2E 40 73 74 61 74 5F &lt;br /&gt;
6E 3A 73 74 72 65 6E 67 74 68 5F 6D 6F 64 69 66 &lt;br /&gt;
69 65 64 02 00 00 00 31 00 37 00 20 00 40 70 72 &lt;br /&gt;
6F 63 2F 70 72 6F 63 3A 72 65 71 75 69 72 65 64 &lt;br /&gt;
5F 63 6F 6D 62 61 74 5F 6C 65 76 65 6C 02 00 00 &lt;br /&gt;
00 38 00 35 00 FF FF FF FF 26 05 00 2A 2F F1 F3 &lt;br /&gt;
D5 C5 21 B6 1E 00 00 00 00 00 01 00 00 00 06 00 &lt;br /&gt;
76 6F 6C 75 6D 65 01 00 00 00 31 00 FF FF FF FF &lt;br /&gt;
FF 01 18 05 00 2A 2F F1 F3 D6 C5 21 B6 1E 00 00 &lt;br /&gt;
00 00 00 08 00 00 00 06 00 76 6F 6C 75 6D 65 01 &lt;br /&gt;
00 00 00 31 00 20 00 40 70 72 6F 63 2F 70 72 6F &lt;br /&gt;
63 3A 72 65 71 75 69 72 65 64 5F 63 6F 6D 62 61 &lt;br /&gt;
74 5F 6C 65 76 65 6C 02 00 00 00 32 00 30 00 15 &lt;br /&gt;
00 40 70 72 6F 63 2F 70 72 6F 63 3A 72 65 75 73 &lt;br /&gt;
65 5F 74 69 6D 65 07 00 00 00 35 00 20 00 2F 00 &lt;br /&gt;
20 00 73 00 65 00 63 00 17 00 40 70 72 6F 63 2F &lt;br /&gt;
70 72 6F 63 3A 65 66 66 65 63 74 5F 6C 65 76 65 &lt;br /&gt;
6C 02 00 00 00 32 00 30 00 14 00 40 70 72 6F 63 &lt;br /&gt;
2F 70 72 6F 63 3A 70 72 6F 63 5F 6E 61 6D 65 18 &lt;br /&gt;
00 00 00 40 00 75 00 69 00 5F 00 62 00 75 00 66 &lt;br /&gt;
00 66 00 3A 00 61 00 67 00 69 00 63 00 6F 00 6E &lt;br /&gt;
00 73 00 75 00 6D 00 61 00 62 00 6C 00 65 00 31 &lt;br /&gt;
00 35 00 04 00 74 69 65 72 01 00 00 00 32 00 0C &lt;br /&gt;
00 74 6F 6F 6C 74 69 70 2E 74 69 65 72 01 00 00 &lt;br /&gt;
00 32 00 0C 00 6E 75 6D 5F 69 6E 5F 73 74 61 63 &lt;br /&gt;
6B 01 00 00 00 36 00 FF FF FF FF &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;T......*/....!.............condition....&lt;br /&gt;
1.0.0./.1.0.0...volume....1.-.cat_skill_&lt;br /&gt;
mod_bonus.@stat_n:strength_modified....1&lt;br /&gt;
.7...@proc/proc:required_combat_level...&lt;br /&gt;
.8.5.....&amp;amp;..*/....!.............volume..&lt;br /&gt;
..1..........*/....!.............volume.&lt;br /&gt;
...1...@proc/proc:required_combat_level.&lt;br /&gt;
...2.0...@proc/proc:reuse_time....5.../.&lt;br /&gt;
..s.e.c...@proc/proc:effect_level....2.0&lt;br /&gt;
...@proc/proc:proc_name....@.u.i._.b.u.f&lt;br /&gt;
.f.:.a.g.i.c.o.n.s.u.m.a.b.l.e.1.5...tie&lt;br /&gt;
r....2...tooltip.tier....2...num_in_stac&lt;br /&gt;
k....6.....&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN DataChannel 0x0009|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0009&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;01 F5 01 00 E0 5E 80 31 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.....^.1&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX DataChannel 0x0009|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0009&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;20 46 05 00 46 5E CE 80 23 00 00 00 16 01 00 00 &lt;br /&gt;
48 12 06 E1 01 00 00 00 00 00 00 00 80 0D 00 00 &lt;br /&gt;
EF 50 45 16 00 00 00 00 00 00 00 00 DD 00 00 00 &lt;br /&gt;
36 00 37 00 32 00 37 00 33 00 37 00 31 00 34 00 &lt;br /&gt;
33 00 30 00 36 00 20 00 30 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 38 00 36 00 38 00 39 00 30 00 33 00 &lt;br /&gt;
39 00 37 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 38 00 36 00 39 00 31 00 39 00 39 00 &lt;br /&gt;
30 00 33 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 38 00 37 00 30 00 39 00 30 00 37 00 &lt;br /&gt;
32 00 34 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 38 00 37 00 31 00 31 00 37 00 37 00 &lt;br /&gt;
33 00 31 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 31 00 36 00 33 00 36 00 &lt;br /&gt;
34 00 37 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 31 00 36 00 38 00 32 00 &lt;br /&gt;
32 00 34 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 31 00 39 00 30 00 37 00 &lt;br /&gt;
33 00 30 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 32 00 31 00 34 00 35 00 &lt;br /&gt;
31 00 30 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 32 00 34 00 33 00 39 00 &lt;br /&gt;
34 00 38 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 32 00 39 00 30 00 38 00 &lt;br /&gt;
31 00 39 00 20 00 2D 00 31 00 20 00 31 00 30 00 &lt;br /&gt;
38 00 37 00 39 00 35 00 32 00 39 00 35 00 30 00 &lt;br /&gt;
39 00 37 00 20 00 2D 00 31 00 20 00 31 00 31 00 &lt;br /&gt;
30 00 36 00 30 00 36 00 34 00 34 00 32 00 35 00 &lt;br /&gt;
37 00 36 00 20 00 30 00 20 00 31 00 31 00 30 00 &lt;br /&gt;
36 00 37 00 39 00 33 00 38 00 33 00 35 00 31 00 &lt;br /&gt;
36 00 20 00 2D 00 31 00 20 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.F..F^..#.......H................PE.....&lt;br /&gt;
........6.7.2.7.3.7.1.4.3.0.6...0...1.0.&lt;br /&gt;
8.7.8.6.8.9.0.3.9.7...-.1...1.0.8.7.8.6.&lt;br /&gt;
9.1.9.9.0.3...-.1...1.0.8.7.8.7.0.9.0.7.&lt;br /&gt;
2.4...-.1...1.0.8.7.8.7.1.1.7.7.3.1...-.&lt;br /&gt;
1...1.0.8.7.9.5.1.6.3.6.4.7...-.1...1.0.&lt;br /&gt;
8.7.9.5.1.6.8.2.2.4...-.1...1.0.8.7.9.5.&lt;br /&gt;
1.9.0.7.3.0...-.1...1.0.8.7.9.5.2.1.4.5.&lt;br /&gt;
1.0...-.1...1.0.8.7.9.5.2.4.3.9.4.8...-.&lt;br /&gt;
1...1.0.8.7.9.5.2.9.0.8.1.9...-.1...1.0.&lt;br /&gt;
8.7.9.5.2.9.5.0.9.7...-.1...1.1.0.6.0.6.&lt;br /&gt;
4.4.2.5.7.6...0...1.1.0.6.7.9.3.8.3.5.1.&lt;br /&gt;
6...-.1...&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sequence # is a sequence number applied to every data packet. It increments in order for each packet and is used to help determine&lt;br /&gt;
out of order packets. This protocol is used to send an SWG Packet that NEEDS to be recieved by the other end. &lt;br /&gt;
The reciver is then supposed to respond with a an ACKNOWLEDGE packet that contains the same sequence so the sender knows it&lt;br /&gt;
has been recieved. This system ensures packets not only get sent correctly, but also stay in order.&lt;br /&gt;
&lt;br /&gt;
After the sequence # comes the encapsulated SWG Packet. &lt;br /&gt;
&lt;br /&gt;
Note* it is possible to combine multiple SWG PACKETs into a single 09. &lt;br /&gt;
This is done similar to the 0x0003 packet, a multi data example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(00 09) (sequence) (00 19) (Size1) (SWG PACKET) (Size2) (SWG PACKET)&lt;br /&gt;
SOE op.  sequence   multi   size       data       size      data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if the Size byte is FF the following 2 bytes are the size Word Little ended (16bit).&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(00 09) (sequence) (00 19) (size byte) (size word) (SWG PACKET) (size byte) (SWG PACKET)&lt;br /&gt;
SOE op.  sequence   multi    FF          01 99        data         33          data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the above the first packet size is 409 Dec.&lt;br /&gt;
&lt;br /&gt;
Use these to combine SWG PACKETs together into 1 data packet/sequence number.&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 0D'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|00 0D  -  Fragmented Data Packet|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Sequence #	- Net Byte SHORT&lt;br /&gt;
*FragmentSize	- Net Byte INT&lt;br /&gt;
SWG Packet...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
===Packet Samples -- '''00 0D'''===&lt;br /&gt;
{{InfoboxPacketSample|Client MIN DataFrag 0x000D|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x000D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;04 CC 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;...&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX DataFrag 0x000D|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x000D&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 02 00 00 02 00 03 00 B9 63 1C C1 1B 00 00 00 &lt;br /&gt;
02 00 00 00 04 00 42 72 69 61 80 8F FF FF 03 00 &lt;br /&gt;
00 00 05 00 41 68 61 7A 69 80 8F FF FF 0C 00 00 &lt;br /&gt;
00 06 00 46 6C 75 72 72 79 80 8F FF FF 0D 00 00 &lt;br /&gt;
00 08 00 49 6E 74 72 65 70 69 64 80 8F FF FF 0E &lt;br /&gt;
00 00 00 09 00 4B 65 74 74 65 6D 6F 6F 72 80 8F &lt;br /&gt;
FF FF 0F 00 00 00 07 00 4E 61 72 69 74 75 73 80 &lt;br /&gt;
8F FF FF 10 00 00 00 06 00 53 63 79 6C 6C 61 80 &lt;br /&gt;
8F FF FF 11 00 00 00 09 00 53 75 6E 72 75 6E 6E &lt;br /&gt;
65 72 80 8F FF FF 12 00 00 00 06 00 56 61 6C 63 &lt;br /&gt;
79 6E 80 8F FF FF 13 00 00 00 07 00 54 65 6D 70 &lt;br /&gt;
65 73 74 80 8F FF FF 28 00 00 00 0C 00 4A 61 70 &lt;br /&gt;
61 6E 2D 4B 61 74 61 6E 61 00 00 00 00 29 00 00 &lt;br /&gt;
00 0B 00 4A 61 70 61 6E 2D 48 61 72 6C 61 00 00 &lt;br /&gt;
00 00 19 00 00 00 09 00 53 74 61 72 73 69 64 65 &lt;br /&gt;
72 80 8F FF FF 1A 00 00 00 09 00 54 61 72 71 75 &lt;br /&gt;
69 6E 61 73 80 8F FF FF 1B 00 00 00 0A 00 57 61 &lt;br /&gt;
6E 64 65 72 68 6F 6D 65 80 8F FF FF 1C 00 00 00 &lt;br /&gt;
0A 00 53 68 61 64 6F 77 66 69 72 65 80 8F FF FF &lt;br /&gt;
05 00 00 00 08 00 42 6C 6F 6F 64 66 69 6E 80 8F &lt;br /&gt;
FF FF 06 00 00 00 09 00 43 68 69 6C 61 73 74 72 &lt;br /&gt;
61 80 8F FF FF 07 00 00 00 07 00 45 63 6C 69 70 &lt;br /&gt;
73 65 80 8F FF FF 08 00 00 00 06 00 47 6F 72 61 &lt;br /&gt;
74 68 80 8F FF FF 09 00 00 00 05 00 4B 61 75 72 &lt;br /&gt;
69 80 8F FF FF 0A 00 00 00 05 00 4C 6F 77 63 61 &lt;br /&gt;
80 8F FF FF 0B 00 00 00 07 00 52 61 64 69 61 6E &lt;br /&gt;
74 80 8F FF FF 04 00 00 00 09 00 43 6F 72 62 61 &lt;br /&gt;
6E 74 69 73 80 8F FF FF 22 00 00 00 0F 00 45 75 &lt;br /&gt;
72 6F 70 65 2D 43 68 69 6D 61 65 72 61 80 8F FF &lt;br /&gt;
FF 23 00 00 00 0E 00 45 75 72 6F 70 65 2D 46 61 &lt;br /&gt;
72 53 74 61 72 80 8F FF FF 24 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;.........c............Bria..........Ahaz&lt;br /&gt;
i..........Flurry..........Intrepid.....&lt;br /&gt;
.....Kettemoor..........Naritus.........&lt;br /&gt;
.Scylla..........Sunrunner..........Valc&lt;br /&gt;
yn..........Tempest....(.....Japan-Katan&lt;br /&gt;
a....).....Japan-Harla..........Starside&lt;br /&gt;
r..........Tarquinas..........Wanderhome&lt;br /&gt;
..........Shadowfire..........Bloodfin..&lt;br /&gt;
........Chilastra..........Eclipse......&lt;br /&gt;
....Gorath..........Kauri..........Lowca&lt;br /&gt;
..........Radiant..........Corbantis....&lt;br /&gt;
&amp;quot;.....Europe-Chimaera....#.....Europe-Fa&lt;br /&gt;
rStar....$.&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* '''Sequence #''' is the same type of sequence number described in the &amp;quot;00 09  -  Channel 0 Data&amp;quot; section. All the same rules apply.&lt;br /&gt;
&lt;br /&gt;
* '''FragmentSize''' is the total size of the combined fragments. This only appears in the FIRST packet of a group of fragmented packets.&lt;br /&gt;
&lt;br /&gt;
Next is just the piece data of the large SWG Packet. Fragments are made when the total UNCOMPRESSED packet exceeds the packet buffer size, which is 496 bytes.&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 11'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 11  -  Out of Order Packet|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Sequence #	- Net Byte SHORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
===Packet Samples -- '''00 11'''===&lt;br /&gt;
{{InfoboxPacketSample|Server MIN DataOrder 0x0011|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0011&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;0B A0 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX DataOrder 0x0011|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0011&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;0B 87 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN DataOrder 0x0011|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0011&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;20 C8 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX DataOrder 0x0011|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0011&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;20 C7 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sequence # is the sequence number of the out of order packet recieved. &lt;br /&gt;
It will send one for every packet that is out of order, and the ones following.&lt;br /&gt;
&lt;br /&gt;
So if packet sequences recieved are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 00&lt;br /&gt;
00 01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 03&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
an out of order will be sent for the packet with sequence 00 03. &lt;br /&gt;
&lt;br /&gt;
If the packet sequences recieved are:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 00&lt;br /&gt;
00 01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 03&lt;br /&gt;
00 04&lt;br /&gt;
00 05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An out of order packet will be sent for all 3 of the out of order sequences.&lt;br /&gt;
&lt;br /&gt;
==Packet Type -- '''00 15'''==&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketDetail|Packet Type 00 15  -  Acknowledge|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SOE Opcode	- Net Byte SHORT&lt;br /&gt;
Sequence #	- Net Byte SHORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
===Packet Samples -- '''00 15'''===&lt;br /&gt;
{{InfoboxPacketSample|Server MIN DataAck 0x0015|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0015&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Server MAX DataAck 0x0015|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0015&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MIN DataAck 0x0015|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0015&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{InfoboxPacketSample|Client MAX DataAck 0x0015|&lt;br /&gt;
&amp;lt;pre&amp;gt;0x0015&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;00 00 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;..&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* '''Sequence #''' is the sequence number of the packet to acknowledge to the sender that it was recieved correctly.&lt;br /&gt;
Every packet sent with a sequence number MUST be acknowledeged.&lt;br /&gt;
&lt;br /&gt;
They do not neccesarily need to be Acknowledeged 1 by 1. For example:&lt;br /&gt;
If packet sequences recieved are:&lt;br /&gt;
00 00&lt;br /&gt;
00 01&lt;br /&gt;
00 02&lt;br /&gt;
&lt;br /&gt;
An Acknowledge of 00 15 00 02 will cover all the packets up to the sequence 00 02.&lt;br /&gt;
&lt;br /&gt;
The client will stop processing packets after about 4 unacknowledeged packets so frequent acknowledges are needed.&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
&lt;br /&gt;
[[SWGPacketExamples|SWG Packet Examples used in this document]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=blue&amp;gt;'''Thanks to Acid1789 for the abundant information on the SOE Protocol!'''&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=257055</id>
		<title>ObjControllerMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=257055"/>
				<updated>2013-09-21T13:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client/Server Packet|ObjControllerMessage (80CE5E46)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''priority routing'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Flag Bitmask'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Header'''&lt;br /&gt;
|-&lt;br /&gt;
|{{long}}||'''ObjectID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''TickCount'''&lt;br /&gt;
|-&lt;br /&gt;
|{{uncertain}}||'''Data'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Operand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''80CE5E46'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Flags''':&lt;br /&gt;
A bitmask comprised of the flags in the following table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||'''Flag'''||'''Mask'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|NONE||0x00000000&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SEND||0x00000001&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|RELIABLE||0x00000002&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SOURCE_REMOTE_SERVER||0x00000004&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_AUTH_CLIENT||0x00000008&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_PROXY_CLIENT||0x00000010&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_AUTH_SERVER||0x00000020&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_PROXY_SERVER||0x00000040&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SOURCE_REMOTE_CLIENT||0x00000100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''HEADER''':&lt;br /&gt;
This is the header for the type of object controller being used. See the list below.&lt;br /&gt;
&lt;br /&gt;
* '''ObjectID''':&lt;br /&gt;
This is the Object ID of the Object we are manipulating.&lt;br /&gt;
&lt;br /&gt;
* '''TickCount''':&lt;br /&gt;
This variable appears to be a client tickcount also used in the ping's used on the PingPort (Defult:44462). If set to 0, the packet is not time critical, if set with a count, it should be compared to be within tolerance. (Anti-Hack mechanism most likely.).&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{50%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Offset			Type Inheritance&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
015EC5C4	-	Controller&lt;br /&gt;
015EC900	-	NetworkController -&amp;gt; Controller&lt;br /&gt;
015E1AC8	-	ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E04BC	-	CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E035C	-	PlayerCreatureController -&amp;gt; CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFEAC	-	ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFF5C	-	PlayerShipController -&amp;gt; ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFDD8	-	PlayerShipTurretController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
&lt;br /&gt;
Offset			Object&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
006E5210	=	ClientController&lt;br /&gt;
00618850	=	ShipController&lt;br /&gt;
0061C740	=	PlayerShipController&lt;br /&gt;
0062AA10	=	PlayerCreatureController&lt;br /&gt;
006392E0	=	CreatureController&lt;br /&gt;
00B4B000	=	NetworkController&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Controllers===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000000 - 000000FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransform (00000071)|00000071]]'''||'''[[DataTransform (00000071)|DataTransform]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatAction (000000CC)|000000CC]]'''||'''[[CombatAction (000000CC)|CombatAction]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatDamage (000000CD)|000000CD]]'''||'''[[CombatDamage (000000CD)|CombatDamage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartNpcConversation (000000DD)|000000DD]]'''||'''[[StartNpcConversation (000000DD)|StartNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopNpcConversation (000000DE)|000000DE]]'''||'''[[StopNpcConversation (000000DE)|StopNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NpcConversationMessage (000000DF)|000000DF]]'''||'''[[NpcConversationMessage (000000DF)|NpcConversationMessage ]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NPCConversationOptions (000000E0)|000000E0]]'''||'''[[NPCConversationOptions (000000E0)|NPCConversationOptions]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000000E1)|000000E1]]'''||'''[[SetupSwgSharedNetworkMessages (000000E1)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpponentInfo (000000E3)|000000E3]]'''||'''[[OpponentInfo (000000E3)|OpponentInfo]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E5)|000000E5]]'''||'''[[NetworkId (000000E5)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E6)|000000E6]]'''||'''[[NetworkId (000000E6)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E7)|000000E7]]'''||'''[[NetworkId (000000E7)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E8)|000000E8]]'''||'''[[NetworkId (000000E8)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E9)|000000E9]]'''||'''[[NetworkId (000000E9)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HarvesterResourceData (000000EA)|000000EA]]'''||'''[[HarvesterResourceData (000000EA)|HarvesterResourceData]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EB)|000000EB]]'''||'''[[NetworkIdPair (000000EB)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EC)|000000EC]]'''||'''[[NetworkIdPair (000000EC)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceEmptyHopper (000000ED)|000000ED]]'''||'''[[ResourceEmptyHopper (000000ED)|ResourceEmptyHopper]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (000000EE)|000000EE]]'''||'''[[GenericResponse (000000EE)|GenericResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransformWithParent (000000F1)|000000F1]]'''||'''[[DataTransformWithParent (000000F1)|DataTransformWithParent]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Animation (000000F2)|000000F2]]'''||'''[[Animation (000000F2)|Animation (000000F2)]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F3)|000000F3]]'''||'''[[SpatialChat (000000F3)|SpatialChat]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F4)|000000F4]]'''||'''[[SpatialChat (000000F4)|SpatialChat]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListRequest (000000F5)|000000F5]]'''||'''[[MissionListRequest (000000F5)|MissionListRequest]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListResponse (000000F6)|000000F6]]'''||'''[[MissionListResponse (000000F6)|MissionListResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsRequest (000000F7)|000000F7]]'''||'''[[MissionDetailsRequest (000000F7)|MissionDetailsRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsResponse (000000F8)|000000F8]]'''||'''[[MissionDetailsResponse (000000F8)|MissionDetailsResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000F9)|000000F9]]'''||'''[[MissionGenericRequest (000000F9)|MissionGenericRequest]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000FB)|000000FB]]'''||'''[[MissionGenericRequest (000000FB)|MissionGenericRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FA)|000000FA]]'''||'''[[MissionGenericResponse (000000FA)|MissionGenericResponse]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FC)|000000FC]]'''||'''[[MissionGenericResponse (000000FC)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionCreateRequest (000000FF)|000000FF]]'''||'''[[MissionCreateRequest (000000FF)|MissionCreateRequest]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
==00000100 - 000001FF==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (00000100)|00000100]]'''||'''[[MissionGenericResponse (00000100)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSchematics (00000102)|00000102]]'''||'''[[DraftSchematics (00000102)|DraftSchematics]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlots (00000103)|00000103]]'''||'''[[DraftSlots (00000103)|DraftSlots]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftIngredients (00000105)|00000105]]'''||'''[[CraftIngredients (00000105)|CraftIngredients]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperiment (00000106)|00000106]]'''||'''[[CraftExperiment (00000106)|CraftExperiment]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftFillSlot (00000107)|00000107]]'''||'''[[CraftFillSlot (00000107)|CraftFillSlot]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftEmptySlot (00000108)|00000108]]'''||'''[[CraftEmptySlot (00000108)|CraftEmptySlot]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[nextCraftingStage (00000109)|00000109]]'''||'''[[nextCraftingStage(00000109)|nextCraftingStage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010A)|0000010A]]'''||'''[[Generic (0000010A)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010B)|0000010B]]'''||'''[[Generic (0000010B)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftAcknowledge (0000010C)|0000010C]]'''||'''[[CraftAcknowledge (0000010C)|CraftAcknowledge]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (0000010D)|0000010D]]'''||'''[[GenericResponse (0000010D)|GenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftSelectSchematic (0000010E)|0000010E]]'''||'''[[CraftSelectSchematic (0000010E)|CraftSelectSchematic]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftRequestSession (0000010F)|0000010F]]'''||'''[[CraftRequestSession (0000010F)|CraftRequestSession]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000110)|00000110]]'''||'''[[Generic (00000110)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000111)|00000111]]'''||'''[[Generic (00000111)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperimentationResponse (00000113)|00000113]]'''||'''[[CraftExperimentationResponse (00000113)|CraftExperimentationResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000114)|00000114]]'''||'''[[NetworkId (00000114)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SecureTrade (00000115)|00000115]]'''||'''[[SecureTrade (00000115)|SecureTrade]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueEnqueue (00000116)|00000116]]'''||'''[[CommandQueueEnqueue (00000116)|CommandQueueEnqueue]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueRemove (00000117)|00000117]]'''||'''[[CommandQueueRemove (00000117)|CommandQueueRemove]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (0000011C)|0000011C]]'''||'''[[NetworkId (0000011C)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TargetObject (00000126)|00000126]]'''||'''[[TargetObject (00000126)|TargetObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000127)|00000127]]'''||'''[[NetworkId (00000127)|NetworkId]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdAndTransform (0000012D)|0000012D]]'''||'''[[NetworkIdAndTransform (0000012D)|NetworkIdAndTransform]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerEmote (0000012E)|0000012E]]'''||'''[[PlayerEmote (0000012E)|PlayerEmote]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Posture (00000131)|00000131]]'''||'''[[Posture (00000131)|Posture]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatSpam (00000134)|00000134]]'''||'''[[CombatSpam (00000134)|CombatSpam]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (00000139)|00000139]]'''||'''[[String (00000139)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (0000013A)|0000013A]]'''||'''[[String (0000013A)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SitOnObject (0000013B)|0000013B]]'''||'''[[SitOnObject (0000013B)|SitOnObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TeleportAck (0000013F)|0000013F]]'''||'''[[TeleportAck (0000013F)|TeleportAck]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[WeaponRanges (00000140)|00000140]]'''||'''[[WeaponRanges (00000140)|WeaponRanges]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000142)|00000142]]'''||'''[[NetworkId (00000142)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuRequest (00000146)|00000146]]'''||'''[[ObjectMenuRequest (00000146)|ObjectMenuRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuResponse (00000147)|00000147]]'''||'''[[ObjectMenuResponse (00000147)|ObjectMenuResponse]]'''||{{100P}}&lt;br /&gt;
|-|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000149)|00000149]]'''||'''[[SetupSwgSharedNetworkMessages (00000149)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014A)|0000014A]]'''||'''[[SetupSwgSharedNetworkMessages (0000014A)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014B)|0000014B]]'''||'''[[SetupSwgSharedNetworkMessages (0000014B)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014C)|0000014C]]'''||'''[[SetupSwgSharedNetworkMessages (0000014C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014D)|0000014D]]'''||'''[[SetupSwgSharedNetworkMessages (0000014D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014E)|0000014E]]'''||'''[[SetupSwgSharedNetworkMessages (0000014E)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014F)|0000014F]]'''||'''[[SetupSwgSharedNetworkMessages (0000014F)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000150)|00000150]]'''||'''[[SetupSwgSharedNetworkMessages (00000150)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000151)|00000151]]'''||'''[[SetupSwgSharedNetworkMessages (00000151)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000152)|00000152]]'''||'''[[SetupSwgSharedNetworkMessages (00000152)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000153)|00000153]]'''||'''[[NetworkId (00000153)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000154)|00000154]]'''||'''[[SetupSwgSharedNetworkMessages (00000154)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000155)|00000155]]'''||'''[[SetupSwgSharedNetworkMessages (00000155)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000156)|00000156]]'''||'''[[SetupSwgSharedNetworkMessages (00000156)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000157)|00000157]]'''||'''[[SetupSwgSharedNetworkMessages (00000157)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000158)|00000158]]'''||'''[[SetupSwgSharedNetworkMessages (00000158)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000159)|00000159]]'''||'''[[SetupSwgSharedNetworkMessages (00000159)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftCustomization (0000015A)|0000015A]]'''||'''[[CraftCustomization (0000015A)|CraftCustomization]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChatInternal (00000161)|00000161]]'''||'''[[SpatialChatInternal (00000161)|SpatialChatInternal]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000165)|00000165]]'''||'''[[SetupSwgSharedNetworkMessages (00000165)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EntertainerFlourishType (00000166)|00000166]]'''||'''[[EntertainerFlourishType (00000166)|EntertainerFlourishType]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000167)|00000167]]'''||'''[[SetupSwgSharedNetworkMessages (00000167)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShowFlyText (000001BD)|000001BD]]'''||'''[[ShowFlyText (000001BD)|ShowFlyText]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[nextCraftingStageResult (000001BE)|000001BE]]'''||'''[[nextCraftingStageResult (000001BE)|nextCraftingStageResult]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlotsQueryResponse (000001BF)|000001BF]]'''||'''[[DraftSlotsQueryResponse (000001BF)|DraftSlotsQueryResponse]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftingSessionEnded (000001C2)|000001C2]]'''||'''[[CraftingSessionEnded (000001C2)|CraftingSessionEnded]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BiographyUpdate (000001DB)|000001DB]]'''||'''[[BiographyUpdate (000001DB)|BiographyUpdate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayersNearYou (000001E7)|000001E7]]'''||'''[[PlayersNearYou (000001E7)|PlayersNearYou]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartingLocationList (000001FC)|000001FC]]'''||'''[[StartingLocationList (000001FC)|StartingLocationList]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000001FD)|000001FD]]'''||'''[[SetupSwgSharedNetworkMessages (000001FD)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000200 - 000002FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000205)|00000205]]'''||'''[[SetupSwgSharedNetworkMessages (00000205)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceWeights (00000207)|00000207]]'''||'''[[ResourceWeights (00000207)|ResourceWeights]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021C)|0000021C]]'''||'''[[SetupSwgSharedNetworkMessages (0000021C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021D)|0000021D]]'''||'''[[SetupSwgSharedNetworkMessages (0000021D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Buffs (00000229)|00000229]]'''||'''[[Buffs (00000229)|Buffs]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022A)|0000022A]]'''||'''[[RemovePlayerBuffMessage (0000022A)|RemovePlayerBuffMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[objectMenuDirty (0000022B)|0000022B]]'''||'''[[objectMenuDirty (0000022B)|objectMenuDirty ]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022C)|0000022C]]'''||'''[[SetupSharedNetworkMessages (0000022C)|SetupSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignChangeMessage (00000238)|00000238]]'''||'''[[ImageDesignChangeMessage (00000238)|ImageDesignChangeMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignEndMessage (00000239)|00000239]]'''||'''[[ImageDesignEndMessage (00000239)|ImageDesignEndMessage ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignStartMessage (0000023A)|0000023A]]'''||'''[[ImageDesignStartMessage (0000023A)|ImageDesignStartMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000300 - 000003FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000300 - 000003FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003E8)|000003E8]]'''||'''[[SetupSwgSharedNetworkMessages (000003E8)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F5)|000003F5]]'''||'''[[SetupSharedNetworkMessages (000003F5)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F6)|000003F6]]'''||'''[[SetupSwgSharedNetworkMessages (000003F6)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F7)|000003F7]]'''||'''[[SetupSwgSharedNetworkMessages (000003F7)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F8)|000003F8]]'''||'''[[SetupSharedNetworkMessages (000003F8)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F9)|000003F9]]'''||'''[[SetupSharedNetworkMessages (000003F9)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FA)|000003FA]]'''||'''[[SetupSwgSharedNetworkMessages (000003FA)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateShipOnCollision (000003FD)|000003FD]]'''||'''[[UpdateShipOnCollision (000003FD)|UpdateShipOnCollision]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FE)|000003FE]]'''||'''[[SetupSwgSharedNetworkMessages (000003FE)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FF)|000003FF]]'''||'''[[SetupSwgSharedNetworkMessages (000003FF)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000400 - 000004FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000400 - 000004FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000400)|00000400]]'''||'''[[SetupSwgSharedNetworkMessages (00000400)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (00000401)|00000401]]'''||'''[[SetupSharedNetworkMessages (00000401)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000412)|00000412]]'''||'''[[SetupSwgSharedNetworkMessages (00000412)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000413)|00000413]]'''||'''[[SetupSwgSharedNetworkMessages (00000413)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000041C)|0000041C]]'''||'''[[SetupSwgSharedNetworkMessages (0000041C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[JTLShipLocationList (0000041D)|0000041D]]'''||'''[[JTLShipLocationList (0000041D)|JTLShipLocationList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042D)|0000042D]]'''||'''[[SetupSwgSharedNetworkMessages (0000042D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042E)|0000042E]]'''||'''[[SetupSwgSharedNetworkMessages (0000042E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042F)|0000042F]]'''||'''[[SetupSwgSharedNetworkMessages (0000042F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipHit (00000433)|00000433]]'''||'''[[ShipHit (00000433)|ShipHit]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DroidCommandProgrammingMessage (00000435)|00000435]]'''||'''[[DroidCommandProgrammingMessage (00000435)|DroidCommandProgrammingMessage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000436)|00000436]]'''||'''[[SetupSwgSharedNetworkMessages (00000436)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[inviteOtherGroupMembersToLaunchIntoSpace (00000437)|00000437]]'''||'''[[inviteOtherGroupMembersToLaunchIntoSpace (00000437)|inviteOtherGroupMembersToLaunchIntoSpace]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000438)|00000438]]'''||'''[[SetupSwgSharedNetworkMessages (00000438)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000439)|00000439]]'''||'''[[SetupSwgSharedNetworkMessages (00000439)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043C)|0000043C]]'''||'''[[SetupSwgSharedNetworkMessages (0000043C)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043D)|0000043D]]'''||'''[[SetupSwgSharedNetworkMessages (0000043D)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043E)|0000043E]]'''||'''[[SetupSwgSharedNetworkMessages (0000043E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043F)|0000043F]]'''||'''[[SetupSwgSharedNetworkMessages (0000043F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskCounterMessage (00000440)|00000440]]'''||'''[[QuestTaskCounterMessage (00000440)|QuestTaskCounterMessage]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskTimerMessage (00000441)|00000441]]'''||'''[[QuestTaskTimerMessage (00000441)|QuestTaskTimerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandTimer (00000448)|00000448]]'''||'''[[CommandTimer (00000448)|CommandTimer]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[showLootBox(000004BC)|000004BC]]'''||'''[[showLootBox (000004BC)|showLootBox]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BB)|000004BB]]'''||'''[[Unknown (000004BB)|Unknown]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BF)|000004BF]]'''||'''[[Unknown (000004BF)|Jump]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004C5)|000004C5]]'''||'''[[Unknown (000004C5)|clientIntendedTarget]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=257054</id>
		<title>ObjControllerMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=257054"/>
				<updated>2013-09-21T13:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Variable Descriptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client/Server Packet|ObjControllerMessage (80CE5E46)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''priority routing'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|{{unknown}}&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Header'''&lt;br /&gt;
|-&lt;br /&gt;
|{{long}}||'''ObjectID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''TickCount'''&lt;br /&gt;
|-&lt;br /&gt;
|{{uncertain}}||'''Data'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Operand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''80CE5E46'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Flags''':&lt;br /&gt;
A bitmask comprised of the flags in the following table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||'''Flag'''||'''Mask'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|NONE||0x00000000&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SEND||0x00000001&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|RELIABLE||0x00000002&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SOURCE_REMOTE_SERVER||0x00000004&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_AUTH_CLIENT||0x00000008&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_PROXY_CLIENT||0x00000010&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_AUTH_SERVER||0x00000020&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|DEST_PROXY_SERVER||0x00000040&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|SOURCE_REMOTE_CLIENT||0x00000100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''HEADER''':&lt;br /&gt;
This is the header for the type of object controller being used. See the list below.&lt;br /&gt;
&lt;br /&gt;
* '''ObjectID''':&lt;br /&gt;
This is the Object ID of the Object we are manipulating.&lt;br /&gt;
&lt;br /&gt;
* '''TickCount''':&lt;br /&gt;
This variable appears to be a client tickcount also used in the ping's used on the PingPort (Defult:44462). If set to 0, the packet is not time critical, if set with a count, it should be compared to be within tolerance. (Anti-Hack mechanism most likely.).&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{50%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Offset			Type Inheritance&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
015EC5C4	-	Controller&lt;br /&gt;
015EC900	-	NetworkController -&amp;gt; Controller&lt;br /&gt;
015E1AC8	-	ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E04BC	-	CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E035C	-	PlayerCreatureController -&amp;gt; CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFEAC	-	ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFF5C	-	PlayerShipController -&amp;gt; ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFDD8	-	PlayerShipTurretController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
&lt;br /&gt;
Offset			Object&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
006E5210	=	ClientController&lt;br /&gt;
00618850	=	ShipController&lt;br /&gt;
0061C740	=	PlayerShipController&lt;br /&gt;
0062AA10	=	PlayerCreatureController&lt;br /&gt;
006392E0	=	CreatureController&lt;br /&gt;
00B4B000	=	NetworkController&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Controllers===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000000 - 000000FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransform (00000071)|00000071]]'''||'''[[DataTransform (00000071)|DataTransform]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatAction (000000CC)|000000CC]]'''||'''[[CombatAction (000000CC)|CombatAction]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatDamage (000000CD)|000000CD]]'''||'''[[CombatDamage (000000CD)|CombatDamage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartNpcConversation (000000DD)|000000DD]]'''||'''[[StartNpcConversation (000000DD)|StartNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopNpcConversation (000000DE)|000000DE]]'''||'''[[StopNpcConversation (000000DE)|StopNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NpcConversationMessage (000000DF)|000000DF]]'''||'''[[NpcConversationMessage (000000DF)|NpcConversationMessage ]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NPCConversationOptions (000000E0)|000000E0]]'''||'''[[NPCConversationOptions (000000E0)|NPCConversationOptions]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000000E1)|000000E1]]'''||'''[[SetupSwgSharedNetworkMessages (000000E1)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpponentInfo (000000E3)|000000E3]]'''||'''[[OpponentInfo (000000E3)|OpponentInfo]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E5)|000000E5]]'''||'''[[NetworkId (000000E5)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E6)|000000E6]]'''||'''[[NetworkId (000000E6)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E7)|000000E7]]'''||'''[[NetworkId (000000E7)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E8)|000000E8]]'''||'''[[NetworkId (000000E8)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E9)|000000E9]]'''||'''[[NetworkId (000000E9)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HarvesterResourceData (000000EA)|000000EA]]'''||'''[[HarvesterResourceData (000000EA)|HarvesterResourceData]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EB)|000000EB]]'''||'''[[NetworkIdPair (000000EB)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EC)|000000EC]]'''||'''[[NetworkIdPair (000000EC)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceEmptyHopper (000000ED)|000000ED]]'''||'''[[ResourceEmptyHopper (000000ED)|ResourceEmptyHopper]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (000000EE)|000000EE]]'''||'''[[GenericResponse (000000EE)|GenericResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransformWithParent (000000F1)|000000F1]]'''||'''[[DataTransformWithParent (000000F1)|DataTransformWithParent]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Animation (000000F2)|000000F2]]'''||'''[[Animation (000000F2)|Animation (000000F2)]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F3)|000000F3]]'''||'''[[SpatialChat (000000F3)|SpatialChat]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F4)|000000F4]]'''||'''[[SpatialChat (000000F4)|SpatialChat]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListRequest (000000F5)|000000F5]]'''||'''[[MissionListRequest (000000F5)|MissionListRequest]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListResponse (000000F6)|000000F6]]'''||'''[[MissionListResponse (000000F6)|MissionListResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsRequest (000000F7)|000000F7]]'''||'''[[MissionDetailsRequest (000000F7)|MissionDetailsRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsResponse (000000F8)|000000F8]]'''||'''[[MissionDetailsResponse (000000F8)|MissionDetailsResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000F9)|000000F9]]'''||'''[[MissionGenericRequest (000000F9)|MissionGenericRequest]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000FB)|000000FB]]'''||'''[[MissionGenericRequest (000000FB)|MissionGenericRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FA)|000000FA]]'''||'''[[MissionGenericResponse (000000FA)|MissionGenericResponse]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FC)|000000FC]]'''||'''[[MissionGenericResponse (000000FC)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionCreateRequest (000000FF)|000000FF]]'''||'''[[MissionCreateRequest (000000FF)|MissionCreateRequest]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
==00000100 - 000001FF==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (00000100)|00000100]]'''||'''[[MissionGenericResponse (00000100)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSchematics (00000102)|00000102]]'''||'''[[DraftSchematics (00000102)|DraftSchematics]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlots (00000103)|00000103]]'''||'''[[DraftSlots (00000103)|DraftSlots]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftIngredients (00000105)|00000105]]'''||'''[[CraftIngredients (00000105)|CraftIngredients]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperiment (00000106)|00000106]]'''||'''[[CraftExperiment (00000106)|CraftExperiment]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftFillSlot (00000107)|00000107]]'''||'''[[CraftFillSlot (00000107)|CraftFillSlot]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftEmptySlot (00000108)|00000108]]'''||'''[[CraftEmptySlot (00000108)|CraftEmptySlot]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[nextCraftingStage (00000109)|00000109]]'''||'''[[nextCraftingStage(00000109)|nextCraftingStage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010A)|0000010A]]'''||'''[[Generic (0000010A)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010B)|0000010B]]'''||'''[[Generic (0000010B)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftAcknowledge (0000010C)|0000010C]]'''||'''[[CraftAcknowledge (0000010C)|CraftAcknowledge]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (0000010D)|0000010D]]'''||'''[[GenericResponse (0000010D)|GenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftSelectSchematic (0000010E)|0000010E]]'''||'''[[CraftSelectSchematic (0000010E)|CraftSelectSchematic]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftRequestSession (0000010F)|0000010F]]'''||'''[[CraftRequestSession (0000010F)|CraftRequestSession]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000110)|00000110]]'''||'''[[Generic (00000110)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000111)|00000111]]'''||'''[[Generic (00000111)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperimentationResponse (00000113)|00000113]]'''||'''[[CraftExperimentationResponse (00000113)|CraftExperimentationResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000114)|00000114]]'''||'''[[NetworkId (00000114)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SecureTrade (00000115)|00000115]]'''||'''[[SecureTrade (00000115)|SecureTrade]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueEnqueue (00000116)|00000116]]'''||'''[[CommandQueueEnqueue (00000116)|CommandQueueEnqueue]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueRemove (00000117)|00000117]]'''||'''[[CommandQueueRemove (00000117)|CommandQueueRemove]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (0000011C)|0000011C]]'''||'''[[NetworkId (0000011C)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TargetObject (00000126)|00000126]]'''||'''[[TargetObject (00000126)|TargetObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000127)|00000127]]'''||'''[[NetworkId (00000127)|NetworkId]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdAndTransform (0000012D)|0000012D]]'''||'''[[NetworkIdAndTransform (0000012D)|NetworkIdAndTransform]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerEmote (0000012E)|0000012E]]'''||'''[[PlayerEmote (0000012E)|PlayerEmote]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Posture (00000131)|00000131]]'''||'''[[Posture (00000131)|Posture]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatSpam (00000134)|00000134]]'''||'''[[CombatSpam (00000134)|CombatSpam]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (00000139)|00000139]]'''||'''[[String (00000139)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (0000013A)|0000013A]]'''||'''[[String (0000013A)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SitOnObject (0000013B)|0000013B]]'''||'''[[SitOnObject (0000013B)|SitOnObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TeleportAck (0000013F)|0000013F]]'''||'''[[TeleportAck (0000013F)|TeleportAck]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[WeaponRanges (00000140)|00000140]]'''||'''[[WeaponRanges (00000140)|WeaponRanges]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000142)|00000142]]'''||'''[[NetworkId (00000142)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuRequest (00000146)|00000146]]'''||'''[[ObjectMenuRequest (00000146)|ObjectMenuRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuResponse (00000147)|00000147]]'''||'''[[ObjectMenuResponse (00000147)|ObjectMenuResponse]]'''||{{100P}}&lt;br /&gt;
|-|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000149)|00000149]]'''||'''[[SetupSwgSharedNetworkMessages (00000149)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014A)|0000014A]]'''||'''[[SetupSwgSharedNetworkMessages (0000014A)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014B)|0000014B]]'''||'''[[SetupSwgSharedNetworkMessages (0000014B)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014C)|0000014C]]'''||'''[[SetupSwgSharedNetworkMessages (0000014C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014D)|0000014D]]'''||'''[[SetupSwgSharedNetworkMessages (0000014D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014E)|0000014E]]'''||'''[[SetupSwgSharedNetworkMessages (0000014E)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014F)|0000014F]]'''||'''[[SetupSwgSharedNetworkMessages (0000014F)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000150)|00000150]]'''||'''[[SetupSwgSharedNetworkMessages (00000150)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000151)|00000151]]'''||'''[[SetupSwgSharedNetworkMessages (00000151)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000152)|00000152]]'''||'''[[SetupSwgSharedNetworkMessages (00000152)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000153)|00000153]]'''||'''[[NetworkId (00000153)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000154)|00000154]]'''||'''[[SetupSwgSharedNetworkMessages (00000154)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000155)|00000155]]'''||'''[[SetupSwgSharedNetworkMessages (00000155)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000156)|00000156]]'''||'''[[SetupSwgSharedNetworkMessages (00000156)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000157)|00000157]]'''||'''[[SetupSwgSharedNetworkMessages (00000157)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000158)|00000158]]'''||'''[[SetupSwgSharedNetworkMessages (00000158)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000159)|00000159]]'''||'''[[SetupSwgSharedNetworkMessages (00000159)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftCustomization (0000015A)|0000015A]]'''||'''[[CraftCustomization (0000015A)|CraftCustomization]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChatInternal (00000161)|00000161]]'''||'''[[SpatialChatInternal (00000161)|SpatialChatInternal]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000165)|00000165]]'''||'''[[SetupSwgSharedNetworkMessages (00000165)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EntertainerFlourishType (00000166)|00000166]]'''||'''[[EntertainerFlourishType (00000166)|EntertainerFlourishType]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000167)|00000167]]'''||'''[[SetupSwgSharedNetworkMessages (00000167)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShowFlyText (000001BD)|000001BD]]'''||'''[[ShowFlyText (000001BD)|ShowFlyText]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[nextCraftingStageResult (000001BE)|000001BE]]'''||'''[[nextCraftingStageResult (000001BE)|nextCraftingStageResult]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlotsQueryResponse (000001BF)|000001BF]]'''||'''[[DraftSlotsQueryResponse (000001BF)|DraftSlotsQueryResponse]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftingSessionEnded (000001C2)|000001C2]]'''||'''[[CraftingSessionEnded (000001C2)|CraftingSessionEnded]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BiographyUpdate (000001DB)|000001DB]]'''||'''[[BiographyUpdate (000001DB)|BiographyUpdate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayersNearYou (000001E7)|000001E7]]'''||'''[[PlayersNearYou (000001E7)|PlayersNearYou]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartingLocationList (000001FC)|000001FC]]'''||'''[[StartingLocationList (000001FC)|StartingLocationList]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000001FD)|000001FD]]'''||'''[[SetupSwgSharedNetworkMessages (000001FD)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000200 - 000002FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000205)|00000205]]'''||'''[[SetupSwgSharedNetworkMessages (00000205)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceWeights (00000207)|00000207]]'''||'''[[ResourceWeights (00000207)|ResourceWeights]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021C)|0000021C]]'''||'''[[SetupSwgSharedNetworkMessages (0000021C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021D)|0000021D]]'''||'''[[SetupSwgSharedNetworkMessages (0000021D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Buffs (00000229)|00000229]]'''||'''[[Buffs (00000229)|Buffs]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022A)|0000022A]]'''||'''[[RemovePlayerBuffMessage (0000022A)|RemovePlayerBuffMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[objectMenuDirty (0000022B)|0000022B]]'''||'''[[objectMenuDirty (0000022B)|objectMenuDirty ]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022C)|0000022C]]'''||'''[[SetupSharedNetworkMessages (0000022C)|SetupSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignChangeMessage (00000238)|00000238]]'''||'''[[ImageDesignChangeMessage (00000238)|ImageDesignChangeMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignEndMessage (00000239)|00000239]]'''||'''[[ImageDesignEndMessage (00000239)|ImageDesignEndMessage ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignStartMessage (0000023A)|0000023A]]'''||'''[[ImageDesignStartMessage (0000023A)|ImageDesignStartMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000300 - 000003FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000300 - 000003FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003E8)|000003E8]]'''||'''[[SetupSwgSharedNetworkMessages (000003E8)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F5)|000003F5]]'''||'''[[SetupSharedNetworkMessages (000003F5)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F6)|000003F6]]'''||'''[[SetupSwgSharedNetworkMessages (000003F6)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F7)|000003F7]]'''||'''[[SetupSwgSharedNetworkMessages (000003F7)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F8)|000003F8]]'''||'''[[SetupSharedNetworkMessages (000003F8)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F9)|000003F9]]'''||'''[[SetupSharedNetworkMessages (000003F9)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FA)|000003FA]]'''||'''[[SetupSwgSharedNetworkMessages (000003FA)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateShipOnCollision (000003FD)|000003FD]]'''||'''[[UpdateShipOnCollision (000003FD)|UpdateShipOnCollision]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FE)|000003FE]]'''||'''[[SetupSwgSharedNetworkMessages (000003FE)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FF)|000003FF]]'''||'''[[SetupSwgSharedNetworkMessages (000003FF)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000400 - 000004FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000400 - 000004FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000400)|00000400]]'''||'''[[SetupSwgSharedNetworkMessages (00000400)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (00000401)|00000401]]'''||'''[[SetupSharedNetworkMessages (00000401)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000412)|00000412]]'''||'''[[SetupSwgSharedNetworkMessages (00000412)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000413)|00000413]]'''||'''[[SetupSwgSharedNetworkMessages (00000413)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000041C)|0000041C]]'''||'''[[SetupSwgSharedNetworkMessages (0000041C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[JTLShipLocationList (0000041D)|0000041D]]'''||'''[[JTLShipLocationList (0000041D)|JTLShipLocationList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042D)|0000042D]]'''||'''[[SetupSwgSharedNetworkMessages (0000042D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042E)|0000042E]]'''||'''[[SetupSwgSharedNetworkMessages (0000042E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042F)|0000042F]]'''||'''[[SetupSwgSharedNetworkMessages (0000042F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipHit (00000433)|00000433]]'''||'''[[ShipHit (00000433)|ShipHit]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DroidCommandProgrammingMessage (00000435)|00000435]]'''||'''[[DroidCommandProgrammingMessage (00000435)|DroidCommandProgrammingMessage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000436)|00000436]]'''||'''[[SetupSwgSharedNetworkMessages (00000436)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[inviteOtherGroupMembersToLaunchIntoSpace (00000437)|00000437]]'''||'''[[inviteOtherGroupMembersToLaunchIntoSpace (00000437)|inviteOtherGroupMembersToLaunchIntoSpace]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000438)|00000438]]'''||'''[[SetupSwgSharedNetworkMessages (00000438)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000439)|00000439]]'''||'''[[SetupSwgSharedNetworkMessages (00000439)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043C)|0000043C]]'''||'''[[SetupSwgSharedNetworkMessages (0000043C)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043D)|0000043D]]'''||'''[[SetupSwgSharedNetworkMessages (0000043D)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043E)|0000043E]]'''||'''[[SetupSwgSharedNetworkMessages (0000043E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043F)|0000043F]]'''||'''[[SetupSwgSharedNetworkMessages (0000043F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskCounterMessage (00000440)|00000440]]'''||'''[[QuestTaskCounterMessage (00000440)|QuestTaskCounterMessage]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskTimerMessage (00000441)|00000441]]'''||'''[[QuestTaskTimerMessage (00000441)|QuestTaskTimerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandTimer (00000448)|00000448]]'''||'''[[CommandTimer (00000448)|CommandTimer]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[showLootBox(000004BC)|000004BC]]'''||'''[[showLootBox (000004BC)|showLootBox]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BB)|000004BB]]'''||'''[[Unknown (000004BB)|Unknown]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BF)|000004BF]]'''||'''[[Unknown (000004BF)|Jump]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004C5)|000004C5]]'''||'''[[Unknown (000004C5)|clientIntendedTarget]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=256896</id>
		<title>ObjControllerMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ObjControllerMessage&amp;diff=256896"/>
				<updated>2013-09-08T00:14:42Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: Undo revision 256895 by Cable (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client/Server Packet|ObjControllerMessage (80CE5E46)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''priority routing'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|{{unknown}}&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Header'''&lt;br /&gt;
|-&lt;br /&gt;
|{{long}}||'''ObjectID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''TickCount'''&lt;br /&gt;
|-&lt;br /&gt;
|{{uncertain}}||'''Data'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Operand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''80CE5E46'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Unknown''':&lt;br /&gt;
This variable appears to be some part of a header but is not directly used. Usually 0B/1B, but 71 and 23 have also been seen.&lt;br /&gt;
&lt;br /&gt;
* '''HEADER''':&lt;br /&gt;
This is the header for the type of object controller being used. See the list below.&lt;br /&gt;
&lt;br /&gt;
* '''ObjectID''':&lt;br /&gt;
This is the Object ID of the Object we are manipulating.&lt;br /&gt;
&lt;br /&gt;
* '''TickCount''':&lt;br /&gt;
This variable appears to be a client tickcount also used in the ping's used on the PingPort (Defult:44462). If set to 0, the packet is not time critical, if set with a count, it should be compared to be within tolerance. (Anti-Hack mechanism most likely.).&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{50%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Offset			Type Inheritance&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
015EC5C4	-	Controller&lt;br /&gt;
015EC900	-	NetworkController -&amp;gt; Controller&lt;br /&gt;
015E1AC8	-	ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E04BC	-	CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015E035C	-	PlayerCreatureController -&amp;gt; CreatureController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFEAC	-	ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFF5C	-	PlayerShipController -&amp;gt; ShipController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
015DFDD8	-	PlayerShipTurretController -&amp;gt; ClientController -&amp;gt; NetworkController -&amp;gt; Controller&lt;br /&gt;
&lt;br /&gt;
Offset			Object&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
006E5210	=	ClientController&lt;br /&gt;
00618850	=	ShipController&lt;br /&gt;
0061C740	=	PlayerShipController&lt;br /&gt;
0062AA10	=	PlayerCreatureController&lt;br /&gt;
006392E0	=	CreatureController&lt;br /&gt;
00B4B000	=	NetworkController&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Controllers===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000000 - 000000FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransform (00000071)|00000071]]'''||'''[[DataTransform (00000071)|DataTransform]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatAction (000000CC)|000000CC]]'''||'''[[CombatAction (000000CC)|CombatAction]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatDamage (000000CD)|000000CD]]'''||'''[[CombatDamage (000000CD)|CombatDamage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartNpcConversation (000000DD)|000000DD]]'''||'''[[StartNpcConversation (000000DD)|StartNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopNpcConversation (000000DE)|000000DE]]'''||'''[[StopNpcConversation (000000DE)|StopNpcConversation ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NpcConversationMessage (000000DF)|000000DF]]'''||'''[[NpcConversationMessage (000000DF)|NpcConversationMessage ]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NPCConversationOptions (000000E0)|000000E0]]'''||'''[[NPCConversationOptions (000000E0)|NPCConversationOptions]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000000E1)|000000E1]]'''||'''[[SetupSwgSharedNetworkMessages (000000E1)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpponentInfo (000000E3)|000000E3]]'''||'''[[OpponentInfo (000000E3)|OpponentInfo]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E5)|000000E5]]'''||'''[[NetworkId (000000E5)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E6)|000000E6]]'''||'''[[NetworkId (000000E6)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E7)|000000E7]]'''||'''[[NetworkId (000000E7)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E8)|000000E8]]'''||'''[[NetworkId (000000E8)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (000000E9)|000000E9]]'''||'''[[NetworkId (000000E9)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HarvesterResourceData (000000EA)|000000EA]]'''||'''[[HarvesterResourceData (000000EA)|HarvesterResourceData]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EB)|000000EB]]'''||'''[[NetworkIdPair (000000EB)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdPair (000000EC)|000000EC]]'''||'''[[NetworkIdPair (000000EC)|NetworkIdPair]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceEmptyHopper (000000ED)|000000ED]]'''||'''[[ResourceEmptyHopper (000000ED)|ResourceEmptyHopper]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (000000EE)|000000EE]]'''||'''[[GenericResponse (000000EE)|GenericResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DataTransformWithParent (000000F1)|000000F1]]'''||'''[[DataTransformWithParent (000000F1)|DataTransformWithParent]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Animation (000000F2)|000000F2]]'''||'''[[Animation (000000F2)|Animation (000000F2)]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F3)|000000F3]]'''||'''[[SpatialChat (000000F3)|SpatialChat]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChat (000000F4)|000000F4]]'''||'''[[SpatialChat (000000F4)|SpatialChat]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListRequest (000000F5)|000000F5]]'''||'''[[MissionListRequest (000000F5)|MissionListRequest]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionListResponse (000000F6)|000000F6]]'''||'''[[MissionListResponse (000000F6)|MissionListResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsRequest (000000F7)|000000F7]]'''||'''[[MissionDetailsRequest (000000F7)|MissionDetailsRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionDetailsResponse (000000F8)|000000F8]]'''||'''[[MissionDetailsResponse (000000F8)|MissionDetailsResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000F9)|000000F9]]'''||'''[[MissionGenericRequest (000000F9)|MissionGenericRequest]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericRequest (000000FB)|000000FB]]'''||'''[[MissionGenericRequest (000000FB)|MissionGenericRequest]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FA)|000000FA]]'''||'''[[MissionGenericResponse (000000FA)|MissionGenericResponse]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (000000FC)|000000FC]]'''||'''[[MissionGenericResponse (000000FC)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionCreateRequest (000000FF)|000000FF]]'''||'''[[MissionCreateRequest (000000FF)|MissionCreateRequest]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
==00000100 - 000001FF==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[MissionGenericResponse (00000100)|00000100]]'''||'''[[MissionGenericResponse (00000100)|MissionGenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSchematics (00000102)|00000102]]'''||'''[[DraftSchematics (00000102)|DraftSchematics]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlots (00000103)|00000103]]'''||'''[[DraftSlots (00000103)|DraftSlots]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftIngredients (00000105)|00000105]]'''||'''[[CraftIngredients (00000105)|CraftIngredients]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperiment (00000106)|00000106]]'''||'''[[CraftExperiment (00000106)|CraftExperiment]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftFillSlot (00000107)|00000107]]'''||'''[[CraftFillSlot (00000107)|CraftFillSlot]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftEmptySlot (00000108)|00000108]]'''||'''[[CraftEmptySlot (00000108)|CraftEmptySlot]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000109)|00000109]]'''||'''[[Generic (00000109)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010A)|0000010A]]'''||'''[[Generic (0000010A)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (0000010B)|0000010B]]'''||'''[[Generic (0000010B)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftAcknowledge (0000010C)|0000010C]]'''||'''[[CraftAcknowledge (0000010C)|CraftAcknowledge]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericResponse (0000010D)|0000010D]]'''||'''[[GenericResponse (0000010D)|GenericResponse]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftSelectSchematic (0000010E)|0000010E]]'''||'''[[CraftSelectSchematic (0000010E)|CraftSelectSchematic]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftRequestSession (0000010F)|0000010F]]'''||'''[[CraftRequestSession (0000010F)|CraftRequestSession]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000110)|00000110]]'''||'''[[Generic (00000110)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Generic (00000111)|00000111]]'''||'''[[Generic (00000111)|Generic]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftExperimentationResponse (00000113)|00000113]]'''||'''[[CraftExperimentationResponse (00000113)|CraftExperimentationResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000114)|00000114]]'''||'''[[NetworkId (00000114)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SecureTrade (00000115)|00000115]]'''||'''[[SecureTrade (00000115)|SecureTrade]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueEnqueue (00000116)|00000116]]'''||'''[[CommandQueueEnqueue (00000116)|CommandQueueEnqueue]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommandQueueRemove (00000117)|00000117]]'''||'''[[CommandQueueRemove (00000117)|CommandQueueRemove]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (0000011C)|0000011C]]'''||'''[[NetworkId (0000011C)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TargetObject (00000126)|00000126]]'''||'''[[TargetObject (00000126)|TargetObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000127)|00000127]]'''||'''[[NetworkId (00000127)|NetworkId]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkIdAndTransform (0000012D)|0000012D]]'''||'''[[NetworkIdAndTransform (0000012D)|NetworkIdAndTransform]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerEmote (0000012E)|0000012E]]'''||'''[[PlayerEmote (0000012E)|PlayerEmote]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Posture (00000131)|00000131]]'''||'''[[Posture (00000131)|Posture]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CombatSpam (00000134)|00000134]]'''||'''[[CombatSpam (00000134)|CombatSpam]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (00000139)|00000139]]'''||'''[[String (00000139)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[String (0000013A)|0000013A]]'''||'''[[String (0000013A)|String]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SitOnObject (0000013B)|0000013B]]'''||'''[[SitOnObject (0000013B)|SitOnObject]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TeleportAck (0000013F)|0000013F]]'''||'''[[TeleportAck (0000013F)|TeleportAck]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[WeaponRanges (00000140)|00000140]]'''||'''[[WeaponRanges (00000140)|WeaponRanges]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000142)|00000142]]'''||'''[[NetworkId (00000142)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuRequest (00000146)|00000146]]'''||'''[[ObjectMenuRequest (00000146)|ObjectMenuRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuResponse (00000147)|00000147]]'''||'''[[ObjectMenuResponse (00000147)|ObjectMenuResponse]]'''||{{100P}}&lt;br /&gt;
|-|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000149)|00000149]]'''||'''[[SetupSwgSharedNetworkMessages (00000149)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014A)|0000014A]]'''||'''[[SetupSwgSharedNetworkMessages (0000014A)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014B)|0000014B]]'''||'''[[SetupSwgSharedNetworkMessages (0000014B)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014C)|0000014C]]'''||'''[[SetupSwgSharedNetworkMessages (0000014C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014D)|0000014D]]'''||'''[[SetupSwgSharedNetworkMessages (0000014D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014E)|0000014E]]'''||'''[[SetupSwgSharedNetworkMessages (0000014E)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000014F)|0000014F]]'''||'''[[SetupSwgSharedNetworkMessages (0000014F)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000150)|00000150]]'''||'''[[SetupSwgSharedNetworkMessages (00000150)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000151)|00000151]]'''||'''[[SetupSwgSharedNetworkMessages (00000151)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000152)|00000152]]'''||'''[[SetupSwgSharedNetworkMessages (00000152)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NetworkId (00000153)|00000153]]'''||'''[[NetworkId (00000153)|NetworkId]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000154)|00000154]]'''||'''[[SetupSwgSharedNetworkMessages (00000154)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000155)|00000155]]'''||'''[[SetupSwgSharedNetworkMessages (00000155)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000156)|00000156]]'''||'''[[SetupSwgSharedNetworkMessages (00000156)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000157)|00000157]]'''||'''[[SetupSwgSharedNetworkMessages (00000157)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000158)|00000158]]'''||'''[[SetupSwgSharedNetworkMessages (00000158)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000159)|00000159]]'''||'''[[SetupSwgSharedNetworkMessages (00000159)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CraftCustomization (0000015A)|0000015A]]'''||'''[[CraftCustomization (0000015A)|CraftCustomization]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SpatialChatInternal (00000161)|00000161]]'''||'''[[SpatialChatInternal (00000161)|SpatialChatInternal]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000165)|00000165]]'''||'''[[SetupSwgSharedNetworkMessages (00000165)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EntertainerFlourishType (00000166)|00000166]]'''||'''[[EntertainerFlourishType (00000166)|EntertainerFlourishType]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000167)|00000167]]'''||'''[[SetupSwgSharedNetworkMessages (00000167)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShowFlyText (000001BD)|000001BD]]'''||'''[[ShowFlyText (000001BD)|ShowFlyText]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GenericIntResponse (000001BE)|000001BE]]'''||'''[[GenericIntResponse (000001BE)|GenericIntResponse]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DraftSlotsQueryResponse (000001BF)|000001BF]]'''||'''[[DraftSlotsQueryResponse (000001BF)|DraftSlotsQueryResponse]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000001C2)|000001C2]]'''||'''[[SetupSwgSharedNetworkMessages (000001C2)|SetupSwgSharedNetworkMessages]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BiographyUpdate (000001DB)|000001DB]]'''||'''[[BiographyUpdate (000001DB)|BiographyUpdate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayersNearYou (000001E7)|000001E7]]'''||'''[[PlayersNearYou (000001E7)|PlayersNearYou]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StartingLocationList (000001FC)|000001FC]]'''||'''[[StartingLocationList (000001FC)|StartingLocationList]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000001FD)|000001FD]]'''||'''[[SetupSwgSharedNetworkMessages (000001FD)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000200 - 000002FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000205)|00000205]]'''||'''[[SetupSwgSharedNetworkMessages (00000205)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceWeights (00000207)|00000207]]'''||'''[[ResourceWeights (00000207)|ResourceWeights]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021C)|0000021C]]'''||'''[[SetupSwgSharedNetworkMessages (0000021C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000021D)|0000021D]]'''||'''[[SetupSwgSharedNetworkMessages (0000021D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Buffs (00000229)|00000229]]'''||'''[[Buffs (00000229)|Buffs]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022A)|0000022A]]'''||'''[[RemovePlayerBuffMessage (0000022A)|RemovePlayerBuffMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022B)|0000022B]]'''||'''[[SetupSharedNetworkMessages (0000022B)|SetupSharedNetworkMessages ]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (0000022C)|0000022C]]'''||'''[[SetupSharedNetworkMessages (0000022C)|SetupSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignChangeMessage (00000238)|00000238]]'''||'''[[ImageDesignChangeMessage (00000238)|ImageDesignChangeMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignEndMessage (00000239)|00000239]]'''||'''[[ImageDesignEndMessage (00000239)|ImageDesignEndMessage ]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ImageDesignStartMessage (0000023A)|0000023A]]'''||'''[[ImageDesignStartMessage (0000023A)|ImageDesignStartMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
== 00000300 - 000003FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000300 - 000003FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003E8)|000003E8]]'''||'''[[SetupSwgSharedNetworkMessages (000003E8)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F5)|000003F5]]'''||'''[[SetupSharedNetworkMessages (000003F5)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F6)|000003F6]]'''||'''[[SetupSwgSharedNetworkMessages (000003F6)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003F7)|000003F7]]'''||'''[[SetupSwgSharedNetworkMessages (000003F7)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F8)|000003F8]]'''||'''[[SetupSharedNetworkMessages (000003F8)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (000003F9)|000003F9]]'''||'''[[SetupSharedNetworkMessages (000003F9)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FA)|000003FA]]'''||'''[[SetupSwgSharedNetworkMessages (000003FA)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateShipOnCollision (000003FD)|000003FD]]'''||'''[[UpdateShipOnCollision (000003FD)|UpdateShipOnCollision]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FE)|000003FE]]'''||'''[[SetupSwgSharedNetworkMessages (000003FE)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (000003FF)|000003FF]]'''||'''[[SetupSwgSharedNetworkMessages (000003FF)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
== 00000400 - 000004FF ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+'''00000400 - 000004FF'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000400)|00000400]]'''||'''[[SetupSwgSharedNetworkMessages (00000400)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSharedNetworkMessages (00000401)|00000401]]'''||'''[[SetupSharedNetworkMessages (00000401)|SetupSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000412)|00000412]]'''||'''[[SetupSwgSharedNetworkMessages (00000412)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000413)|00000413]]'''||'''[[SetupSwgSharedNetworkMessages (00000413)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000041C)|0000041C]]'''||'''[[SetupSwgSharedNetworkMessages (0000041C)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[JTLShipLocationList (0000041D)|0000041D]]'''||'''[[JTLShipLocationList (0000041D)|JTLShipLocationList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042D)|0000042D]]'''||'''[[SetupSwgSharedNetworkMessages (0000042D)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042E)|0000042E]]'''||'''[[SetupSwgSharedNetworkMessages (0000042E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000042F)|0000042F]]'''||'''[[SetupSwgSharedNetworkMessages (0000042F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipHit (00000432)|00000432]]'''||'''[[ShipHit (00000432)|ShipHit]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DroidCommandProgrammingMessage (00000435)|00000435]]'''||'''[[DroidCommandProgrammingMessage (00000435)|DroidCommandProgrammingMessage]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000436)|00000436]]'''||'''[[SetupSwgSharedNetworkMessages (00000436)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000437)|00000437]]'''||'''[[SetupSwgSharedNetworkMessages (00000437)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000438)|00000438]]'''||'''[[SetupSwgSharedNetworkMessages (00000438)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (00000439)|00000439]]'''||'''[[SetupSwgSharedNetworkMessages (00000439)|SetupSwgSharedNetworkMessages]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043C)|0000043C]]'''||'''[[SetupSwgSharedNetworkMessages (0000043C)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043D)|0000043D]]'''||'''[[SetupSwgSharedNetworkMessages (0000043D)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043E)|0000043E]]'''||'''[[SetupSwgSharedNetworkMessages (0000043E)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SetupSwgSharedNetworkMessages (0000043F)|0000043F]]'''||'''[[SetupSwgSharedNetworkMessages (0000043F)|SetupSwgSharedNetworkMessages]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskCounterMessage (00000440)|00000440]]'''||'''[[QuestTaskCounterMessage (00000440)|QuestTaskCounterMessage]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[QuestTaskTimerMessage (00000441)|00000441]]'''||'''[[QuestTaskTimerMessage (00000441)|QuestTaskTimerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (00000448)|00000448]]'''||'''[[CommandTimer (00000448)|Unknown :Found in space packet]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BC)|000004BC]]'''||'''[[Unknown (000004BC)|Unknown]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BB)|000004BB]]'''||'''[[Unknown (000004BB)|Unknown]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004BF)|000004BF]]'''||'''[[Unknown (000004BF)|Unknown]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Unknown (000004C5)|000004C5]]'''||'''[[Unknown (000004C5)|Unknown]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=256888</id>
		<title>SWG Protocol Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=256888"/>
				<updated>2013-05-30T13:16:34Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:0; margin: 0.2em 10px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;line-height:120%; padding:0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#cf7606; font-size:200%;&amp;quot;&amp;gt;'''Welcome to'''&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#005288; font-size:200%;&amp;quot;&amp;gt;'''SWGANH Packet Documentation'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#ffffff; padding:0.2em 0.4em 0.2em 0.4em;&amp;quot;&amp;gt;&lt;br /&gt;
'''SWGANH Wiki''' is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| style=&amp;quot;zborder-top:1px solid #aaaaaa;&amp;quot; width=&amp;quot;100% border-collapse: collapse;&amp;quot; cellpadding=0 cellspacing=0&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 0.2em;&amp;quot; width=&amp;quot;25%&amp;quot; | '''[[Packet Tags]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Help|Help &amp;amp; Support]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Packet Template]]''' | &amp;amp;nbsp; '''[[Protocol By Game System]]'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddMapLocationMessage|AB2174B6]]'''||'''[[AddMapLocationMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersMessage|679E0D00]]'''||'''[[AuctionQueryHeadersMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionMessage|91125453]]'''||'''[[BidAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionMessage|3687A4D2]]'''||'''[[CancelLiveAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatAddFriend|6FE7BD90]]'''||'''[[ChatAddFriend]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatBanAvatarFromRoom|D9FA0194]]'''||'''[[ChatBanAvatarFromRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatDestroyRoom|772A4B09]]'''||'''[[ChatDestroyRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToCharacter|84bb21f7]]'''||'''[[ChatInstantMessageToCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInviteAvatarToRoom|D3EC7372]]'''||'''[[ChatInviteAvatarToRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToServer|25A29FA6]]'''||'''[[ChatPersistentMessageToServer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoom|92B1F29C]]'''||'''[[ChatQueryRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRemoveModeratorFromRoom|048E3F8A]]'''||'''[[ChatRemoveModeratorFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRequestRoomList|4C3D2CFA]]'''||'''[[ChatRequestRoomList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSendToRoom|E3DBE420]]'''||'''[[ChatSendToRoom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatUninviteFromRoom|F1018DFC]]'''||'''[[ChatUninviteFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacter|B97F3074]]'''||'''[[ClientCreateCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientIdMsg|D5899226]]'''||'''[[ClientIdMsg]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientInactivityMessage|0F5D5325]]'''||'''[[ClientInactivityMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameRequest|D6D1B6D1]]'''||'''[[ClientRandomNameRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListRequest|48F493C5]]'''||'''[[CommoditiesItemTypeListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerMessage|2E365218]]'''||'''[[ConnectPlayerMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionMessage|1D0247AD]]'''||'''[[CreateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateImmediateAuctionMessage|1E9CE308]]'''||'''[[CreateImmediateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterMessage|E87AD031]]'''||'''[[DeleteCharacterMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleMessage|5E7B4546]]'''||'''[[GetArticleMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetails|D36EFAE4]]'''||'''[[GetAuctionDetails]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsMessage|1A7AB839]]'''||'''[[GetMapLocationsMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorMessage|21B55A3B]]'''||'''[[IsVendorMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LagRequest|31805EE0]]'''||'''[[LagRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientId|41131F96]]'''||'''[[LoginClientId]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialEnableHudElement|CA375124]]'''||'''[[NewbieTutorialEnableHudElement]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialResponse|CA88FBAD]]'''||'''[[NewbieTutorialResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuSelectMessage::MESSAGE_TYPE|7CA18726]]'''||'''[[ObjectMenuSelectMessage::MESSAGE_TYPE]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListRequest|96405D4D]]'''||'''[[PlanetTravelPointListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestExtendedClusterInfo|8E33ED05]]'''||'''[[RequestExtendedClusterInfo]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestGalaxyLoopTimes|7D842D68]]'''||'''[[RequestGalaxyLoopTimes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemMessage|12B0D449]]'''||'''[[RetrieveAuctionItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseMessage|962E8B9B]]'''||'''[[SearchKnowledgeBaseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SelectCharacter|B5098D76]]'''||'''[[SelectCharacter]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Server===&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;300&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''Opcode'''||align=&amp;quot;center&amp;quot;|'''Name'''||align=&amp;quot;center&amp;quot;|'''Group'''||align=&amp;quot;center&amp;quot;|'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemFailedMessage|69D3E1D2]]'''||'''[[AddItemFailedMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AiDebugString|5EFE4F1C]]'''||'''[[AiDebugString]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AppendCommentResponseMessage|A04A3ECA]]'''||'''[[AppendCommentResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AttributeListMessage|F3F12F2A]]'''||'''[[AttributeListMessage]]'''||'''[[ObjectAttributeManager (PacketTypeGroup)|ObjectAttributeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersResponseMessage|FA500E52]]'''||'''[[AuctionQueryHeadersResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BadgesResponseMessage|6D89D25B]]'''||'''[[BadgesResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BaselinesMessage|68A75F0C]]'''||'''[[BaselinesMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginTradeMessage|325932D8]]'''||'''[[BeginTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginVerificationMessage|E7491DF5]]'''||'''[[BeginVerificationMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionResponseMessage|8FCBEF4A]]'''||'''[[BidAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionResponseMessage|7DA2246C]]'''||'''[[CancelLiveAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelTicketResponseMessage|D6FBF318]]'''||'''[[CancelTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CharacterSheetResponseMessage|9B3A17C4]]'''||'''[[CharacterSheetResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatFriendsListUpdate|6CD2FCD8]]'''||'''[[ChatFriendsListUpdate]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToClient|3C565CED]]'''||'''[[ChatInstantMessageToClient]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnAddModeratorToRoom|36A03858]]'''||'''[[ChatOnAddModeratorToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnBanAvatarFromRoom|5A38538D]]'''||'''[[ChatOnBanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnConnectAvatar|D72FE9BE]]'''||'''[[ChatOnConnectAvatar]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnCreateRoom|35D7CC9F]]'''||'''[[ChatOnCreateRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDeleteAllPersistentMessages|4F23965A]]'''||'''[[ChatOnDeleteAllPersistentMessages]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDestroyRoom|E8EC5877]]'''||'''[[ChatOnDestroyRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnEnteredRoom|E69BDC0A]]'''||'''[[ChatOnEnteredRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnInviteToRoom|493FE74A]]'''||'''[[ChatOnInviteToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnLeaveRoom|60B5098B]]'''||'''[[ChatOnLeaveRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnReceiveRoomInvitation|C17EB06D]]'''||'''[[ChatOnReceiveRoomInvitation]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}} &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnRemoveModeratorFromRoom|1342FC47]]'''||'''[[ChatOnRemoveModeratorFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendInstantMessage|88DBB381]]'''||'''[[ChatOnSendInstantMessage]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendPersistantMessage|94E7A7AE]]'''||'''[[ChatOnSendPersistantMessage]]'''||'''[[Main::EMail (PacketTypeGroup)|Main::EMail]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendRoomMessage|E7B61633]]'''||'''[[ChatOnSendRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUnbanAvatarFromRoom|BAF9B815]]'''||'''[[ChatOnUnbanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUninviteFromRoom|BE33C7E8]]'''||'''[[ChatOnUninviteFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToClient|08485E17]]'''||'''[[ChatPersistentMessageToClient]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoomResults|C4DE864E]]'''||'''[[ChatQueryRoomResults]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomList|70DEB197]]'''||'''[[ChatRoomList]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomMessage|CD4CE444]]'''||'''[[ChatRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatServerStatus|7102B15F]]'''||'''[[ChatServerStatus]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSystemMessage|6D2A6413]]'''||'''[[ChatSystemMessage]]'''||'''[[Main::Chat (PacketTypeGroup)|Main::Chat]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterFailed|DF333C6E]]'''||'''[[ClientCreateCharacterFailed]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterSuccess|1DB575CC]]'''||'''[[ClientCreateCharacterSuccess]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientMfdStatusUpdateMessage|2D2D6EE1]]'''||'''[[ClientMfdStatusUpdateMessage]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientOpenContainerMessage|2D2D6EE1]]'''||'''[[ClientOpenContainerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientPermissionsMessage|2D2D6EE1]]'''||'''[[ClientPermissionsMessage]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameResponse|E85FB868]]'''||'''[[ClientRandomNameResponse]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CloseHolocronMessage|C0938A9D]]'''||'''[[CloseHolocronMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClosedContainerMessage|32B79B7E]]'''||'''[[ClosedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdStartScene|3AE6DFAE]]'''||'''[[CmdStartScene]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListResponse|D4E937FC]]'''||'''[[CommoditiesItemTypeListResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConGenericMessage|08C5FC76]]'''||'''[[ConGenericMessage]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerResponseMessage|6137556F]]'''||'''[[ConnectPlayerResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionClosed|B1921AD9]]'''||'''[[ConnectionClosed]]'''||'''[[Main::ConnectionClosed (PacketTypeGroup)|Main::ConnectionClosed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionClosed|3B882F0E]]'''||'''[[ConnectionServerConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionOpened|3CA2F9A7]]'''||'''[[ConnectionServerConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConsentRequestMessage|99DCB094]]'''||'''[[ConsentRequestMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionResponseMessage|0E61CC92]]'''||'''[[CreateAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateClientPathMessage|71957628]]'''||'''[[CreateClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateMissileMessage|721CF08B]]'''||'''[[CreateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateNebulaLightningMessage|65F27987]]'''||'''[[CreateNebulaLightningMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateProjectileMessage|B88AF9A5]]'''||'''[[CreateProjectileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateTicketResponseMessage|550A407A]]'''||'''[[CreateTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING|32CD924B]]'''||'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING]]'''||'''[[SwgCuiControlsMenu (PacketTypeGroup)|SwgCuiControlsMenu]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN|AA867C55]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_UP|81573066]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_UP]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED|399EC0EA]]'''||'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenLoadingDisabled|E78FB0BF]]'''||'''[[CuiLoadingManager::FullscreenLoadingDisabled]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED|28956A79]]'''||'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DebugTransformMessage|D0CDAA62]]'''||'''[[DebugTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterReplyMessage|8268989B]]'''||'''[[DeleteCharacterReplyMessage]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeltasMessage|12862153]]'''||'''[[DeltasMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DenyTradeMessage|6EC28670]]'''||'''[[DenyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyClientPathMessage|A75E85EB]]'''||'''[[DestroyClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipComponentMessage|3871D784]]'''||'''[[DestroyShipComponentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipMessage|5C680884]]'''||'''[[DestroyShipMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DogfightTauntPlayerMessage|CA2A548B]]'''||'''[[DogfightTauntPlayerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditAppearanceMessage|023320D5]]'''||'''[[EditAppearanceMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditStatsMessage|305E8C28]]'''||'''[[EditStatsMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterStructurePlacementModeMessage|E8A54DC1]]'''||'''[[EnterStructurePlacementModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterTicketPurchaseModeMessage|904DAE1A]]'''||'''[[EnterTicketPurchaseModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnumerateCharacterId|65EA4574]]'''||'''[[EnumerateCharacterId]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ErrorMessage|B5ABF91A]]'''||'''[[ErrorMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ExecuteConsoleCommand|B1CFCE1C]]'''||'''[[ExecuteConsoleCommand]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[FactionResponseMessage|5DD53957]]'''||'''[[FactionResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GalaxyLoopTimesResponse|4E428088]]'''||'''[[GalaxyLoopTimesResponse]]'''||'''[[Main::GalaxyLoopTime (PacketTypeGroup)|Main::GalaxyLoopTime]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Game::SCENE_CHANGED|BBADAEB9]]'''||'''[[Game::SCENE_CHANGED]]'''||'''[[ClientRegionManager (PacketTypeGroup)|ClientRegionManager]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionClosed|B93E9488]]'''||'''[[GameConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionOpened|BE144221]]'''||'''[[GameConnectionOpened]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleResponseMessage|934BAEE0]]'''||'''[[GetArticleResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetailsResponse|FE0E644B]]'''||'''[[GetAuctionDetailsResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetCommentsResponseMessage|EADB08CA]]'''||'''[[GetCommentsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsResponseMessage|9F80464C]]'''||'''[[GetMapLocationsResponseMessage]]'''||'''[[PlanetMapManagerClient (PacketTypeGroup)|PlanetMapManagerClient]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetTicketsResponseMessage|BB567F98]]'''||'''[[GetTicketsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GiveMoneyMessage|D1527EE8]]'''||'''[[GiveMoneyMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GuildResponseMessage|32263F20]]'''||'''[[GuildResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HyperspaceMessage|CBF88482]]'''||'''[[HyperspaceMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsFlattenedTheaterMessage|4EB0B06A]]'''||'''[[IsFlattenedTheaterMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorOwnerResponseMessage|CE04173E]]'''||'''[[IsVendorOwnerResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LaunchBrowserMessage|8DE7E213]]'''||'''[[LaunchBrowserMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LinkDeadMessage|A16CF9AF]]'''||'''[[LinkDeadMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientToken|AAB296C6]]'''||'''[[LoginClientToken]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClusterStatus|3436AEB6]]'''||'''[[LoginClusterStatus]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionClosed|C38256F0]]'''||'''[[LoginConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionOpened|C4A88059]]'''||'''[[LoginConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginEnumCluster|C11C63B9]]'''||'''[[LoginEnumCluster]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LogoutMessage|42FD19DD]]'''||'''[[LogoutMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewTicketActivityResponseMessage|6EA42D80]]'''||'''[[NewTicketActivityResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialRequest|90DD61AF]]'''||'''[[NewbieTutorialRequest]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenHolocronToPageMessage|7CB65021]]'''||'''[[OpenHolocronToPageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenedContainerMessage|2E11E4AB]]'''||'''[[OpenedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ParametersMessage|487652DA]]'''||'''[[ParametersMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PermissionListCreateMessage|52F364B8]]'''||'''[[PermissionListCreateMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListResponse|4D32541F]]'''||'''[[PlanetTravelPointListResponse]]'''||'''[[TravelMap (PacketTypeGroup)|TravelMap]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectLocMessage|02949E74]]'''||'''[[PlayClientEffectLocMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectMessage|8855434A]]'''||'''[[PlayClientEffectObjectMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectTransformMessage|4F5E09B6]]'''||'''[[PlayClientEffectObjectTransformMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventLocMessage|0A4E222C]]'''||'''[[PlayClientEventLocMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventObjectMessage|AF83C3F2]]'''||'''[[PlayClientEventObjectMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayMusicMessage|04270D8A]]'''||'''[[PlayMusicMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerMoneyResponse|367E737E]]'''||'''[[PlayerMoneyResponse]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PopulateMissionBrowserMessage|88D9885C]]'''||'''[[PopulateMissionBrowserMessage]]'''||'''[[Main::Missions (PacketTypeGroup))|Main::Missions]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RemoveItemMessage|4417AF8B]]'''||'''[[RemoveItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestCategoriesResponseMessage|61148FD4]]'''||'''[[RequestCategoriesResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceHarvesterActivatePageMessage|BD18C679]]'''||'''[[ResourceHarvesterActivatePageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceListForSurveyMessage|8A64B1D5]]'''||'''[[ResourceListForSurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemResponseMessage|9499EF8C]]'''||'''[[RetrieveAuctionItemResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SaveTextOnClient|5F628053]]'''||'''[[SaveTextOnClient]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneCreateObjectByCrc|FE89DDEA]]'''||'''[[SceneCreateObjectByCrc]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneDestroyObject|4D45D504]]'''||'''[[SceneDestroyObject]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneEndBaselines|2C436037]]'''||'''[[SceneEndBaselines]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseResponseMessage|7CBC8F67]]'''||'''[[SearchKnowledgeBaseResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerTimeMessage|2EBC3BD9]]'''||'''[[ServerTimeMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerWeatherMessage|486356EA]]'''||'''[[ServerWeatherMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformCollisionMessage|763648D0]]'''||'''[[ShipUpdateTransformCollisionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformMessage|76026FB9]]'''||'''[[ShipUpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StatMigrationTargetsMessage|EFAC38C4]]'''||'''[[StatMigrationTargetsMessage]]'''||'''[[StatMigration (PacketTypeGroup)|StatMigration]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiCreatePageMessage|D44B7259]]'''||'''[[SuiCreatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiEventNotification|092D3564]]'''||'''[[SuiEventNotification]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiForceClosePage|990B5DE0]]'''||'''[[SuiForceClosePage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiUpdatePageMessage|5F3342F6]]'''||'''[[SuiUpdatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SurveyMessage|877F79AC]]'''||'''[[SurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TradeCompleteMessage|C542038B]]'''||'''[[TradeCompleteMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UnAcceptTransactionMessage|E81E4382]]'''||'''[[UnAcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateCellPermissionMessage|F612499C]]'''||'''[[UpdateCellPermissionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateContainmentMessage|56CBDE9E]]'''||'''[[UpdateContainmentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateMissileMessage|1228CD01]]'''||'''[[UpdateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePostureMessage|0BDE6B41]]'''||'''[[UpdatePostureMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePvpStatusMessage|08A1C126]]'''||'''[[UpdatePvpStatusMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformMessage|1B24F808]]'''||'''[[UpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformWithParentMessage|C867AB5A]]'''||'''[[UpdateTransformWithParentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyPlayerNameResponseMessage|F4C498FD]]'''||'''[[VerifyPlayerNameResponseMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main:Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyTradeMessage|9AE247EE]]'''||'''[[VerifyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}  &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopClientEffectObjectByLabelMessage|AD6F6B26]]'''||'''[[StopClientEffectObjectByLabelMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=OpCODE DIFF List ('''[[Publish12|Publish 12.1]] vs [[Publish14|Publish 14]]''')=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionFailed|B2BB7B9F]]'''||'''[[ConnectionServerConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionReset|E6E66693]]'''||'''[[ConnectionServerConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionReset|9DAF2FFE]]'''||'''[[GameConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionFailed|4AB10261]]'''||'''[[LoginConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionReset|D4C3DCBC]]'''||'''[[LoginConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenBackButtonEnabled|07640764]]'''||'''[[CuiLoadingManager::FullscreenBackButtonEnabled]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=256887</id>
		<title>SWG Protocol Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=256887"/>
				<updated>2013-05-30T12:54:33Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:0; margin: 0.2em 10px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;line-height:120%; padding:0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#cf7606; font-size:200%;&amp;quot;&amp;gt;'''Welcome to'''&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#005288; font-size:200%;&amp;quot;&amp;gt;'''SWGANH Packet Documentation'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#ffffff; padding:0.2em 0.4em 0.2em 0.4em;&amp;quot;&amp;gt;&lt;br /&gt;
'''SWGANH Wiki''' is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| style=&amp;quot;zborder-top:1px solid #aaaaaa;&amp;quot; width=&amp;quot;100% border-collapse: collapse;&amp;quot; cellpadding=0 cellspacing=0&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 0.2em;&amp;quot; width=&amp;quot;25%&amp;quot; | '''[[Packet Tags]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Help|Help &amp;amp; Support]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Packet Template]]''' | &amp;amp;nbsp; '''[[Protocol By Game System]]'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddMapLocationMessage|AB2174B6]]'''||'''[[AddMapLocationMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersMessage|679E0D00]]'''||'''[[AuctionQueryHeadersMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionMessage|91125453]]'''||'''[[BidAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionMessage|3687A4D2]]'''||'''[[CancelLiveAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatAddFriend|6FE7BD90]]'''||'''[[ChatAddFriend]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatBanAvatarFromRoom|D9FA0194]]'''||'''[[ChatBanAvatarFromRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatDestroyRoom|772A4B09]]'''||'''[[ChatDestroyRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToCharacter|84bb21f7]]'''||'''[[ChatInstantMessageToCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInviteAvatarToRoom|D3EC7372]]'''||'''[[ChatInviteAvatarToRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToServer|25A29FA6]]'''||'''[[ChatPersistentMessageToServer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoom|92B1F29C]]'''||'''[[ChatQueryRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRemoveModeratorFromRoom|048E3F8A]]'''||'''[[ChatRemoveModeratorFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRequestRoomList|4C3D2CFA]]'''||'''[[ChatRequestRoomList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSendToRoom|E3DBE420]]'''||'''[[ChatSendToRoom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatUninviteFromRoom|F1018DFC]]'''||'''[[ChatUninviteFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListRequest|48F493C5]]'''||'''[[CommoditiesItemTypeListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerMessage|2E365218]]'''||'''[[ConnectPlayerMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacter|B97F3074]]'''||'''[[ClientCreateCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientIdMsg|D5899226]]'''||'''[[ClientIdMsg]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientInactivityMessage|0F5D5325]]'''||'''[[ClientInactivityMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameRequest|D6D1B6D1]]'''||'''[[ClientRandomNameRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionMessage|1D0247AD]]'''||'''[[CreateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateImmediateAuctionMessage|1E9CE308]]'''||'''[[CreateImmediateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterMessage|E87AD031]]'''||'''[[DeleteCharacterMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleMessage|5E7B4546]]'''||'''[[GetArticleMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetails|D36EFAE4]]'''||'''[[GetAuctionDetails]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsMessage|1A7AB839]]'''||'''[[GetMapLocationsMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorMessage|21B55A3B]]'''||'''[[IsVendorMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LagRequest|31805EE0]]'''||'''[[LagRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientId|41131F96]]'''||'''[[LoginClientId]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialEnableHudElement|CA375124]]'''||'''[[NewbieTutorialEnableHudElement]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialResponse|CA88FBAD]]'''||'''[[NewbieTutorialResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuSelectMessage::MESSAGE_TYPE|7CA18726]]'''||'''[[ObjectMenuSelectMessage::MESSAGE_TYPE]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListRequest|96405D4D]]'''||'''[[PlanetTravelPointListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestExtendedClusterInfo|8E33ED05]]'''||'''[[RequestExtendedClusterInfo]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestGalaxyLoopTimes|7D842D68]]'''||'''[[RequestGalaxyLoopTimes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemMessage|12B0D449]]'''||'''[[RetrieveAuctionItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseMessage|962E8B9B]]'''||'''[[SearchKnowledgeBaseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SelectCharacter|B5098D76]]'''||'''[[SelectCharacter]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Server===&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;300&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''Opcode'''||align=&amp;quot;center&amp;quot;|'''Name'''||align=&amp;quot;center&amp;quot;|'''Group'''||align=&amp;quot;center&amp;quot;|'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemFailedMessage|69D3E1D2]]'''||'''[[AddItemFailedMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AiDebugString|5EFE4F1C]]'''||'''[[AiDebugString]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AppendCommentResponseMessage|A04A3ECA]]'''||'''[[AppendCommentResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AttributeListMessage|F3F12F2A]]'''||'''[[AttributeListMessage]]'''||'''[[ObjectAttributeManager (PacketTypeGroup)|ObjectAttributeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersResponseMessage|FA500E52]]'''||'''[[AuctionQueryHeadersResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BadgesResponseMessage|6D89D25B]]'''||'''[[BadgesResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BaselinesMessage|68A75F0C]]'''||'''[[BaselinesMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginTradeMessage|325932D8]]'''||'''[[BeginTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginVerificationMessage|E7491DF5]]'''||'''[[BeginVerificationMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionResponseMessage|8FCBEF4A]]'''||'''[[BidAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionResponseMessage|7DA2246C]]'''||'''[[CancelLiveAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelTicketResponseMessage|D6FBF318]]'''||'''[[CancelTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CharacterSheetResponseMessage|9B3A17C4]]'''||'''[[CharacterSheetResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatFriendsListUpdate|6CD2FCD8]]'''||'''[[ChatFriendsListUpdate]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToClient|3C565CED]]'''||'''[[ChatInstantMessageToClient]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnAddModeratorToRoom|36A03858]]'''||'''[[ChatOnAddModeratorToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnBanAvatarFromRoom|5A38538D]]'''||'''[[ChatOnBanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnConnectAvatar|D72FE9BE]]'''||'''[[ChatOnConnectAvatar]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnCreateRoom|35D7CC9F]]'''||'''[[ChatOnCreateRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDeleteAllPersistentMessages|4F23965A]]'''||'''[[ChatOnDeleteAllPersistentMessages]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDestroyRoom|E8EC5877]]'''||'''[[ChatOnDestroyRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnEnteredRoom|E69BDC0A]]'''||'''[[ChatOnEnteredRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnInviteToRoom|493FE74A]]'''||'''[[ChatOnInviteToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnLeaveRoom|60B5098B]]'''||'''[[ChatOnLeaveRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnReceiveRoomInvitation|C17EB06D]]'''||'''[[ChatOnReceiveRoomInvitation]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}} &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnRemoveModeratorFromRoom|1342FC47]]'''||'''[[ChatOnRemoveModeratorFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendInstantMessage|88DBB381]]'''||'''[[ChatOnSendInstantMessage]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendPersistantMessage|94E7A7AE]]'''||'''[[ChatOnSendPersistantMessage]]'''||'''[[Main::EMail (PacketTypeGroup)|Main::EMail]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendRoomMessage|E7B61633]]'''||'''[[ChatOnSendRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUnbanAvatarFromRoom|BAF9B815]]'''||'''[[ChatOnUnbanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUninviteFromRoom|BE33C7E8]]'''||'''[[ChatOnUninviteFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToClient|08485E17]]'''||'''[[ChatPersistentMessageToClient]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoomResults|C4DE864E]]'''||'''[[ChatQueryRoomResults]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomList|70DEB197]]'''||'''[[ChatRoomList]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomMessage|CD4CE444]]'''||'''[[ChatRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatServerStatus|7102B15F]]'''||'''[[ChatServerStatus]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSystemMessage|6D2A6413]]'''||'''[[ChatSystemMessage]]'''||'''[[Main::Chat (PacketTypeGroup)|Main::Chat]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterFailed|DF333C6E]]'''||'''[[ClientCreateCharacterFailed]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterSuccess|1DB575CC]]'''||'''[[ClientCreateCharacterSuccess]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientMfdStatusUpdateMessage|2D2D6EE1]]'''||'''[[ClientMfdStatusUpdateMessage]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientOpenContainerMessage|2D2D6EE1]]'''||'''[[ClientOpenContainerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientPermissionsMessage|2D2D6EE1]]'''||'''[[ClientPermissionsMessage]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameResponse|E85FB868]]'''||'''[[ClientRandomNameResponse]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CloseHolocronMessage|C0938A9D]]'''||'''[[CloseHolocronMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClosedContainerMessage|32B79B7E]]'''||'''[[ClosedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdStartScene|3AE6DFAE]]'''||'''[[CmdStartScene]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListResponse|D4E937FC]]'''||'''[[CommoditiesItemTypeListResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConGenericMessage|08C5FC76]]'''||'''[[ConGenericMessage]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerResponseMessage|6137556F]]'''||'''[[ConnectPlayerResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionClosed|B1921AD9]]'''||'''[[ConnectionClosed]]'''||'''[[Main::ConnectionClosed (PacketTypeGroup)|Main::ConnectionClosed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionClosed|3B882F0E]]'''||'''[[ConnectionServerConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionOpened|3CA2F9A7]]'''||'''[[ConnectionServerConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConsentRequestMessage|99DCB094]]'''||'''[[ConsentRequestMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionResponseMessage|0E61CC92]]'''||'''[[CreateAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateClientPathMessage|71957628]]'''||'''[[CreateClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateMissileMessage|721CF08B]]'''||'''[[CreateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateNebulaLightningMessage|65F27987]]'''||'''[[CreateNebulaLightningMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateProjectileMessage|B88AF9A5]]'''||'''[[CreateProjectileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateTicketResponseMessage|550A407A]]'''||'''[[CreateTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING|32CD924B]]'''||'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING]]'''||'''[[SwgCuiControlsMenu (PacketTypeGroup)|SwgCuiControlsMenu]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN|AA867C55]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_UP|81573066]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_UP]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED|399EC0EA]]'''||'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenLoadingDisabled|E78FB0BF]]'''||'''[[CuiLoadingManager::FullscreenLoadingDisabled]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED|28956A79]]'''||'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DebugTransformMessage|D0CDAA62]]'''||'''[[DebugTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterReplyMessage|8268989B]]'''||'''[[DeleteCharacterReplyMessage]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeltasMessage|12862153]]'''||'''[[DeltasMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DenyTradeMessage|6EC28670]]'''||'''[[DenyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyClientPathMessage|A75E85EB]]'''||'''[[DestroyClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipComponentMessage|3871D784]]'''||'''[[DestroyShipComponentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipMessage|5C680884]]'''||'''[[DestroyShipMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DogfightTauntPlayerMessage|CA2A548B]]'''||'''[[DogfightTauntPlayerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditAppearanceMessage|023320D5]]'''||'''[[EditAppearanceMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditStatsMessage|305E8C28]]'''||'''[[EditStatsMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterStructurePlacementModeMessage|E8A54DC1]]'''||'''[[EnterStructurePlacementModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterTicketPurchaseModeMessage|904DAE1A]]'''||'''[[EnterTicketPurchaseModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnumerateCharacterId|65EA4574]]'''||'''[[EnumerateCharacterId]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ErrorMessage|B5ABF91A]]'''||'''[[ErrorMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ExecuteConsoleCommand|B1CFCE1C]]'''||'''[[ExecuteConsoleCommand]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[FactionResponseMessage|5DD53957]]'''||'''[[FactionResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GalaxyLoopTimesResponse|4E428088]]'''||'''[[GalaxyLoopTimesResponse]]'''||'''[[Main::GalaxyLoopTime (PacketTypeGroup)|Main::GalaxyLoopTime]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Game::SCENE_CHANGED|BBADAEB9]]'''||'''[[Game::SCENE_CHANGED]]'''||'''[[ClientRegionManager (PacketTypeGroup)|ClientRegionManager]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionClosed|B93E9488]]'''||'''[[GameConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionOpened|BE144221]]'''||'''[[GameConnectionOpened]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleResponseMessage|934BAEE0]]'''||'''[[GetArticleResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetailsResponse|FE0E644B]]'''||'''[[GetAuctionDetailsResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetCommentsResponseMessage|EADB08CA]]'''||'''[[GetCommentsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsResponseMessage|9F80464C]]'''||'''[[GetMapLocationsResponseMessage]]'''||'''[[PlanetMapManagerClient (PacketTypeGroup)|PlanetMapManagerClient]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetTicketsResponseMessage|BB567F98]]'''||'''[[GetTicketsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GiveMoneyMessage|D1527EE8]]'''||'''[[GiveMoneyMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GuildResponseMessage|32263F20]]'''||'''[[GuildResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HyperspaceMessage|CBF88482]]'''||'''[[HyperspaceMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsFlattenedTheaterMessage|4EB0B06A]]'''||'''[[IsFlattenedTheaterMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorOwnerResponseMessage|CE04173E]]'''||'''[[IsVendorOwnerResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LaunchBrowserMessage|8DE7E213]]'''||'''[[LaunchBrowserMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LinkDeadMessage|A16CF9AF]]'''||'''[[LinkDeadMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientToken|AAB296C6]]'''||'''[[LoginClientToken]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClusterStatus|3436AEB6]]'''||'''[[LoginClusterStatus]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionClosed|C38256F0]]'''||'''[[LoginConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionOpened|C4A88059]]'''||'''[[LoginConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginEnumCluster|C11C63B9]]'''||'''[[LoginEnumCluster]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LogoutMessage|42FD19DD]]'''||'''[[LogoutMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewTicketActivityResponseMessage|6EA42D80]]'''||'''[[NewTicketActivityResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialRequest|90DD61AF]]'''||'''[[NewbieTutorialRequest]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenHolocronToPageMessage|7CB65021]]'''||'''[[OpenHolocronToPageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenedContainerMessage|2E11E4AB]]'''||'''[[OpenedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ParametersMessage|487652DA]]'''||'''[[ParametersMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PermissionListCreateMessage|52F364B8]]'''||'''[[PermissionListCreateMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListResponse|4D32541F]]'''||'''[[PlanetTravelPointListResponse]]'''||'''[[TravelMap (PacketTypeGroup)|TravelMap]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectLocMessage|02949E74]]'''||'''[[PlayClientEffectLocMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectMessage|8855434A]]'''||'''[[PlayClientEffectObjectMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectTransformMessage|4F5E09B6]]'''||'''[[PlayClientEffectObjectTransformMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventLocMessage|0A4E222C]]'''||'''[[PlayClientEventLocMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventObjectMessage|AF83C3F2]]'''||'''[[PlayClientEventObjectMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayMusicMessage|04270D8A]]'''||'''[[PlayMusicMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerMoneyResponse|367E737E]]'''||'''[[PlayerMoneyResponse]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PopulateMissionBrowserMessage|88D9885C]]'''||'''[[PopulateMissionBrowserMessage]]'''||'''[[Main::Missions (PacketTypeGroup))|Main::Missions]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RemoveItemMessage|4417AF8B]]'''||'''[[RemoveItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestCategoriesResponseMessage|61148FD4]]'''||'''[[RequestCategoriesResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceHarvesterActivatePageMessage|BD18C679]]'''||'''[[ResourceHarvesterActivatePageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceListForSurveyMessage|8A64B1D5]]'''||'''[[ResourceListForSurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemResponseMessage|9499EF8C]]'''||'''[[RetrieveAuctionItemResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SaveTextOnClient|5F628053]]'''||'''[[SaveTextOnClient]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneCreateObjectByCrc|FE89DDEA]]'''||'''[[SceneCreateObjectByCrc]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneDestroyObject|4D45D504]]'''||'''[[SceneDestroyObject]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneEndBaselines|2C436037]]'''||'''[[SceneEndBaselines]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseResponseMessage|7CBC8F67]]'''||'''[[SearchKnowledgeBaseResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerTimeMessage|2EBC3BD9]]'''||'''[[ServerTimeMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerWeatherMessage|486356EA]]'''||'''[[ServerWeatherMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformCollisionMessage|763648D0]]'''||'''[[ShipUpdateTransformCollisionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformMessage|76026FB9]]'''||'''[[ShipUpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StatMigrationTargetsMessage|EFAC38C4]]'''||'''[[StatMigrationTargetsMessage]]'''||'''[[StatMigration (PacketTypeGroup)|StatMigration]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiCreatePageMessage|D44B7259]]'''||'''[[SuiCreatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiEventNotification|092D3564]]'''||'''[[SuiEventNotification]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiForceClosePage|990B5DE0]]'''||'''[[SuiForceClosePage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiUpdatePageMessage|5F3342F6]]'''||'''[[SuiUpdatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SurveyMessage|877F79AC]]'''||'''[[SurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TradeCompleteMessage|C542038B]]'''||'''[[TradeCompleteMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UnAcceptTransactionMessage|E81E4382]]'''||'''[[UnAcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateCellPermissionMessage|F612499C]]'''||'''[[UpdateCellPermissionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateContainmentMessage|56CBDE9E]]'''||'''[[UpdateContainmentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateMissileMessage|1228CD01]]'''||'''[[UpdateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePostureMessage|0BDE6B41]]'''||'''[[UpdatePostureMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePvpStatusMessage|08A1C126]]'''||'''[[UpdatePvpStatusMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformMessage|1B24F808]]'''||'''[[UpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformWithParentMessage|C867AB5A]]'''||'''[[UpdateTransformWithParentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyPlayerNameResponseMessage|F4C498FD]]'''||'''[[VerifyPlayerNameResponseMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main:Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyTradeMessage|9AE247EE]]'''||'''[[VerifyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}  &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopClientEffectObjectByLabelMessage|AD6F6B26]]'''||'''[[StopClientEffectObjectByLabelMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=OpCODE DIFF List ('''[[Publish12|Publish 12.1]] vs [[Publish14|Publish 14]]''')=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionFailed|B2BB7B9F]]'''||'''[[ConnectionServerConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionReset|E6E66693]]'''||'''[[ConnectionServerConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionReset|9DAF2FFE]]'''||'''[[GameConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionFailed|4AB10261]]'''||'''[[LoginConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionReset|D4C3DCBC]]'''||'''[[LoginConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenBackButtonEnabled|07640764]]'''||'''[[CuiLoadingManager::FullscreenBackButtonEnabled]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ConnectionServerLagResponse&amp;diff=79358</id>
		<title>ConnectionServerLagResponse</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ConnectionServerLagResponse&amp;diff=79358"/>
				<updated>2012-03-30T14:08:01Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet|ConnectionServerLagResponse (1590F63C)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''1'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''1590F63C'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Description''':&lt;br /&gt;
This packet is used by the client to determine the lag time to the connection serverd.&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01 00       // Op Count&lt;br /&gt;
15 90 F6 3C // ConnectionServerLagResponse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ConnectionServerLagResponse&amp;diff=79357</id>
		<title>ConnectionServerLagResponse</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ConnectionServerLagResponse&amp;diff=79357"/>
				<updated>2012-03-30T14:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: New page: {{PageHeader|Client Packet|ConnectionServerLagResponse (1590F63C)}} {| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6 |- |valign=top| ===Struct=== ---- {| align=&amp;quot;center&amp;quot; |- || {| class=&amp;quot;wikitable&amp;quot; |...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet|ConnectionServerLagResponse (1590F63C)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''1'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''1590F63C'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Description''':&lt;br /&gt;
This packet is used by the client to determine the lag time to the connection serverd.&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;1590F63C&lt;br /&gt;
01 00       // Op Count&lt;br /&gt;
15 90 F6 3C // ConnectionServerLagResponse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=GameServerLagResponse&amp;diff=79356</id>
		<title>GameServerLagResponse</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=GameServerLagResponse&amp;diff=79356"/>
				<updated>2012-03-30T14:01:39Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet|GameServerLagResponse (789A4E0A)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''1'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''789A4E0A'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Description''':&lt;br /&gt;
This packet is used by the client to determine the lag time to the game serverd.&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01 00       // Op Count&lt;br /&gt;
78 9A 4E 0A // GameServerLagResponse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=GameServerLagResponse&amp;diff=79355</id>
		<title>GameServerLagResponse</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=GameServerLagResponse&amp;diff=79355"/>
				<updated>2012-03-30T14:01:11Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: New page: {{PageHeader|Client Packet|GameServerLagResponse (789A4E0A)}} {| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6 |- |valign=top| ===Struct=== ---- {| align=&amp;quot;center&amp;quot; |- || {| class=&amp;quot;wikitable&amp;quot; |- |{{s...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet|GameServerLagResponse (789A4E0A)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''1'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''789A4E0A'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Description''':&lt;br /&gt;
This packet is used by the client to determine the lag time to the game serverd.&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01 00       // Op Count&lt;br /&gt;
78 9A 4E 0A // GameServerLagResponse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ChatOnSendInstantMessage&amp;diff=79342</id>
		<title>ChatOnSendInstantMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ChatOnSendInstantMessage&amp;diff=79342"/>
				<updated>2012-02-27T00:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Server Packet|ChatOnSendInstantMessage (88DBB381)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{byte}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Error Code'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Count'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''03'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''88DBB381'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Error Code is 0 when there are no errors, 4 if the user does not exist or is unavailable&lt;br /&gt;
* Count starts @ 01 counter increments each time&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 00 81 B3 DB 88 00 00 00 00 01 00 00 00 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ChatOnSendInstantMessage&amp;diff=79341</id>
		<title>ChatOnSendInstantMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ChatOnSendInstantMessage&amp;diff=79341"/>
				<updated>2012-02-27T00:23:31Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Variable Descriptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Server Packet|ChatOnSendInstantMessage (88DBB381)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{byte}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''INT (0)'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Count'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''03'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''88DBB381'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Error Code is 0 when there are no errors, 4 if the user does not exist or is unavailable&lt;br /&gt;
* Count starts @ 01 counter increments each time&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ServerPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 00 81 B3 DB 88 00 00 00 00 01 00 00 00 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79339</id>
		<title>ChatInstantMessageToCharacter</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79339"/>
				<updated>2012-02-26T21:49:15Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet| ChatInstantMessageToCharacter (84BB21F7)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Game ID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Galaxy Name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Player name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{u_string}}||'''Message'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;??&amp;lt;/font&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Sequence'''&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''84BB21F7'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
The ChatInstantMessageToCharacter is sent by the sender of an instant message to the server. The server determines if the recipient is valid and then responds to the sender with [[ChatOnSendInstantMessage]] and the receiver with [[ChatInstantMessageToClient]].&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79338</id>
		<title>ChatInstantMessageToCharacter</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79338"/>
				<updated>2012-02-26T21:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet| ChatInstantMessageToCharacter (84BB21F7)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Game ID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Galaxy Name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Player name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{u_string}}||'''Message'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;??&amp;lt;/font&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Sequence'''&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''84BB21F7'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
The ChatInstantMessageToCharacter is sent by the sender of an instant message to the server. The server determines if the recipient is valid and then responds to the sender with ChatOnSendInstantMessage and the receiver with ChatInstantMessageToClient.&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79337</id>
		<title>ChatInstantMessageToCharacter</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=ChatInstantMessageToCharacter&amp;diff=79337"/>
				<updated>2012-02-26T21:46:56Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: New page: {{PageHeader|Client Packet| ChatInstantMessageToCharacter (84BB21F7)}} {| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6 |- |valign=top| ===Struct=== ---- {| align=&amp;quot;center&amp;quot; |- || {| class=&amp;quot;wikitable...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Client Packet| ChatInstantMessageToCharacter (84BB21F7)}}&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{short}}||'''Op Count'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Opcode'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Game ID'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Galaxy Name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{a_string}}||'''Player name'''&lt;br /&gt;
|-&lt;br /&gt;
|{{u_string}}||'''Message'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;??&amp;lt;/font&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}||'''Sequence'''&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opperand_Count	     = '''5'''&lt;br /&gt;
&lt;br /&gt;
Opcode		     = '''84BB21F7'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ClientPacket}}&lt;br /&gt;
|-&lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sample Packet==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=79336</id>
		<title>SWG Protocol Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWG_Protocol_Wiki&amp;diff=79336"/>
				<updated>2012-02-26T21:41:58Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:0; margin: 0.2em 10px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;line-height:120%; padding:0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#cf7606; font-size:200%;&amp;quot;&amp;gt;'''Welcome to'''&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#005288; font-size:200%;&amp;quot;&amp;gt;'''SWGANH Packet Documentation'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#ffffff; padding:0.2em 0.4em 0.2em 0.4em;&amp;quot;&amp;gt;&lt;br /&gt;
'''SWGANH Wiki''' is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| style=&amp;quot;zborder-top:1px solid #aaaaaa;&amp;quot; width=&amp;quot;100% border-collapse: collapse;&amp;quot; cellpadding=0 cellspacing=0&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding: 0.2em;&amp;quot; width=&amp;quot;25%&amp;quot; | '''[[Packet Tags]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Help|Help &amp;amp; Support]]''' &amp;amp;nbsp; | &amp;amp;nbsp; '''[[Packet Template]]''' | &amp;amp;nbsp; '''[[Protocol By Game System]]'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddMapLocationMessage|AB2174B6]]'''||'''[[AddMapLocationMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersMessage|679E0D00]]'''||'''[[AuctionQueryHeadersMessage]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionMessage|91125453]]'''||'''[[BidAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionMessage|3687A4D2]]'''||'''[[CancelLiveAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatAddFriend|6FE7BD90]]'''||'''[[ChatAddFriend]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatBanAvatarFromRoom|D9FA0194]]'''||'''[[ChatBanAvatarFromRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatDestroyRoom|772A4B09]]'''||'''[[ChatDestroyRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToCharacter|84bb21f7]]'''||'''[[ChatInstantMessageToCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInviteAvatarToRoom|D3EC7372]]'''||'''[[ChatInviteAvatarToRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToServer|25A29FA6]]'''||'''[[ChatPersistentMessageToServer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoom|92B1F29C]]'''||'''[[ChatQueryRoom]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRemoveModeratorFromRoom|048E3F8A]]'''||'''[[ChatRemoveModeratorFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRequestRoomList|4C3D2CFA]]'''||'''[[ChatRequestRoomList]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSendToRoom|E3DBE420]]'''||'''[[ChatSendToRoom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatUninviteFromRoom|F1018DFC]]'''||'''[[ChatUninviteFromRoom]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListRequest|48F493C5]]'''||'''[[CommoditiesItemTypeListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerMessage|2E365218]]'''||'''[[ConnectPlayerMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacter|B97F3074]]'''||'''[[ClientCreateCharacter]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientIdMsg|D5899226]]'''||'''[[ClientIdMsg]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientInactivityMessage|0F5D5325]]'''||'''[[ClientInactivityMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameRequest|D6D1B6D1]]'''||'''[[ClientRandomNameRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionMessage|1D0247AD]]'''||'''[[CreateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateImmediateAuctionMessage|1E9CE308]]'''||'''[[CreateImmediateAuctionMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterMessage|E87AD031]]'''||'''[[DeleteCharacterMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleMessage|5E7B4546]]'''||'''[[GetArticleMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetails|D36EFAE4]]'''||'''[[GetAuctionDetails]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsMessage|1A7AB839]]'''||'''[[GetMapLocationsMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorMessage|21B55A3B]]'''||'''[[IsVendorMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LagRequest|31805EE0]]'''||'''[[LagRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientId|41131F96]]'''||'''[[LoginClientId]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialEnableHudElement|CA375124]]'''||'''[[NewbieTutorialEnableHudElement]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialResponse|CA88FBAD]]'''||'''[[NewbieTutorialResponse]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjectMenuSelectMessage::MESSAGE_TYPE|7CA18726]]'''||'''[[ObjectMenuSelectMessage::MESSAGE_TYPE]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListRequest|96405D4D]]'''||'''[[PlanetTravelPointListRequest]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestGalaxyLoopTimes|7D842D68]]'''||'''[[RequestGalaxyLoopTimes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemMessage|12B0D449]]'''||'''[[RetrieveAuctionItemMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseMessage|962E8B9B]]'''||'''[[SearchKnowledgeBaseMessage]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SelectCharacter|B5098D76]]'''||'''[[SelectCharacter]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Server===&lt;br /&gt;
----&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;300&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''Opcode'''||align=&amp;quot;center&amp;quot;|'''Name'''||align=&amp;quot;center&amp;quot;|'''Group'''||align=&amp;quot;center&amp;quot;|'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AbortTradeMessage|9CA80F98]]'''||'''[[AbortTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptAuctionResponseMessage|C58A446E]]'''||'''[[AcceptAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AcceptTransactionMessage|B131CA17]]'''||'''[[AcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemFailedMessage|69D3E1D2]]'''||'''[[AddItemFailedMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AddItemMessage|1E8D1356]]'''||'''[[AddItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AiDebugString|5EFE4F1C]]'''||'''[[AiDebugString]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AppendCommentResponseMessage|A04A3ECA]]'''||'''[[AppendCommentResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AttributeListMessage|F3F12F2A]]'''||'''[[AttributeListMessage]]'''||'''[[ObjectAttributeManager (PacketTypeGroup)|ObjectAttributeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[AuctionQueryHeadersResponseMessage|FA500E52]]'''||'''[[AuctionQueryHeadersResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BadgesResponseMessage|6D89D25B]]'''||'''[[BadgesResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BaselinesMessage|68A75F0C]]'''||'''[[BaselinesMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginTradeMessage|325932D8]]'''||'''[[BeginTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BeginVerificationMessage|E7491DF5]]'''||'''[[BeginVerificationMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[BidAuctionResponseMessage|8FCBEF4A]]'''||'''[[BidAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelLiveAuctionResponseMessage|7DA2246C]]'''||'''[[CancelLiveAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CancelTicketResponseMessage|D6FBF318]]'''||'''[[CancelTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CharacterSheetResponseMessage|9B3A17C4]]'''||'''[[CharacterSheetResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatFriendsListUpdate|6CD2FCD8]]'''||'''[[ChatFriendsListUpdate]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatInstantMessageToClient|3C565CED]]'''||'''[[ChatInstantMessageToClient]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnAddModeratorToRoom|36A03858]]'''||'''[[ChatOnAddModeratorToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnBanAvatarFromRoom|5A38538D]]'''||'''[[ChatOnBanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnConnectAvatar|D72FE9BE]]'''||'''[[ChatOnConnectAvatar]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnCreateRoom|35D7CC9F]]'''||'''[[ChatOnCreateRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDeleteAllPersistentMessages|4F23965A]]'''||'''[[ChatOnDeleteAllPersistentMessages]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnDestroyRoom|E8EC5877]]'''||'''[[ChatOnDestroyRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnEnteredRoom|E69BDC0A]]'''||'''[[ChatOnEnteredRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnInviteToRoom|493FE74A]]'''||'''[[ChatOnInviteToRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnLeaveRoom|60B5098B]]'''||'''[[ChatOnLeaveRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnReceiveRoomInvitation|C17EB06D]]'''||'''[[ChatOnReceiveRoomInvitation]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}} &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnRemoveModeratorFromRoom|1342FC47]]'''||'''[[ChatOnRemoveModeratorFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendInstantMessage|88DBB381]]'''||'''[[ChatOnSendInstantMessage]]'''||'''[[Main::Tells (PacketTypeGroup)|Main::Tells]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendPersistantMessage|94E7A7AE]]'''||'''[[ChatOnSendPersistantMessage]]'''||'''[[Main::EMail (PacketTypeGroup)|Main::EMail]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnSendRoomMessage|E7B61633]]'''||'''[[ChatOnSendRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUnbanAvatarFromRoom|BAF9B815]]'''||'''[[ChatOnUnbanAvatarFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatOnUninviteFromRoom|BE33C7E8]]'''||'''[[ChatOnUninviteFromRoom]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatPersistentMessageToClient|08485E17]]'''||'''[[ChatPersistentMessageToClient]]'''||'''[[Main::Email (PacketTypeGroup)|Main::Email]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatQueryRoomResults|C4DE864E]]'''||'''[[ChatQueryRoomResults]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomList|70DEB197]]'''||'''[[ChatRoomList]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatRoomMessage|CD4CE444]]'''||'''[[ChatRoomMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatServerStatus|7102B15F]]'''||'''[[ChatServerStatus]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main::Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ChatSystemMessage|6D2A6413]]'''||'''[[ChatSystemMessage]]'''||'''[[Main::Chat (PacketTypeGroup)|Main::Chat]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterFailed|DF333C6E]]'''||'''[[ClientCreateCharacterFailed]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientCreateCharacterSuccess|1DB575CC]]'''||'''[[ClientCreateCharacterSuccess]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientMfdStatusUpdateMessage|2D2D6EE1]]'''||'''[[ClientMfdStatusUpdateMessage]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientOpenContainerMessage|2D2D6EE1]]'''||'''[[ClientOpenContainerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientPermissionsMessage|2D2D6EE1]]'''||'''[[ClientPermissionsMessage]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClientRandomNameResponse|E85FB868]]'''||'''[[ClientRandomNameResponse]]'''||'''[[Main::CharCreate (PacketTypeGroup)|Main::CharCreate]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CloseHolocronMessage|C0938A9D]]'''||'''[[CloseHolocronMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ClosedContainerMessage|32B79B7E]]'''||'''[[ClosedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdSceneReady|43FD1C22]]'''||'''[[CmdSceneReady]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CmdStartScene|3AE6DFAE]]'''||'''[[CmdStartScene]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CommoditiesItemTypeListResponse|D4E937FC]]'''||'''[[CommoditiesItemTypeListResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConGenericMessage|08C5FC76]]'''||'''[[ConGenericMessage]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectPlayerResponseMessage|6137556F]]'''||'''[[ConnectPlayerResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionClosed|B1921AD9]]'''||'''[[ConnectionClosed]]'''||'''[[Main::ConnectionClosed (PacketTypeGroup)|Main::ConnectionClosed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionClosed|3B882F0E]]'''||'''[[ConnectionServerConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionOpened|3CA2F9A7]]'''||'''[[ConnectionServerConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConsentRequestMessage|99DCB094]]'''||'''[[ConsentRequestMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateAuctionResponseMessage|0E61CC92]]'''||'''[[CreateAuctionResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateClientPathMessage|71957628]]'''||'''[[CreateClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateMissileMessage|721CF08B]]'''||'''[[CreateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateNebulaLightningMessage|65F27987]]'''||'''[[CreateNebulaLightningMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateProjectileMessage|B88AF9A5]]'''||'''[[CreateProjectileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CreateTicketResponseMessage|550A407A]]'''||'''[[CreateTicketResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING|32CD924B]]'''||'''[[CuiControlsMenuBindEntry::Messages::UPDATE_BINDING]]'''||'''[[SwgCuiControlsMenu (PacketTypeGroup)|SwgCuiControlsMenu]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN|AA867C55]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_DOWN]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::CONTROL_KEY_UP|81573066]]'''||'''[[CuiIoWin::Messages::CONTROL_KEY_UP]]'''||'''[[Cui::ControlKey (PacketTypeGroup)|Cui::ControlKey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED|399EC0EA]]'''||'''[[CuiIoWin::Messages::POINTER_INPUT_TOGGLED]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenLoadingDisabled|E78FB0BF]]'''||'''[[CuiLoadingManager::FullscreenLoadingDisabled]]'''||'''[[SwgClient (PacketTypeGroup)|SwgClient]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED|28956A79]]'''||'''[[CuiSpatialChatManager::Messages::CHAT_RECEIVED]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DebugTransformMessage|D0CDAA62]]'''||'''[[DebugTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeleteCharacterReplyMessage|8268989B]]'''||'''[[DeleteCharacterReplyMessage]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DeltasMessage|12862153]]'''||'''[[DeltasMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DenyTradeMessage|6EC28670]]'''||'''[[DenyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyClientPathMessage|A75E85EB]]'''||'''[[DestroyClientPathMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipComponentMessage|3871D784]]'''||'''[[DestroyShipComponentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DestroyShipMessage|5C680884]]'''||'''[[DestroyShipMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[DogfightTauntPlayerMessage|CA2A548B]]'''||'''[[DogfightTauntPlayerMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditAppearanceMessage|023320D5]]'''||'''[[EditAppearanceMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EditStatsMessage|305E8C28]]'''||'''[[EditStatsMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterStructurePlacementModeMessage|E8A54DC1]]'''||'''[[EnterStructurePlacementModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnterTicketPurchaseModeMessage|904DAE1A]]'''||'''[[EnterTicketPurchaseModeMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[EnumerateCharacterId|65EA4574]]'''||'''[[EnumerateCharacterId]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ErrorMessage|B5ABF91A]]'''||'''[[ErrorMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ExecuteConsoleCommand|B1CFCE1C]]'''||'''[[ExecuteConsoleCommand]]'''||'''[[SwgCuiChatWindow (PacketTypeGroup)|SwgCuiChatWindow]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[FactionResponseMessage|5DD53957]]'''||'''[[FactionResponseMessage]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GalaxyLoopTimesResponse|4E428088]]'''||'''[[GalaxyLoopTimesResponse]]'''||'''[[Main::GalaxyLoopTime (PacketTypeGroup)|Main::GalaxyLoopTime]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[Game::SCENE_CHANGED|BBADAEB9]]'''||'''[[Game::SCENE_CHANGED]]'''||'''[[ClientRegionManager (PacketTypeGroup)|ClientRegionManager]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionClosed|B93E9488]]'''||'''[[GameConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionOpened|BE144221]]'''||'''[[GameConnectionOpened]]'''||'''[[Main::PostLogin (PacketTypeGroup)|Main::PostLogin]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetArticleResponseMessage|934BAEE0]]'''||'''[[GetArticleResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetAuctionDetailsResponse|FE0E644B]]'''||'''[[GetAuctionDetailsResponse]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetCommentsResponseMessage|EADB08CA]]'''||'''[[GetCommentsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetMapLocationsResponseMessage|9F80464C]]'''||'''[[GetMapLocationsResponseMessage]]'''||'''[[PlanetMapManagerClient (PacketTypeGroup)|PlanetMapManagerClient]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GetTicketsResponseMessage|BB567F98]]'''||'''[[GetTicketsResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GiveMoneyMessage|D1527EE8]]'''||'''[[GiveMoneyMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GuildResponseMessage|32263F20]]'''||'''[[GuildResponseMessage]]'''||'''[[ExaminePlayer (PacketTypeGroup)|ExaminePlayer]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[HyperspaceMessage|CBF88482]]'''||'''[[HyperspaceMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsFlattenedTheaterMessage|4EB0B06A]]'''||'''[[IsFlattenedTheaterMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[IsVendorOwnerResponseMessage|CE04173E]]'''||'''[[IsVendorOwnerResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LaunchBrowserMessage|8DE7E213]]'''||'''[[LaunchBrowserMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LinkDeadMessage|A16CF9AF]]'''||'''[[LinkDeadMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClientToken|AAB296C6]]'''||'''[[LoginClientToken]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginClusterStatus|3436AEB6]]'''||'''[[LoginClusterStatus]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionClosed|C38256F0]]'''||'''[[LoginConnectionClosed]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionOpened|C4A88059]]'''||'''[[LoginConnectionOpened]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginEnumCluster|C11C63B9]]'''||'''[[LoginEnumCluster]]'''||'''[[Main::Login (PacketTypeGroup)|Main::Login]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LogoutMessage|42FD19DD]]'''||'''[[LogoutMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewTicketActivityResponseMessage|6EA42D80]]'''||'''[[NewTicketActivityResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[NewbieTutorialRequest|90DD61AF]]'''||'''[[NewbieTutorialRequest]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ObjControllerMessage|80CE5E46]]'''||'''[[ObjControllerMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{50P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenHolocronToPageMessage|7CB65021]]'''||'''[[OpenHolocronToPageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[OpenedContainerMessage|2E11E4AB]]'''||'''[[OpenedContainerMessage]]'''||'''[[Main::Container (PacketTypeGroup)|Main::Container]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ParametersMessage|487652DA]]'''||'''[[ParametersMessage]]'''||'''[[GameNetwork (PacketTypeGroup)|GameNetwork]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PermissionListCreateMessage|52F364B8]]'''||'''[[PermissionListCreateMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlanetTravelPointListResponse|4D32541F]]'''||'''[[PlanetTravelPointListResponse]]'''||'''[[TravelMap (PacketTypeGroup)|TravelMap]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectLocMessage|02949E74]]'''||'''[[PlayClientEffectLocMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectMessage|8855434A]]'''||'''[[PlayClientEffectObjectMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEffectObjectTransformMessage|4F5E09B6]]'''||'''[[PlayClientEffectObjectTransformMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventLocMessage|0A4E222C]]'''||'''[[PlayClientEventLocMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayClientEventObjectMessage|AF83C3F2]]'''||'''[[PlayClientEventObjectMessage]]'''||'''[[ClientEventManager (PacketTypeGroup)|ClientEventManager]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayMusicMessage|04270D8A]]'''||'''[[PlayMusicMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PlayerMoneyResponse|367E737E]]'''||'''[[PlayerMoneyResponse]]'''||'''[[Main::CharacterSheet (PacketTypeGroup)|CharacterSheet]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[PopulateMissionBrowserMessage|88D9885C]]'''||'''[[PopulateMissionBrowserMessage]]'''||'''[[Main::Missions (PacketTypeGroup))|Main::Missions]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RemoveItemMessage|4417AF8B]]'''||'''[[RemoveItemMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RequestCategoriesResponseMessage|61148FD4]]'''||'''[[RequestCategoriesResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{25P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceHarvesterActivatePageMessage|BD18C679]]'''||'''[[ResourceHarvesterActivatePageMessage]]'''||'''[[MiscOpcodes (PacketTypeGroup)|MiscOpcodes]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ResourceListForSurveyMessage|8A64B1D5]]'''||'''[[ResourceListForSurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[RetrieveAuctionItemResponseMessage|9499EF8C]]'''||'''[[RetrieveAuctionItemResponseMessage]]'''||'''[[AuctionManagerClientListener (PacketTypeGroup)|AuctionManagerClientListener]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SaveTextOnClient|5F628053]]'''||'''[[SaveTextOnClient]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneCreateObjectByCrc|FE89DDEA]]'''||'''[[SceneCreateObjectByCrc]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneDestroyObject|4D45D504]]'''||'''[[SceneDestroyObject]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SceneEndBaselines|2C436037]]'''||'''[[SceneEndBaselines]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SearchKnowledgeBaseResponseMessage|7CBC8F67]]'''||'''[[SearchKnowledgeBaseResponseMessage]]'''||'''[[Main::CSR (PacketTypeGroup)|Main::CSR]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerTimeMessage|2EBC3BD9]]'''||'''[[ServerTimeMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ServerWeatherMessage|486356EA]]'''||'''[[ServerWeatherMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformCollisionMessage|763648D0]]'''||'''[[ShipUpdateTransformCollisionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ShipUpdateTransformMessage|76026FB9]]'''||'''[[ShipUpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StatMigrationTargetsMessage|EFAC38C4]]'''||'''[[StatMigrationTargetsMessage]]'''||'''[[StatMigration (PacketTypeGroup)|StatMigration]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiCreatePageMessage|D44B7259]]'''||'''[[SuiCreatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiEventNotification|092D3564]]'''||'''[[SuiEventNotification]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{75P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiForceClosePage|990B5DE0]]'''||'''[[SuiForceClosePage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SuiUpdatePageMessage|5F3342F6]]'''||'''[[SuiUpdatePageMessage]]'''||'''[[Main::SUI (PacketTypeGroup)|Main::SUI]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[SurveyMessage|877F79AC]]'''||'''[[SurveyMessage]]'''||'''[[Survey (PacketTypeGroup)|Survey]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[TradeCompleteMessage|C542038B]]'''||'''[[TradeCompleteMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UnAcceptTransactionMessage|E81E4382]]'''||'''[[UnAcceptTransactionMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateCellPermissionMessage|F612499C]]'''||'''[[UpdateCellPermissionMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateContainmentMessage|56CBDE9E]]'''||'''[[UpdateContainmentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateMissileMessage|1228CD01]]'''||'''[[UpdateMissileMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePostureMessage|0BDE6B41]]'''||'''[[UpdatePostureMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdatePvpStatusMessage|08A1C126]]'''||'''[[UpdatePvpStatusMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformMessage|1B24F808]]'''||'''[[UpdateTransformMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[UpdateTransformWithParentMessage|C867AB5A]]'''||'''[[UpdateTransformWithParentMessage]]'''||'''[[GroundScene (PacketTypeGroup)|GroundScene]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyPlayerNameResponseMessage|F4C498FD]]'''||'''[[VerifyPlayerNameResponseMessage]]'''||'''[[Main::Chatroom (PacketTypeGroup)|Main:Chatroom]]'''||{{100P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[VerifyTradeMessage|9AE247EE]]'''||'''[[VerifyTradeMessage]]'''||'''[[ClientSecureTradeManager (PacketTypeGroup)|ClientSecureTradeManager]]'''||{{100P}}  &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[StopClientEffectObjectByLabelMessage|AD6F6B26]]'''||'''[[StopClientEffectObjectByLabelMessage]]'''||'''[[ClientEffectManager (PacketTypeGroup)|ClientEffectManager]]'''||{{100P}}&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=OpCODE DIFF List ('''[[Publish12|Publish 12.1]] vs [[Publish14|Publish 14]]''')=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;400&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|'''Opcode'''||'''Name'''||'''Status'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionFailed|B2BB7B9F]]'''||'''[[ConnectionServerConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[ConnectionServerConnectionReset|E6E66693]]'''||'''[[ConnectionServerConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[GameConnectionReset|9DAF2FFE]]'''||'''[[GameConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionFailed|4AB10261]]'''||'''[[LoginConnectionFailed]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[LoginConnectionReset|D4C3DCBC]]'''||'''[[LoginConnectionReset]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''[[CuiLoadingManager::FullscreenBackButtonEnabled|07640764]]'''||'''[[CuiLoadingManager::FullscreenBackButtonEnabled]]'''||{{0P}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=CommandQueueRemove_(00000117)&amp;diff=79335</id>
		<title>CommandQueueRemove (00000117)</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=CommandQueueRemove_(00000117)&amp;diff=79335"/>
				<updated>2012-02-14T13:17:22Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''ActionCounter'''&lt;br /&gt;
|-&lt;br /&gt;
|{{float}}|'''Timer'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''TableOfStrings: error'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''TableOfStrings: action'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
controllerID	     = '''00000117'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''ActionCounter''':&lt;br /&gt;
:This variable is the action that is sent in 116 by client and that u send in 117 to clear.&lt;br /&gt;
:Normally each new action is +1;&lt;br /&gt;
&lt;br /&gt;
* '''Timer''':&lt;br /&gt;
:This is a float that represents the seconds of execution of the attack/action.&lt;br /&gt;
&lt;br /&gt;
* '''TableofStrings''':&lt;br /&gt;
:First variable sets the error string:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||You cannot &amp;quot;Attack&amp;quot; while Sitting&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||You do not have sufficient abilites to &amp;quot;Attack&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Your target for &amp;quot;Attack&amp;quot; was invalid&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Your target is too far away to &amp;quot;Attack&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||You cannot &amp;quot;Attack&amp;quot; while Under Cover&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||cmd_err:[god_level_prose]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Second variable is useful in cases 1 and 5.&lt;br /&gt;
:In case 1 it sets the stance from the '''LOCOMOTION''' table below:&lt;br /&gt;
:In case 5 it sets the state from the '''STATE''' table below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ObjControllerMessageTag}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Data===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+'''STATE TABLE'''&lt;br /&gt;
|-&lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0||Cover&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||Combat&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||Peace&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Aiming&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Alert&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||Berserk&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||FeignDeath&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|7||CombatAttitudeEvasive&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|8||CombatAttitudeNormal&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|9||CombatAttitudeAggressive&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|10||Tumbling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|11||Rallied&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|12||Stunned&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|13||Blinded&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|14||Dizzy&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|15||Intimidated&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|16||Immobilized&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|17||Frozen&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|18||Swimming&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|19||SittingOnChair&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|20||Crafting&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|21||GlowingJedi&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|22||MaskScent&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|23||Poisoned&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|24||Bleeding&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|25||Diseased&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|26||OnFire&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|27||RidingMount&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|28||MountedCreature&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|29||PilotingShip&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|30||ShipOperations&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|31||ShipGunner&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|32||ShipInterior&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|33||PilotingPobShip&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+'''LOCOMOTION TABLE'''&lt;br /&gt;
|- &lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0||Standing&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||Sneaking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||Walking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Running&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Kneeling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||CrouchSneaking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||CrouchWalking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|7||Prone&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|8||Crawling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|9||ClimbingStationary&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|10||Climbing&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|11||Hovering&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|12||Flying&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|13||LyingDown&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|14||Sitting&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|15||SkillAnimating&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|16||DrivingVehicle&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|17||RidingCreature&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|18||KnockedDown&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|19||Incapacitated&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|20||Dead&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|21||Blocking&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=MSCO06&amp;diff=79175</id>
		<title>MSCO06</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=MSCO06&amp;diff=79175"/>
				<updated>2011-09-11T21:32:25Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* BaseLine Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|MSCO 06}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{MSCOArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:		OpperandCount&lt;br /&gt;
INT:		ServerID&lt;br /&gt;
CSTRING:	CustomizationString&lt;br /&gt;
ASTRING:	CustomizationModel&lt;br /&gt;
INT:		prototypeCRC&lt;br /&gt;
BYTE:		ActiveFlag&lt;br /&gt;
BYTE:		SlotCount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
There's one delta I'm aware of that is sent after a slot has been filled.&lt;br /&gt;
In NGE the var 6 (byte) is filled with the amount of filled slots.&lt;br /&gt;
In precu it is var 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:			UpdateCount&lt;br /&gt;
SHORT:			UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:		ServerID&lt;br /&gt;
  01:&lt;br /&gt;
    CSTRING:		CustomizationString&lt;br /&gt;
  02:&lt;br /&gt;
    ASTRING:		CustomizationModel&lt;br /&gt;
  03:&lt;br /&gt;
    INT:		prototypeCRC&lt;br /&gt;
  04:&lt;br /&gt;
    BYTE:		ActiveFlag&lt;br /&gt;
  05:&lt;br /&gt;
    BYTE:		SlotCount &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Obj_OperandCount = 6&lt;br /&gt;
&lt;br /&gt;
CustomizationString:&lt;br /&gt;
The Customization string made from the customization values in the item customization phase.&lt;br /&gt;
Null on default.&lt;br /&gt;
&lt;br /&gt;
CustomizationModel:&lt;br /&gt;
The string of the object template iff (&amp;quot;directory/file.iff&amp;quot;) used to customize the model&lt;br /&gt;
appearence. NULL on default.&lt;br /&gt;
&lt;br /&gt;
prototypeCRC:&lt;br /&gt;
The CRC of the Item that is the prototype for this schematic. Model will be overwritten by&lt;br /&gt;
CustomizationModel.&lt;br /&gt;
&lt;br /&gt;
ActiveFlag:&lt;br /&gt;
Set to 1 for schematics that are being crafted or are being run in a factory (that is set to active).&lt;br /&gt;
0 for idle in datapad or data container or inactive factory.&lt;br /&gt;
&lt;br /&gt;
SlotCount:&lt;br /&gt;
During Crafting:&lt;br /&gt;
Initialize to 0.&lt;br /&gt;
Incremented by 1 for each slot that is filled, and by 1 for each slot that is emptied.&lt;br /&gt;
It does not effect crafting stages.&lt;br /&gt;
Factories:&lt;br /&gt;
Inactive schematics have this set to 0. &lt;br /&gt;
Active schematics  have this set to # of used slots.&lt;br /&gt;
Datapad:&lt;br /&gt;
Has these set to 0.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{50%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet(NGE)===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
05 00 &lt;br /&gt;
0C 5F A7 68             // BaselinesMessage&lt;br /&gt;
24 2A FA 04 0F 00 00 00 // ID&lt;br /&gt;
4F 43 53 4D 06          // OCSM 6&lt;br /&gt;
18 00 00 00 &lt;br /&gt;
07 00 6E 00 &lt;br /&gt;
00 00 00 00 &lt;br /&gt;
00 00 00 00 &lt;br /&gt;
00 00 00 00 &lt;br /&gt;
00 00 &lt;br /&gt;
8B 3C 1D F1 &lt;br /&gt;
00 00 19 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79174</id>
		<title>PLAY09</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79174"/>
				<updated>2011-09-11T13:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Tags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY09}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;500px&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:		OpperandCount&lt;br /&gt;
INT:		AbilityListSize&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	AbilityString&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationFlag&lt;br /&gt;
INT:		CraftingStage&lt;br /&gt;
LONG:		NearestCraftingStationID&lt;br /&gt;
INT:		DraftSchematicList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 INT:		ServerSchematicCRC&lt;br /&gt;
 INT:		SchematicCRC&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationPoints&lt;br /&gt;
INT:		AccomplishmentCounter&lt;br /&gt;
INT:		FriendList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	FriendName&lt;br /&gt;
}&lt;br /&gt;
INT:		IgnoreList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	IgnoreName&lt;br /&gt;
}&lt;br /&gt;
INT:		CurrentLanguageID&lt;br /&gt;
INT:		CurrentStomach&lt;br /&gt;
INT:		MaxStomach&lt;br /&gt;
INT:		CurrentDrink&lt;br /&gt;
INT:		MaxDrink&lt;br /&gt;
INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
INT:		MaxConsumable(NotUsed)&lt;br /&gt;
INT:		UnusedWaypointList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:		DeltaByte(00)&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 INT:		CellID&lt;br /&gt;
 FLOAT:		XCoord&lt;br /&gt;
 FLOAT:		ZCoord&lt;br /&gt;
 FLOAT:		YCoord&lt;br /&gt;
 LONG:		LocationNetworkID&lt;br /&gt;
 INT:		PlanetCRC&lt;br /&gt;
 USTRING:	WaypointName&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 BYTE:		Color&lt;br /&gt;
 BYTE:		ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:		JediState&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:			UpdateCounter&lt;br /&gt;
SHORT:			UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:		AbilityListSize&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	AbilityString	&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:		ExperimentationFlag&lt;br /&gt;
  02:&lt;br /&gt;
    INT:		CraftingStage&lt;br /&gt;
  03:&lt;br /&gt;
    LONG:		NearestCraftingStationID&lt;br /&gt;
  04:&lt;br /&gt;
    INT:		DraftSchematicList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            INT:	ServerSchematicCRC&lt;br /&gt;
            INT:	SchematicCRC&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:		ExperimentationPoints&lt;br /&gt;
  06:&lt;br /&gt;
    INT:		AccomplishmentCounter&lt;br /&gt;
  07:&lt;br /&gt;
    INT:		FriendList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	FriendName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  08:&lt;br /&gt;
    INT:		IgnoreList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	IgnoreName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  09:&lt;br /&gt;
    INT:		CurrentLanguageID&lt;br /&gt;
  0A:&lt;br /&gt;
    INT:		CurrentStomach&lt;br /&gt;
  0B:&lt;br /&gt;
    INT:		MaxStomach&lt;br /&gt;
  0C:&lt;br /&gt;
    INT:		CurrentDrink&lt;br /&gt;
  0D:&lt;br /&gt;
    INT:		MaxDrink&lt;br /&gt;
  0E:&lt;br /&gt;
    INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
  0F:&lt;br /&gt;
    INT:		MaxConsumable(NotUsed)&lt;br /&gt;
  10:&lt;br /&gt;
    INT:		UnusedWaypointList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        02:(change)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  11:&lt;br /&gt;
    INT:		JediState&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 17&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''AbilityList''':&lt;br /&gt;
:The list of &amp;quot;commands&amp;quot; or abilities the player has. This includes weapon certifications.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationFlag''':&lt;br /&gt;
:It is  set to enable/disable experimentation. 01 - Allow Experimentation. 00 - Only Assembly.&lt;br /&gt;
&lt;br /&gt;
'''CraftingStage''':&lt;br /&gt;
:An integer used to maintain the current stage in a crafting session.&lt;br /&gt;
&lt;br /&gt;
'''NearestCraftingStationId''':&lt;br /&gt;
:The ObjectID of the closest crafting station (and the one that will be used for crafting).&lt;br /&gt;
&lt;br /&gt;
'''ServerSchematicCRC''':&lt;br /&gt;
:This is a Server Side CRC number assigned to each schematic. It is used in commands to identify the schematic with the server. The exact value does not matter so long as it matches all instances (PLAY9, Controller207, Controller1BF, Controller102...)&lt;br /&gt;
&lt;br /&gt;
'''SchematicCRC''':&lt;br /&gt;
:The SWGCRC of the .iff object template taken from &amp;quot;object/draft_schematic/*&amp;quot; for the corresponding schematic. This is used to uniquely identify the schematic.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationPoints''':&lt;br /&gt;
:The amount of experiementation points your player has for the crafting session.&lt;br /&gt;
&lt;br /&gt;
'''AccomplishmentCounter''':&lt;br /&gt;
:This counter is incremented for every &amp;quot;Accomplishment&amp;quot; made. Items crafted, Mobs killed, etc. Is not displayed in Pre-cu (maybe we can make it though)&lt;br /&gt;
&lt;br /&gt;
'''FriendsList''':&lt;br /&gt;
:A list of all the players you are frinds with. Also the server will send alerts when they log on and such. Note: the names must be ALL LOWERCASE&lt;br /&gt;
&lt;br /&gt;
'''IgnoreList''':&lt;br /&gt;
:A list of players you want to ignore in chat. This includes spatial, tells, email, chatroom.&lt;br /&gt;
&lt;br /&gt;
'''CurrentLanguage''':&lt;br /&gt;
:The integer ID of the current language your player is speaking in.&lt;br /&gt;
&lt;br /&gt;
'''Stomach''':&lt;br /&gt;
:The Max/Current values of your stomach variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Drink''':&lt;br /&gt;
:The Max/Current values of your drink variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Consumable''':&lt;br /&gt;
:Similar to stomach and drink, except it is not used and not displayed in the character sheet. Possibly try to add later, maybe for spice or drugs.&lt;br /&gt;
&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:This list of waypoints are not used at all. Please use the PLAY8 WaypointList for datapad waypoints.&lt;br /&gt;
&lt;br /&gt;
'''JediState''':&lt;br /&gt;
:The bitmask of available jedi skills.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 - Non-Jedi&lt;br /&gt;
01 - Force Sensative (Novice)&lt;br /&gt;
02 - Jedi (Elite)&lt;br /&gt;
04 - Light FSR&lt;br /&gt;
08 - Dark FSR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 00 &lt;br /&gt;
0F 00 00 00 // ABILITY LIST SIZE&lt;br /&gt;
00 00 00 00&lt;br /&gt;
10 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 74 6F 6E 65             // _stone&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 75 72 76 69 76 61 6C    // _survival&lt;br /&gt;
&lt;br /&gt;
18 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6C 61 6E 63 65 5F       // cert_lance_&lt;br /&gt;
73 74 61 66 66 5F 77 6F 6F 64 5F 73 31 // staff_wood_s1&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 61 78 65 5F    // cert_axe_&lt;br /&gt;
68 65 61 76 79 5F 64 75 74 79 // heavy_duty&lt;br /&gt;
&lt;br /&gt;
0F 00                         // string count&lt;br /&gt;
63 65 72 74 5F 72 69 66 6C 65 // cert_rifle&lt;br /&gt;
5F 63 64 65 66                // _cdef&lt;br /&gt;
&lt;br /&gt;
10 00                            // string count&lt;br /&gt;
63 65 72 74 5F 70 69 73 74 6F 6C // cert_pistol&lt;br /&gt;
5F 63 64 65 66                   // _cdef&lt;br /&gt;
&lt;br /&gt;
11 00                               // string count&lt;br /&gt;
63 65 72 74 5F 63 61 72 62 69 6E 65 // cert_carbine&lt;br /&gt;
5F 63 64 65 66                      // _cdef&lt;br /&gt;
&lt;br /&gt;
20 00                                                    // string count&lt;br /&gt;
63 65 72 74 5F 67 72 65 6E 61 64 65 5F                   // cert_grenade_&lt;br /&gt;
66 72 61 67 6D 65 6E 74 61 74 69 6F 6E 5F 6C 69 67 68 74 // fragmentation_light&lt;br /&gt;
&lt;br /&gt;
1E 00                                        // string count&lt;br /&gt;
63 65 72 74 5F 73 74 61 72 73 68 69 70 73 5F // cert_starships_&lt;br /&gt;
74 69 65 66 69 67 68 74 65 72 6C 69 67 68 74 // tiefighterlight &lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6F 72 64 6E 61 6E 63 65 // cert_ordnance&lt;br /&gt;
5F 6C 65 76 65 6C 31                   // _level1&lt;br /&gt;
&lt;br /&gt;
16 00                            // string count&lt;br /&gt;
63 65 72 74 5F 64 72 6F 69 64 5F // cert_droid_&lt;br /&gt;
61 73 74 72 6F 6D 65 63 68 5F 31 //astromech_1&lt;br /&gt;
&lt;br /&gt;
16 00                               // string count&lt;br /&gt;
64 72 6F 69 64 63 6F 6D 6D 61 6E 64 // droidcommand&lt;br /&gt;
5F 6D 75 74 65 64 72 6F 69 64       //_mutedroid&lt;br /&gt;
&lt;br /&gt;
0D 00                                  // string count&lt;br /&gt;
68 61 72 76 65 73 74 43 6F 72 70 73 65 // harvestCorpse&lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 73 63 6F 75 74 // private_scout&lt;br /&gt;
5F 6E 6F 76 69 63 65                   // _novice&lt;br /&gt;
&lt;br /&gt;
1C 00                                           // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 69 6D 70 65 72 69 61 6C // private_imperial&lt;br /&gt;
5F 6E 61 76 79 5F 6E 6F 76 69 63 65             // _navy_novice&lt;br /&gt;
&lt;br /&gt;
00 00 00 00    // Experimentation Flags&lt;br /&gt;
00 00 00 00    // Crafting Stage Flags&lt;br /&gt;
00 00 00 00 00 00 00 00 // Crafting Station ID&lt;br /&gt;
01 00 00 00    // Draft Schematics&lt;br /&gt;
00 00 00 00&lt;br /&gt;
A7 94 A8 12    // Schematic ID&lt;br /&gt;
63 30 4A 0F    // Schematic CRC&lt;br /&gt;
00 00 00 00    // Experimentation Points&lt;br /&gt;
00 00 00 00    // Counter Incremented Every Prototype Creation Ack. And Every Kill. (CU/NGE)&lt;br /&gt;
           //PRE-CU This gets flagged as an ExperienceChanged. Old trace of experience most likely.&lt;br /&gt;
02 00 00 00   // Friends List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
05 00          // string count&lt;br /&gt;
61 63 68 61 6E // achan (friend name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
66 65 72 72 69 6E // ferrin (friend name)&lt;br /&gt;
02 00 00 00    // Ignore List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
06 00             // string count&lt;br /&gt;
55 6C 74 79 6D 61 // Ultyma (ignore name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
52 61 6D 73 65 79 // Ramsey (ignore name)&lt;br /&gt;
01 00 00 00 // Current Lanaguage&lt;br /&gt;
32 00 00 00 // Stomach Food Current&lt;br /&gt;
64 00 00 00 // Stomach Food Max&lt;br /&gt;
32 00 00 00 // Stomach Drink Current&lt;br /&gt;
64 00 00 00 // Stomach Drink Max&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Waypoint Objects - Not Found - Not for Datapad&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00 // Jedi State &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79173</id>
		<title>PLAY09</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79173"/>
				<updated>2011-09-11T13:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Deltas Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY09}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;500px&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:		OpperandCount&lt;br /&gt;
INT:		AbilityListSize&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	AbilityString&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationFlag&lt;br /&gt;
INT:		CraftingStage&lt;br /&gt;
LONG:		NearestCraftingStationID&lt;br /&gt;
INT:		DraftSchematicList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 INT:		ServerSchematicCRC&lt;br /&gt;
 INT:		SchematicCRC&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationPoints&lt;br /&gt;
INT:		AccomplishmentCounter&lt;br /&gt;
INT:		FriendList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	FriendName&lt;br /&gt;
}&lt;br /&gt;
INT:		IgnoreList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	IgnoreName&lt;br /&gt;
}&lt;br /&gt;
INT:		CurrentLanguageID&lt;br /&gt;
INT:		CurrentStomach&lt;br /&gt;
INT:		MaxStomach&lt;br /&gt;
INT:		CurrentDrink&lt;br /&gt;
INT:		MaxDrink&lt;br /&gt;
INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
INT:		MaxConsumable(NotUsed)&lt;br /&gt;
INT:		UnusedWaypointList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:		DeltaByte(00)&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 INT:		CellID&lt;br /&gt;
 FLOAT:		XCoord&lt;br /&gt;
 FLOAT:		ZCoord&lt;br /&gt;
 FLOAT:		YCoord&lt;br /&gt;
 LONG:		LocationNetworkID&lt;br /&gt;
 INT:		PlanetCRC&lt;br /&gt;
 USTRING:	WaypointName&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 BYTE:		Color&lt;br /&gt;
 BYTE:		ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:		JediState&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:			UpdateCounter&lt;br /&gt;
SHORT:			UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:		AbilityListSize&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	AbilityString	&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:		ExperimentationFlag&lt;br /&gt;
  02:&lt;br /&gt;
    INT:		CraftingStage&lt;br /&gt;
  03:&lt;br /&gt;
    LONG:		NearestCraftingStationID&lt;br /&gt;
  04:&lt;br /&gt;
    INT:		DraftSchematicList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            INT:	ServerSchematicCRC&lt;br /&gt;
            INT:	SchematicCRC&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:		ExperimentationPoints&lt;br /&gt;
  06:&lt;br /&gt;
    INT:		AccomplishmentCounter&lt;br /&gt;
  07:&lt;br /&gt;
    INT:		FriendList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	FriendName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  08:&lt;br /&gt;
    INT:		IgnoreList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	IgnoreName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  09:&lt;br /&gt;
    INT:		CurrentLanguageID&lt;br /&gt;
  0A:&lt;br /&gt;
    INT:		CurrentStomach&lt;br /&gt;
  0B:&lt;br /&gt;
    INT:		MaxStomach&lt;br /&gt;
  0C:&lt;br /&gt;
    INT:		CurrentDrink&lt;br /&gt;
  0D:&lt;br /&gt;
    INT:		MaxDrink&lt;br /&gt;
  0E:&lt;br /&gt;
    INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
  0F:&lt;br /&gt;
    INT:		MaxConsumable(NotUsed)&lt;br /&gt;
  10:&lt;br /&gt;
    INT:		UnusedWaypointList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        02:(change)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		CellID&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          LONG:		LocationNetworkID&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  11:&lt;br /&gt;
    INT:		JediState&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 17&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''AbilityList''':&lt;br /&gt;
:The list of &amp;quot;commands&amp;quot; or abilities the player has. This includes weapon certifications.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationFlag''':&lt;br /&gt;
:It is  set to enable/disable experimentation. 01 - Allow Experimentation. 00 - Only Assembly.&lt;br /&gt;
&lt;br /&gt;
'''CraftingStage''':&lt;br /&gt;
:An integer used to maintain the current stage in a crafting session.&lt;br /&gt;
&lt;br /&gt;
'''NearestCraftingStationId''':&lt;br /&gt;
:The ObjectID of the closest crafting station (and the one that will be used for crafting).&lt;br /&gt;
&lt;br /&gt;
'''ServerSchematicCRC''':&lt;br /&gt;
:This is a Server Side CRC number assigned to each schematic. It is used in commands to identify the schematic with the server. The exact value does not matter so long as it matches all instances (PLAY9, Controller207, Controller1BF, Controller102...)&lt;br /&gt;
&lt;br /&gt;
'''SchematicCRC''':&lt;br /&gt;
:The SWGCRC of the .iff object template taken from &amp;quot;object/draft_schematic/*&amp;quot; for the corresponding schematic. This is used to uniquely identify the schematic.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationPoints''':&lt;br /&gt;
:The amount of experiementation points your player has for the crafting session.&lt;br /&gt;
&lt;br /&gt;
'''AccomplishmentCounter''':&lt;br /&gt;
:This counter is incremented for every &amp;quot;Accomplishment&amp;quot; made. Items crafted, Mobs killed, etc. Is not displayed in Pre-cu (maybe we can make it though)&lt;br /&gt;
&lt;br /&gt;
'''FriendsList''':&lt;br /&gt;
:A list of all the players you are frinds with. Also the server will send alerts when they log on and such. Note: the names must be ALL LOWERCASE&lt;br /&gt;
&lt;br /&gt;
'''IgnoreList''':&lt;br /&gt;
:A list of players you want to ignore in chat. This includes spatial, tells, email, chatroom.&lt;br /&gt;
&lt;br /&gt;
'''CurrentLanguage''':&lt;br /&gt;
:The integer ID of the current language your player is speaking in.&lt;br /&gt;
&lt;br /&gt;
'''Stomach''':&lt;br /&gt;
:The Max/Current values of your stomach variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Drink''':&lt;br /&gt;
:The Max/Current values of your drink variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Consumable''':&lt;br /&gt;
:Similar to stomach and drink, except it is not used and not displayed in the character sheet. Possibly try to add later, maybe for spice or drugs.&lt;br /&gt;
&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:This list of waypoints are not used at all. Please use the PLAY8 WaypointList for datapad waypoints.&lt;br /&gt;
&lt;br /&gt;
'''JediState''':&lt;br /&gt;
:The bitmask of available jedi skills.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 - Non-Jedi&lt;br /&gt;
01 - Force Sensative (Novice)&lt;br /&gt;
02 - Jedi (Elite)&lt;br /&gt;
04 - Light FSR&lt;br /&gt;
08 - Dark FSR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 00 &lt;br /&gt;
0F 00 00 00 // ABILITY LIST SIZE&lt;br /&gt;
00 00 00 00&lt;br /&gt;
10 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 74 6F 6E 65             // _stone&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 75 72 76 69 76 61 6C    // _survival&lt;br /&gt;
&lt;br /&gt;
18 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6C 61 6E 63 65 5F       // cert_lance_&lt;br /&gt;
73 74 61 66 66 5F 77 6F 6F 64 5F 73 31 // staff_wood_s1&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 61 78 65 5F    // cert_axe_&lt;br /&gt;
68 65 61 76 79 5F 64 75 74 79 // heavy_duty&lt;br /&gt;
&lt;br /&gt;
0F 00                         // string count&lt;br /&gt;
63 65 72 74 5F 72 69 66 6C 65 // cert_rifle&lt;br /&gt;
5F 63 64 65 66                // _cdef&lt;br /&gt;
&lt;br /&gt;
10 00                            // string count&lt;br /&gt;
63 65 72 74 5F 70 69 73 74 6F 6C // cert_pistol&lt;br /&gt;
5F 63 64 65 66                   // _cdef&lt;br /&gt;
&lt;br /&gt;
11 00                               // string count&lt;br /&gt;
63 65 72 74 5F 63 61 72 62 69 6E 65 // cert_carbine&lt;br /&gt;
5F 63 64 65 66                      // _cdef&lt;br /&gt;
&lt;br /&gt;
20 00                                                    // string count&lt;br /&gt;
63 65 72 74 5F 67 72 65 6E 61 64 65 5F                   // cert_grenade_&lt;br /&gt;
66 72 61 67 6D 65 6E 74 61 74 69 6F 6E 5F 6C 69 67 68 74 // fragmentation_light&lt;br /&gt;
&lt;br /&gt;
1E 00                                        // string count&lt;br /&gt;
63 65 72 74 5F 73 74 61 72 73 68 69 70 73 5F // cert_starships_&lt;br /&gt;
74 69 65 66 69 67 68 74 65 72 6C 69 67 68 74 // tiefighterlight &lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6F 72 64 6E 61 6E 63 65 // cert_ordnance&lt;br /&gt;
5F 6C 65 76 65 6C 31                   // _level1&lt;br /&gt;
&lt;br /&gt;
16 00                            // string count&lt;br /&gt;
63 65 72 74 5F 64 72 6F 69 64 5F // cert_droid_&lt;br /&gt;
61 73 74 72 6F 6D 65 63 68 5F 31 //astromech_1&lt;br /&gt;
&lt;br /&gt;
16 00                               // string count&lt;br /&gt;
64 72 6F 69 64 63 6F 6D 6D 61 6E 64 // droidcommand&lt;br /&gt;
5F 6D 75 74 65 64 72 6F 69 64       //_mutedroid&lt;br /&gt;
&lt;br /&gt;
0D 00                                  // string count&lt;br /&gt;
68 61 72 76 65 73 74 43 6F 72 70 73 65 // harvestCorpse&lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 73 63 6F 75 74 // private_scout&lt;br /&gt;
5F 6E 6F 76 69 63 65                   // _novice&lt;br /&gt;
&lt;br /&gt;
1C 00                                           // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 69 6D 70 65 72 69 61 6C // private_imperial&lt;br /&gt;
5F 6E 61 76 79 5F 6E 6F 76 69 63 65             // _navy_novice&lt;br /&gt;
&lt;br /&gt;
00 00 00 00    // Experimentation Flags&lt;br /&gt;
00 00 00 00    // Crafting Stage Flags&lt;br /&gt;
00 00 00 00 00 00 00 00 // Crafting Station ID&lt;br /&gt;
01 00 00 00    // Draft Schematics&lt;br /&gt;
00 00 00 00&lt;br /&gt;
A7 94 A8 12    // Schematic ID&lt;br /&gt;
63 30 4A 0F    // Schematic CRC&lt;br /&gt;
00 00 00 00    // Experimentation Points&lt;br /&gt;
00 00 00 00    // Counter Incremented Every Prototype Creation Ack. And Every Kill. (CU/NGE)&lt;br /&gt;
           //PRE-CU This gets flagged as an ExperienceChanged. Old trace of experience most likely.&lt;br /&gt;
02 00 00 00   // Friends List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
05 00          // string count&lt;br /&gt;
61 63 68 61 6E // achan (friend name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
66 65 72 72 69 6E // ferrin (friend name)&lt;br /&gt;
02 00 00 00    // Ignore List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
06 00             // string count&lt;br /&gt;
55 6C 74 79 6D 61 // Ultyma (ignore name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
52 61 6D 73 65 79 // Ramsey (ignore name)&lt;br /&gt;
01 00 00 00 // Current Lanaguage&lt;br /&gt;
32 00 00 00 // Stomach Food Current&lt;br /&gt;
64 00 00 00 // Stomach Food Max&lt;br /&gt;
32 00 00 00 // Stomach Drink Current&lt;br /&gt;
64 00 00 00 // Stomach Drink Max&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Waypoint Objects - Not Found - Not for Datapad&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00 // Jedi State &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79172</id>
		<title>PLAY09</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY09&amp;diff=79172"/>
				<updated>2011-09-11T13:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* BaseLine Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY09}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;500px&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:		OpperandCount&lt;br /&gt;
INT:		AbilityListSize&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	AbilityString&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationFlag&lt;br /&gt;
INT:		CraftingStage&lt;br /&gt;
LONG:		NearestCraftingStationID&lt;br /&gt;
INT:		DraftSchematicList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 INT:		ServerSchematicCRC&lt;br /&gt;
 INT:		SchematicCRC&lt;br /&gt;
}&lt;br /&gt;
INT:		ExperimentationPoints&lt;br /&gt;
INT:		AccomplishmentCounter&lt;br /&gt;
INT:		FriendList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	FriendName&lt;br /&gt;
}&lt;br /&gt;
INT:		IgnoreList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 ASTRING:	IgnoreName&lt;br /&gt;
}&lt;br /&gt;
INT:		CurrentLanguageID&lt;br /&gt;
INT:		CurrentStomach&lt;br /&gt;
INT:		MaxStomach&lt;br /&gt;
INT:		CurrentDrink&lt;br /&gt;
INT:		MaxDrink&lt;br /&gt;
INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
INT:		MaxConsumable(NotUsed)&lt;br /&gt;
INT:		UnusedWaypointList&lt;br /&gt;
INT:		UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:		DeltaByte(00)&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 INT:		CellID&lt;br /&gt;
 FLOAT:		XCoord&lt;br /&gt;
 FLOAT:		ZCoord&lt;br /&gt;
 FLOAT:		YCoord&lt;br /&gt;
 LONG:		LocationNetworkID&lt;br /&gt;
 INT:		PlanetCRC&lt;br /&gt;
 USTRING:	WaypointName&lt;br /&gt;
 LONG:		WaypointObjectID&lt;br /&gt;
 BYTE:		Color&lt;br /&gt;
 BYTE:		ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:		JediState&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:			UpdateCounter&lt;br /&gt;
SHORT:			UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:		AbilityListSize&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	AbilityString&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	AbilityString	&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:		ExperimentationFlag&lt;br /&gt;
  02:&lt;br /&gt;
    INT:		CraftingStage&lt;br /&gt;
  03:&lt;br /&gt;
    LONG:		NearestCraftingStationID&lt;br /&gt;
  04:&lt;br /&gt;
    INT:		DraftSchematicList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          INT:		ServerSchematicCRC&lt;br /&gt;
          INT:		SchematicCRC&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            INT:	ServerSchematicCRC&lt;br /&gt;
            INT:	SchematicCRC&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:		ExperimentationPoints&lt;br /&gt;
  06:&lt;br /&gt;
    INT:		AccomplishmentCounter&lt;br /&gt;
  07:&lt;br /&gt;
    INT:		FriendList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	FriendName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	FriendName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  08:&lt;br /&gt;
    INT:		IgnoreList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
     BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(remove)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
        01:(add)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        02:(change)&lt;br /&gt;
          SHORT:	Index&lt;br /&gt;
          ASTRING:	IgnoreName&lt;br /&gt;
        03:(resetall)&lt;br /&gt;
          SHORT:	NewListSize&lt;br /&gt;
          {&lt;br /&gt;
            ASTRING:	IgnoreName&lt;br /&gt;
          }&lt;br /&gt;
        04:(clear)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  09:&lt;br /&gt;
    INT:		CurrentLanguageID&lt;br /&gt;
  0A:&lt;br /&gt;
    INT:		CurrentStomach&lt;br /&gt;
  0B:&lt;br /&gt;
    INT:		MaxStomach&lt;br /&gt;
  0C:&lt;br /&gt;
    INT:		CurrentDrink&lt;br /&gt;
  0D:&lt;br /&gt;
    INT:		MaxDrink&lt;br /&gt;
  0E:&lt;br /&gt;
    INT:		CurrentConsumable(NotUsed)&lt;br /&gt;
  0F:&lt;br /&gt;
    INT:		MaxConsumable(NotUsed)&lt;br /&gt;
  10:&lt;br /&gt;
    INT:		UnusedWaypointList&lt;br /&gt;
    INT:		UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:		SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		??&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		??&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
        02:(change)&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          INT:		??&lt;br /&gt;
          FLOAT:	XCoord&lt;br /&gt;
          FLOAT:	ZCoord&lt;br /&gt;
          FLOAT:	YCoord&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		??&lt;br /&gt;
          INT:		PlanetCRC&lt;br /&gt;
          USTRING:	WaypointName&lt;br /&gt;
          LONG:		WaypointObjectID&lt;br /&gt;
          BYTE:		Color&lt;br /&gt;
          BYTE:		ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  11:&lt;br /&gt;
    INT:		JediState&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 17&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''AbilityList''':&lt;br /&gt;
:The list of &amp;quot;commands&amp;quot; or abilities the player has. This includes weapon certifications.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationFlag''':&lt;br /&gt;
:It is  set to enable/disable experimentation. 01 - Allow Experimentation. 00 - Only Assembly.&lt;br /&gt;
&lt;br /&gt;
'''CraftingStage''':&lt;br /&gt;
:An integer used to maintain the current stage in a crafting session.&lt;br /&gt;
&lt;br /&gt;
'''NearestCraftingStationId''':&lt;br /&gt;
:The ObjectID of the closest crafting station (and the one that will be used for crafting).&lt;br /&gt;
&lt;br /&gt;
'''ServerSchematicCRC''':&lt;br /&gt;
:This is a Server Side CRC number assigned to each schematic. It is used in commands to identify the schematic with the server. The exact value does not matter so long as it matches all instances (PLAY9, Controller207, Controller1BF, Controller102...)&lt;br /&gt;
&lt;br /&gt;
'''SchematicCRC''':&lt;br /&gt;
:The SWGCRC of the .iff object template taken from &amp;quot;object/draft_schematic/*&amp;quot; for the corresponding schematic. This is used to uniquely identify the schematic.&lt;br /&gt;
&lt;br /&gt;
'''ExperimentationPoints''':&lt;br /&gt;
:The amount of experiementation points your player has for the crafting session.&lt;br /&gt;
&lt;br /&gt;
'''AccomplishmentCounter''':&lt;br /&gt;
:This counter is incremented for every &amp;quot;Accomplishment&amp;quot; made. Items crafted, Mobs killed, etc. Is not displayed in Pre-cu (maybe we can make it though)&lt;br /&gt;
&lt;br /&gt;
'''FriendsList''':&lt;br /&gt;
:A list of all the players you are frinds with. Also the server will send alerts when they log on and such. Note: the names must be ALL LOWERCASE&lt;br /&gt;
&lt;br /&gt;
'''IgnoreList''':&lt;br /&gt;
:A list of players you want to ignore in chat. This includes spatial, tells, email, chatroom.&lt;br /&gt;
&lt;br /&gt;
'''CurrentLanguage''':&lt;br /&gt;
:The integer ID of the current language your player is speaking in.&lt;br /&gt;
&lt;br /&gt;
'''Stomach''':&lt;br /&gt;
:The Max/Current values of your stomach variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Drink''':&lt;br /&gt;
:The Max/Current values of your drink variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.&lt;br /&gt;
&lt;br /&gt;
'''Consumable''':&lt;br /&gt;
:Similar to stomach and drink, except it is not used and not displayed in the character sheet. Possibly try to add later, maybe for spice or drugs.&lt;br /&gt;
&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:This list of waypoints are not used at all. Please use the PLAY8 WaypointList for datapad waypoints.&lt;br /&gt;
&lt;br /&gt;
'''JediState''':&lt;br /&gt;
:The bitmask of available jedi skills.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 - Non-Jedi&lt;br /&gt;
01 - Force Sensative (Novice)&lt;br /&gt;
02 - Jedi (Elite)&lt;br /&gt;
04 - Light FSR&lt;br /&gt;
08 - Dark FSR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11 00 &lt;br /&gt;
0F 00 00 00 // ABILITY LIST SIZE&lt;br /&gt;
00 00 00 00&lt;br /&gt;
10 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 74 6F 6E 65             // _stone&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife&lt;br /&gt;
5F 73 75 72 76 69 76 61 6C    // _survival&lt;br /&gt;
&lt;br /&gt;
18 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6C 61 6E 63 65 5F       // cert_lance_&lt;br /&gt;
73 74 61 66 66 5F 77 6F 6F 64 5F 73 31 // staff_wood_s1&lt;br /&gt;
&lt;br /&gt;
13 00                         // string count&lt;br /&gt;
63 65 72 74 5F 61 78 65 5F    // cert_axe_&lt;br /&gt;
68 65 61 76 79 5F 64 75 74 79 // heavy_duty&lt;br /&gt;
&lt;br /&gt;
0F 00                         // string count&lt;br /&gt;
63 65 72 74 5F 72 69 66 6C 65 // cert_rifle&lt;br /&gt;
5F 63 64 65 66                // _cdef&lt;br /&gt;
&lt;br /&gt;
10 00                            // string count&lt;br /&gt;
63 65 72 74 5F 70 69 73 74 6F 6C // cert_pistol&lt;br /&gt;
5F 63 64 65 66                   // _cdef&lt;br /&gt;
&lt;br /&gt;
11 00                               // string count&lt;br /&gt;
63 65 72 74 5F 63 61 72 62 69 6E 65 // cert_carbine&lt;br /&gt;
5F 63 64 65 66                      // _cdef&lt;br /&gt;
&lt;br /&gt;
20 00                                                    // string count&lt;br /&gt;
63 65 72 74 5F 67 72 65 6E 61 64 65 5F                   // cert_grenade_&lt;br /&gt;
66 72 61 67 6D 65 6E 74 61 74 69 6F 6E 5F 6C 69 67 68 74 // fragmentation_light&lt;br /&gt;
&lt;br /&gt;
1E 00                                        // string count&lt;br /&gt;
63 65 72 74 5F 73 74 61 72 73 68 69 70 73 5F // cert_starships_&lt;br /&gt;
74 69 65 66 69 67 68 74 65 72 6C 69 67 68 74 // tiefighterlight &lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
63 65 72 74 5F 6F 72 64 6E 61 6E 63 65 // cert_ordnance&lt;br /&gt;
5F 6C 65 76 65 6C 31                   // _level1&lt;br /&gt;
&lt;br /&gt;
16 00                            // string count&lt;br /&gt;
63 65 72 74 5F 64 72 6F 69 64 5F // cert_droid_&lt;br /&gt;
61 73 74 72 6F 6D 65 63 68 5F 31 //astromech_1&lt;br /&gt;
&lt;br /&gt;
16 00                               // string count&lt;br /&gt;
64 72 6F 69 64 63 6F 6D 6D 61 6E 64 // droidcommand&lt;br /&gt;
5F 6D 75 74 65 64 72 6F 69 64       //_mutedroid&lt;br /&gt;
&lt;br /&gt;
0D 00                                  // string count&lt;br /&gt;
68 61 72 76 65 73 74 43 6F 72 70 73 65 // harvestCorpse&lt;br /&gt;
&lt;br /&gt;
14 00                                  // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 73 63 6F 75 74 // private_scout&lt;br /&gt;
5F 6E 6F 76 69 63 65                   // _novice&lt;br /&gt;
&lt;br /&gt;
1C 00                                           // string count&lt;br /&gt;
70 72 69 76 61 74 65 5F 69 6D 70 65 72 69 61 6C // private_imperial&lt;br /&gt;
5F 6E 61 76 79 5F 6E 6F 76 69 63 65             // _navy_novice&lt;br /&gt;
&lt;br /&gt;
00 00 00 00    // Experimentation Flags&lt;br /&gt;
00 00 00 00    // Crafting Stage Flags&lt;br /&gt;
00 00 00 00 00 00 00 00 // Crafting Station ID&lt;br /&gt;
01 00 00 00    // Draft Schematics&lt;br /&gt;
00 00 00 00&lt;br /&gt;
A7 94 A8 12    // Schematic ID&lt;br /&gt;
63 30 4A 0F    // Schematic CRC&lt;br /&gt;
00 00 00 00    // Experimentation Points&lt;br /&gt;
00 00 00 00    // Counter Incremented Every Prototype Creation Ack. And Every Kill. (CU/NGE)&lt;br /&gt;
           //PRE-CU This gets flagged as an ExperienceChanged. Old trace of experience most likely.&lt;br /&gt;
02 00 00 00   // Friends List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
05 00          // string count&lt;br /&gt;
61 63 68 61 6E // achan (friend name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
66 65 72 72 69 6E // ferrin (friend name)&lt;br /&gt;
02 00 00 00    // Ignore List&lt;br /&gt;
00 00 00 00&lt;br /&gt;
06 00             // string count&lt;br /&gt;
55 6C 74 79 6D 61 // Ultyma (ignore name)&lt;br /&gt;
06 00             // string count&lt;br /&gt;
52 61 6D 73 65 79 // Ramsey (ignore name)&lt;br /&gt;
01 00 00 00 // Current Lanaguage&lt;br /&gt;
32 00 00 00 // Stomach Food Current&lt;br /&gt;
64 00 00 00 // Stomach Food Max&lt;br /&gt;
32 00 00 00 // Stomach Drink Current&lt;br /&gt;
64 00 00 00 // Stomach Drink Max&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Not Found (Something related/similar to Stomach)&lt;br /&gt;
00 00 00 00 // Waypoint Objects - Not Found - Not for Datapad&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00 // Jedi State &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79171</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79171"/>
				<updated>2011-09-11T12:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Deltas Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellID&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(update)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(update)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79170</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79170"/>
				<updated>2011-09-11T12:58:36Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Deltas Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellID&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellID&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79169</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79169"/>
				<updated>2011-09-11T12:58:21Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* BaseLine Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellID&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79168</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79168"/>
				<updated>2011-09-11T12:55:48Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Tags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellId&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79167</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79167"/>
				<updated>2011-09-11T12:55:36Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Deltas Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellId&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          CellId&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          LONG:         NetworkLocationID&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79166</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79166"/>
				<updated>2011-09-11T12:52:34Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* BaseLine Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellId&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:          OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
    &lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79165</id>
		<title>PLAY08</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=PLAY08&amp;diff=79165"/>
				<updated>2011-09-11T12:52:16Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* BaseLine Struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PageHeader|Baseline|PLAY08}}&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{PLAYArchitectureNAV}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===BaseLine Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:          OpperandCount&lt;br /&gt;
INT:            XPListSize&lt;br /&gt;
INT:            XPListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:         &lt;br /&gt;
 DeltaByte(00)&lt;br /&gt;
 ASTRING:       XPType&lt;br /&gt;
 INT:           XPValue&lt;br /&gt;
}&lt;br /&gt;
INT:            WaypointListSize&lt;br /&gt;
INT:            WaypointListUpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 INT:           CellId&lt;br /&gt;
 FLOAT:         XCoord&lt;br /&gt;
 FLOAT:         ZCoord&lt;br /&gt;
 FLOAT:         YCoord&lt;br /&gt;
 LONG:          LocationNetworkId&lt;br /&gt;
 INT:           PlanetCRC&lt;br /&gt;
 USTRING:       WaypointName&lt;br /&gt;
 LONG:          WaypointObjectID&lt;br /&gt;
 BYTE:          Color&lt;br /&gt;
 BYTE:          ActiveFlag&lt;br /&gt;
}&lt;br /&gt;
INT:            CurrentForcePower&lt;br /&gt;
INT:            MaxForcePower&lt;br /&gt;
INT:            CurrentFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CurrentFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            CompletedFSQuestList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          CompletedFSQuestMask&lt;br /&gt;
}&lt;br /&gt;
INT:            QuestJournalList&lt;br /&gt;
INT:            UpdateCounter&lt;br /&gt;
{&lt;br /&gt;
 BYTE:          DeltaByte(00)&lt;br /&gt;
 INT:           QuestCRC&lt;br /&gt;
 LONG:   &lt;br /&gt;
       OwnerID&lt;br /&gt;
 SHORT:         ActiveStepBitmask&lt;br /&gt;
 SHORT:         CompletedStepBitmask&lt;br /&gt;
 BYTE:          CompletedFlag&lt;br /&gt;
 INT:           QuestCounter&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deltas Struct===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHORT:                  UpdateCount&lt;br /&gt;
SHORT:                  UpdateType&lt;br /&gt;
{&lt;br /&gt;
  00:&lt;br /&gt;
    INT:                XPListSize&lt;br /&gt;
    INT:                XPListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
        02:(add)&lt;br /&gt;
          ASTRING:      XPType&lt;br /&gt;
          INT:          XPValue&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  01:&lt;br /&gt;
    INT:                WaypointListSize&lt;br /&gt;
    INT:                WaypointListUpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             SubType&lt;br /&gt;
      {&lt;br /&gt;
        00:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        01:(remove)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
        02:(add)&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          FLOAT:        XCoord&lt;br /&gt;
    &lt;br /&gt;
          FLOAT:        ZCoord&lt;br /&gt;
          FLOAT:        YCoord&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          ??&lt;br /&gt;
          INT:          PlanetCRC&lt;br /&gt;
          USTRING:      WaypointName&lt;br /&gt;
          LONG:         WaypointObjectID&lt;br /&gt;
          BYTE:         Color&lt;br /&gt;
          BYTE:         ActiveFlag&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  02:&lt;br /&gt;
    INT:                CurrentForcePower&lt;br /&gt;
  03:&lt;br /&gt;
    INT:                MaxForcePower&lt;br /&gt;
  04:&lt;br /&gt;
    INT:                CurrentFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CurrentFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  05:&lt;br /&gt;
    INT:                CompletedFSQuestList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             CompletedFSQuestMask&lt;br /&gt;
    }&lt;br /&gt;
  06:&lt;br /&gt;
    INT:                QuestJournalList&lt;br /&gt;
    INT:                UpdateCounter&lt;br /&gt;
    {&lt;br /&gt;
      BYTE:             DeltaByte(00)&lt;br /&gt;
      INT:              QuestCRC&lt;br /&gt;
      LONG:             OwnerID&lt;br /&gt;
     &lt;br /&gt;
      SHORT:            ActiveStepBitmask&lt;br /&gt;
      SHORT:            CompletedStepBitmask&lt;br /&gt;
      BYTE:             CompletedFlag&lt;br /&gt;
      INT:              QuestCounter&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OpperandCount = 7&lt;br /&gt;
&lt;br /&gt;
'''XPList''':&lt;br /&gt;
:A list of XP Types and the ammount of experience you have of it.&lt;br /&gt;
'''WaypointList''':&lt;br /&gt;
:A list of Waypoints inside your datapad.&lt;br /&gt;
:It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.&lt;br /&gt;
'''ActiveFlag''':&lt;br /&gt;
:01 - Active&lt;br /&gt;
:00 - Inactive&lt;br /&gt;
'''Color''':&lt;br /&gt;
:1 - blue&lt;br /&gt;
:2 - green&lt;br /&gt;
:3 - orange&lt;br /&gt;
:4 - yellow&lt;br /&gt;
:5 - purple/red&lt;br /&gt;
:6 - white&lt;br /&gt;
:7 - JTL (multi-color)&lt;br /&gt;
&lt;br /&gt;
'''ForcePower''':&lt;br /&gt;
:The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.&lt;br /&gt;
&lt;br /&gt;
'''FSQuestList''':&lt;br /&gt;
:Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.&lt;br /&gt;
&lt;br /&gt;
'''QuestList''':&lt;br /&gt;
:A list of quests in the quest journal currently being worked on or are completed.&lt;br /&gt;
&lt;br /&gt;
'''QuestCRC''':&lt;br /&gt;
:The CRC string of the Quest to add to the journal.&lt;br /&gt;
&lt;br /&gt;
'''OwnerID''':&lt;br /&gt;
:The ObjectID of the person working on the quest. Is usually 0 or your characterID.&lt;br /&gt;
&lt;br /&gt;
'''QuestCounter''':&lt;br /&gt;
:The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire &amp;quot;career&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''CompletedFlag''':&lt;br /&gt;
:01 if the Quest is ENTIRELY complete.&lt;br /&gt;
:00 if it is partially or incomplete.&lt;br /&gt;
&lt;br /&gt;
'''QuestStepBitmask''':&lt;br /&gt;
:Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.&lt;br /&gt;
&lt;br /&gt;
'''example: 4 bit mask'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0001 - Active, bit1 - first part&lt;br /&gt;
0000 - Complete, nothing is done (finish part 1)&lt;br /&gt;
0010 - Active bit2 - part 2 is active&lt;br /&gt;
0001 - Complete, bit1 - part1 is done (finish part 2)&lt;br /&gt;
0100 - Active bit3 - part 3 is active&lt;br /&gt;
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)&lt;br /&gt;
0000 - Active - none, you are done&lt;br /&gt;
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{75%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sample Packet===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07 00&lt;br /&gt;
//================================XPList&lt;br /&gt;
03 00 00 00 //ListSize&lt;br /&gt;
00 00 00 00 //UpdateCounter&lt;br /&gt;
&lt;br /&gt;
00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)&lt;br /&gt;
0E 00                                      // string count&lt;br /&gt;
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general&lt;br /&gt;
64 00 00 00 //Value (Ammount of XP)&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
05 00          // string count&lt;br /&gt;
73 63 6F 75 74 // scout&lt;br /&gt;
A3 1C 00 00 // amount of xp 7331&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
0C 00                               // sting count&lt;br /&gt;
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable&lt;br /&gt;
39 05 00 00 // amount of xp 1337&lt;br /&gt;
&lt;br /&gt;
//=============================Waypoint List&lt;br /&gt;
01 00 00 00 // List Size&lt;br /&gt;
00 00 00 00 // Update Counter&lt;br /&gt;
00 // Delta Padding&lt;br /&gt;
AA BB 66 99 0A 00 00 00 // (waypoint object ID)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
26 78 32 C3  // (FLOAT:X CORD)&lt;br /&gt;
00 00 E0 41  // (FLOAT:Z CORD)&lt;br /&gt;
6B 87 97 C5  // (FLOAT:Y CORD)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
00 00 00 00  // ??(JTL?)&lt;br /&gt;
58 B5 D7 AF  // PlanetCRC&lt;br /&gt;
13 00 00 00  // u-string count&lt;br /&gt;
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00&lt;br /&gt;
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p&lt;br /&gt;
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)&lt;br /&gt;
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)&lt;br /&gt;
01   // (BYTE: activated flag)&lt;br /&gt;
00 00 00 00 // Current Force&lt;br /&gt;
00 00 00 00 // Max Force&lt;br /&gt;
05 00 00 00 // CurrentFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
05 00 00 00  // CompletedFSQuestMask&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00&lt;br /&gt;
01 00 00 00  // RegularQuestJournal&lt;br /&gt;
00 00 00 00&lt;br /&gt;
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.&lt;br /&gt;
92 9B 44 C5 // QuestCRC&lt;br /&gt;
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.&lt;br /&gt;
04 00 // ActiveBitMask For which parts of the quest you have&lt;br /&gt;
01 00 // CompletedBitMask For which parts of the quest you completed&lt;br /&gt;
00    // CompletedFlag For completing the entire quest and its parts&lt;br /&gt;
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each&lt;br /&gt;
           // new quest. Individual Quest Counter?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
thats 9 times the same waypoint ??????&lt;br /&gt;
&lt;br /&gt;
05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA&lt;br /&gt;
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............&lt;br /&gt;
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......&lt;br /&gt;
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....&lt;br /&gt;
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   .....?.W....@.g.&lt;br /&gt;
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.&lt;br /&gt;
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.&lt;br /&gt;
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?&lt;br /&gt;
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.&lt;br /&gt;
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........&lt;br /&gt;
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   ?.W....@.g.r.o.u&lt;br /&gt;
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w&lt;br /&gt;
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?&lt;br /&gt;
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.&lt;br /&gt;
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?&lt;br /&gt;
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..&lt;br /&gt;
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   ..@.g.r.o.u.p.:.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.&lt;br /&gt;
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.&lt;br /&gt;
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......&lt;br /&gt;
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...&lt;br /&gt;
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   ......?.W....@.g&lt;br /&gt;
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o&lt;br /&gt;
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i&lt;br /&gt;
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E&lt;br /&gt;
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........&lt;br /&gt;
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   .?.W....@.g.r.o.&lt;br /&gt;
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.&lt;br /&gt;
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.&lt;br /&gt;
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6&lt;br /&gt;
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.&lt;br /&gt;
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.&lt;br /&gt;
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   ...@.g.r.o.u.p.:&lt;br /&gt;
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y&lt;br /&gt;
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6&lt;br /&gt;
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....&lt;br /&gt;
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..&lt;br /&gt;
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.&lt;br /&gt;
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.&lt;br /&gt;
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.&lt;br /&gt;
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....&lt;br /&gt;
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6&lt;br /&gt;
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......&lt;br /&gt;
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   ..?.W....@.g.r.o&lt;br /&gt;
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p&lt;br /&gt;
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t&lt;br /&gt;
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?&lt;br /&gt;
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A&lt;br /&gt;
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W&lt;br /&gt;
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   ....@.g.r.o.u.p.&lt;br /&gt;
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.&lt;br /&gt;
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?&lt;br /&gt;
36 00 00 00 04 01 00 00 00 00                     6.........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=CommandQueueRemove_(00000117)&amp;diff=73519</id>
		<title>CommandQueueRemove (00000117)</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=CommandQueueRemove_(00000117)&amp;diff=73519"/>
				<updated>2010-06-16T03:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Struct===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''ActionCounter'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''Timer'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''TableOfStrings: error'''&lt;br /&gt;
|-&lt;br /&gt;
|{{int}}|'''TableOfStrings: action'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable Descriptions===&lt;br /&gt;
----&lt;br /&gt;
controllerID	     = '''00000117'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''ActionCounter''':&lt;br /&gt;
:This variable is the action that is sent in 116 by client and that u send in 117 to clear.&lt;br /&gt;
:Normally each new action is +1;&lt;br /&gt;
&lt;br /&gt;
* '''Timer''':&lt;br /&gt;
:This is a float that represents the seconds of execution of the attack/action.&lt;br /&gt;
&lt;br /&gt;
* '''TableofStrings''':&lt;br /&gt;
:First variable sets the error string:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||You cannot &amp;quot;Attack&amp;quot; while standing&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||You do not have sufficient abilites to &amp;quot;Attack&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Your target for &amp;quot;Attack&amp;quot; was invalid&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Your target is too far away to &amp;quot;Attack&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||You cannot &amp;quot;Attack&amp;quot; while Under Cover&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||cmd_err:[god_level_prose]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Second variable is useful in cases 1 and 5.&lt;br /&gt;
:In case 1 it sets the stance from the '''STATE''' table below:&lt;br /&gt;
:In case 5 it sets the state from the '''LOCOMOTION''' table below:&lt;br /&gt;
&lt;br /&gt;
|valign=top|&lt;br /&gt;
===Tags===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
||{{ObjControllerMessageTag}}&lt;br /&gt;
|-&lt;br /&gt;
||{{100%}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Data===&lt;br /&gt;
----&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;90%&amp;quot; cellpadding=6&lt;br /&gt;
|-&lt;br /&gt;
|valign=top|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+'''STATE TABLE'''&lt;br /&gt;
|-&lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0||Cover&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||Combat&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||Peace&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Aiming&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Alert&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||Berserk&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||FeignDeath&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|7||CombatAttitudeEvasive&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|8||CombatAttitudeNormal&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|9||CombatAttitudeAggressive&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|10||Tumbling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|11||Rallied&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|12||Stunned&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|13||Blinded&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|14||Dizzy&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|15||Intimidated&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|16||Immobilized&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|17||Frozen&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|18||Swimming&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|19||SittingOnChair&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|20||Crafting&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|21||GlowingJedi&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|22||MaskScent&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|23||Poisoned&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|24||Bleeding&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|25||Diseased&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|26||OnFire&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|27||RidingMount&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|28||MountedCreature&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|29||PilotingShip&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|30||ShipOperations&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|31||ShipGunner&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|32||ShipInterior&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|33||PilotingPobShip&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+'''LOCOMOTION TABLE'''&lt;br /&gt;
|- &lt;br /&gt;
||'''ID'''||'''String'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0||Standing&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1||Sneaking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2||Walking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3||Running&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4||Kneeling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|5||CrouchSneaking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|6||CrouchWalking&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|7||Prone&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|8||Crawling&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|9||ClimbingStationary&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|10||Climbing&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|11||Hovering&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|12||Flying&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|13||LyingDown&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|14||Sitting&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|15||SkillAnimating&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|16||DrivingVehicle&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|17||RidingCreature&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|18||KnockedDown&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|19||Incapacitated&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|20||Dead&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|21||Blocking&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70844</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70844"/>
				<updated>2010-04-06T16:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* TL:DR For Bash Users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
[or to commit all changed files without explicitly adding them run]&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
To do the above in the Bash prompt run the following:&lt;br /&gt;
&lt;br /&gt;
1) Do a pull to grab the latest code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git pull&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Checkout the bug branch&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Display the diff of the last X changes relevant to the fix&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git diff HEAD~X&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70843</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70843"/>
				<updated>2010-04-06T16:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Peer Reviewing a Bug Fix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
[or to commit all changed files without explicitly adding them run]&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR For Bash Users ===&lt;br /&gt;
&lt;br /&gt;
To do the above in the Bash prompt run the following:&lt;br /&gt;
&lt;br /&gt;
1) Do a pull to grab the latest code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git pull&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Checkout the bug branch&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Display the diff of the last X changes relevant to the fix&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git diff HEAD~X&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70842</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70842"/>
				<updated>2010-04-06T16:15:02Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* TL:DR for Bash Users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
[or to commit all changed files without explicitly adding them run]&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70841</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70841"/>
				<updated>2010-04-06T16:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To commit all changed files without explicitly adding them run:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70840</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70840"/>
				<updated>2010-04-06T16:13:39Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
=== TL:DR for Bash Users ===&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To commit all changed files without explicitly adding them run:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70839</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70839"/>
				<updated>2010-04-06T16:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Fixing a Bug From Mantis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
== TL:DR for Bash Users ==&lt;br /&gt;
&lt;br /&gt;
If using the command line the below is a simplified version of the above workflow:&lt;br /&gt;
&lt;br /&gt;
1) Create a new branch of of develop for the change:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout -b issue0000001 develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) List modifications:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Add changes to staging area&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git add .&lt;br /&gt;
[or]&lt;br /&gt;
 git add path/to/filename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Commit code&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To commit all changed files without explicitly adding them run:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git commit -a -m &amp;quot;Log message&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Finally push the changes on up&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git push origin issue0000001&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70838</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70838"/>
				<updated>2010-04-06T16:07:06Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Fixing a Bug From Mantis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
'''NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!'''&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70837</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70837"/>
				<updated>2010-04-06T16:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Fixing a Bug From Mantis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
'''Second Note: All feature branches MUST be branched off the 'develop' branch. If this branch isn't showing in your local branches perform the above steps being sure to select the 'Match Tracking Branch Name' option and the 'origin/develop' branch.'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70836</id>
		<title>SWGANH Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70836"/>
				<updated>2010-04-06T16:01:58Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Configure Git and Checkout SWG:ANH Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git Setup Guide =&lt;br /&gt;
Git is a &amp;amp; open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - http://www.git-scm.com/&lt;br /&gt;
&lt;br /&gt;
Over the years the SWG:ANH source has evolved into a massive project both in scope and in terms of number of lines of code, which at last count numbered over 145,000 lines. Up to March 2010 the SWG:ANH project used Subversion as it’s version control system, however, with the source base being the size that it is normal day-to-day tasks such as log lookups and branching/merging were a cumbersome chore. With this in mind the decision was made to switch to an alternative version control system better suited to the task.&lt;br /&gt;
&lt;br /&gt;
Historically, support for Git on Windows was only possible using cygwin however, over the past few years support has improved greatly through projects like msysgit and TortoiseGit. The following guide will walk you through installing Git and configuring for use with SWG:ANH projects.&lt;br /&gt;
&lt;br /&gt;
== Installing the PuTTY Suite ==&lt;br /&gt;
&lt;br /&gt;
PuTTY is suite of tools for SSH, the primary mode of transport for Git transactions. Download the latest version of the PuTTY Windows Installer:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe&lt;br /&gt;
&lt;br /&gt;
=== Create an SSH Key with PuTTYgen ===&lt;br /&gt;
&lt;br /&gt;
A SSH key must be created in order to connect to the SWG:ANH git repository. Do this by going to the Start Menu and under the PuTTY directory selecting the PuTTYgen application then hitting the Generate button. Copy the contents of the &amp;quot;Public key for pasting into OpenSSH authorized_keys file&amp;quot; section into a message/email to snow or apathy and then use both the Save public key and Save private key buttons to save your public key to USERDIR/.ssh/id_rsa.pub and the private key to USERDIR/.ssh/id_rsa.ppk.&lt;br /&gt;
&lt;br /&gt;
=== Loading your SSH Key with Pageant ===&lt;br /&gt;
&lt;br /&gt;
Now that your SSH key has been created go to the Start Menu and under the PuTTY directory select the Pageant application. This application runs in the background and can be accessed via right clicking the icon in the System Tray. Right click on this icon and choose to &amp;quot;'''Add Key'''.&amp;quot; Navigate to the .ssh directory inside your user account and select the key that you just converted. After you select the key you will be asked for your password one last time, enter it.&lt;br /&gt;
&lt;br /&gt;
=== Create a New Pageant Session For the SWG:ANH Repository ===&lt;br /&gt;
&lt;br /&gt;
Right click on the Pageant icon and choose New Session, this will bring up the PuTTY configuration window which should be filled out as below.&lt;br /&gt;
&lt;br /&gt;
[[Image:Putty1.PNG]]&lt;br /&gt;
&lt;br /&gt;
Here the Host Name section is filled in with the repository address and a name is given to the Session in the Saved Sessions area. Once these two fields have been set hit the Save button to save the Session and then hit Open to make a new connection to the repository. When connecting the first time a Security Alert will pop up notifying that that the host's key is not in the registry, this is expected so hit Yes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Putty2.PNG]]&lt;br /&gt;
&lt;br /&gt;
Another failure message will pop up after this, simply ignore it and close the putty session. SSH is now configured and ready for use.&lt;br /&gt;
&lt;br /&gt;
== Installing Git on Windows ==&lt;br /&gt;
To begin download the latest Git installer from the msysgit project site:&lt;br /&gt;
http://code.google.com/p/msysgit/[http://code.google.com/p/msysgit/]&lt;br /&gt;
 &lt;br /&gt;
At the time of this writing the latest version is Git-1.7.0.2-preview20100309.exe.&lt;br /&gt;
&lt;br /&gt;
Follow the guided installation and select the default options for the Destination Location, Component Selection, and Start Menu Folder pages. When you get to the '''Adjusting your PATH environment''' page select the “'''Run Git from the Windows Command Prompt'''” option as shown below and continue.&lt;br /&gt;
&lt;br /&gt;
[[Image:Git1.png]]&lt;br /&gt;
&lt;br /&gt;
On the following page select “'''Checkout Windows-style, commit Unix-style line endings'''.”&lt;br /&gt;
&lt;br /&gt;
[[Image:Git2.png]]&lt;br /&gt;
&lt;br /&gt;
Finally on the last page choose the Use (Tortoise)Plink option which should by automatically set.&lt;br /&gt;
&lt;br /&gt;
The installer will then copy all the necessary files and finish up. Now you’re ready to configure your Git environment for use with the SWG:ANH project.&lt;br /&gt;
&lt;br /&gt;
== Configure Git and Checkout SWG:ANH Projects ==&lt;br /&gt;
Now you’re ready to configure Git and checkout the MMOServer and MMOServerDB projects which are the heart of the SWG:ANH server. First open a command prompt and navigate to the directory where you want to checkout the projects into, for windows Vista/7 users you can Shift+Right Click on a directory to bring up the '''Open command window here''' option.&lt;br /&gt;
&lt;br /&gt;
Once you have the command window open at the location you want enter the following two commands to configure Git to identify yourself correctly with the SWG:ANH Git Repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git config --global user.name &amp;quot;yournick&amp;quot;&lt;br /&gt;
 git config --global user.email &amp;quot;yournick@swganh.org&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your configuration set you’re now ready to check out the MMOServer project with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserver.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first time that you check out a project from the SWG:ANH Git Repository you receive a message asking you if you wish to continue connecting, simply enter yes to continue. You will also be asked to enter the passphrase that you selected when setting up your SSH key at this point, enter it to continue checking out the source. The initial clone will take a minute or two to complete, albeit much faster than the SVN checkouts use to take!&lt;br /&gt;
&lt;br /&gt;
Now that the project is cloned new developers and testers will want to switch over to the develop branch where the latest changes are being made. This is done via a checkout command like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git checkout develop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the MMOServer project has been cloned and the develop branch checked out it’s time to do the same for the MMOServerDB project. Enter the following command for that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserverdb.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the MMOServerDB project has been cloned you’re now ready to start working on the project! For those who are coming over from SVN and are not comfortable working with the command line on a regular basis read on to the next chapter on setting up TortoiseGit, the TortoiseSVN alternative for Git projects.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
Git is a powerful tools for collaborative development, however, if you’re coming from an- other version control system such as Subversion, or are new to version control altogether, getting started with Git can be a daunting process. Thankfully there are now a number of great resources available to help you learn.&lt;br /&gt;
&lt;br /&gt;
If you’re just getting started I highly recommend bookmarking http://www.gitcasts.com/episodes[http://www.gitcasts.com/episodes] and watching through the available screencasts. These are a set of short 5-20 minute screencasts that cover the basic usages of Git and should help you quickly get up to speed on how to make use of it.&lt;br /&gt;
&lt;br /&gt;
For more a more in-depth look at Git usage there is also the ProGit book which is freely available online at http://progit.org/[http://progit.org/]. This book serves as an excellent reference point the basic’s on Git usage and also includes a number of example workflows that outline best practices for Git usage.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70835</id>
		<title>SWGANH Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70835"/>
				<updated>2010-04-06T15:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Installing the PuTTY Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git Setup Guide =&lt;br /&gt;
Git is a &amp;amp; open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - http://www.git-scm.com/&lt;br /&gt;
&lt;br /&gt;
Over the years the SWG:ANH source has evolved into a massive project both in scope and in terms of number of lines of code, which at last count numbered over 145,000 lines. Up to March 2010 the SWG:ANH project used Subversion as it’s version control system, however, with the source base being the size that it is normal day-to-day tasks such as log lookups and branching/merging were a cumbersome chore. With this in mind the decision was made to switch to an alternative version control system better suited to the task.&lt;br /&gt;
&lt;br /&gt;
Historically, support for Git on Windows was only possible using cygwin however, over the past few years support has improved greatly through projects like msysgit and TortoiseGit. The following guide will walk you through installing Git and configuring for use with SWG:ANH projects.&lt;br /&gt;
&lt;br /&gt;
== Installing the PuTTY Suite ==&lt;br /&gt;
&lt;br /&gt;
PuTTY is suite of tools for SSH, the primary mode of transport for Git transactions. Download the latest version of the PuTTY Windows Installer:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe&lt;br /&gt;
&lt;br /&gt;
=== Create an SSH Key with PuTTYgen ===&lt;br /&gt;
&lt;br /&gt;
A SSH key must be created in order to connect to the SWG:ANH git repository. Do this by going to the Start Menu and under the PuTTY directory selecting the PuTTYgen application then hitting the Generate button. Copy the contents of the &amp;quot;Public key for pasting into OpenSSH authorized_keys file&amp;quot; section into a message/email to snow or apathy and then use both the Save public key and Save private key buttons to save your public key to USERDIR/.ssh/id_rsa.pub and the private key to USERDIR/.ssh/id_rsa.ppk.&lt;br /&gt;
&lt;br /&gt;
=== Loading your SSH Key with Pageant ===&lt;br /&gt;
&lt;br /&gt;
Now that your SSH key has been created go to the Start Menu and under the PuTTY directory select the Pageant application. This application runs in the background and can be accessed via right clicking the icon in the System Tray. Right click on this icon and choose to &amp;quot;'''Add Key'''.&amp;quot; Navigate to the .ssh directory inside your user account and select the key that you just converted. After you select the key you will be asked for your password one last time, enter it.&lt;br /&gt;
&lt;br /&gt;
=== Create a New Pageant Session For the SWG:ANH Repository ===&lt;br /&gt;
&lt;br /&gt;
Right click on the Pageant icon and choose New Session, this will bring up the PuTTY configuration window which should be filled out as below.&lt;br /&gt;
&lt;br /&gt;
[[Image:Putty1.PNG]]&lt;br /&gt;
&lt;br /&gt;
Here the Host Name section is filled in with the repository address and a name is given to the Session in the Saved Sessions area. Once these two fields have been set hit the Save button to save the Session and then hit Open to make a new connection to the repository. When connecting the first time a Security Alert will pop up notifying that that the host's key is not in the registry, this is expected so hit Yes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Putty2.PNG]]&lt;br /&gt;
&lt;br /&gt;
Another failure message will pop up after this, simply ignore it and close the putty session. SSH is now configured and ready for use.&lt;br /&gt;
&lt;br /&gt;
== Installing Git on Windows ==&lt;br /&gt;
To begin download the latest Git installer from the msysgit project site:&lt;br /&gt;
http://code.google.com/p/msysgit/[http://code.google.com/p/msysgit/]&lt;br /&gt;
 &lt;br /&gt;
At the time of this writing the latest version is Git-1.7.0.2-preview20100309.exe.&lt;br /&gt;
&lt;br /&gt;
Follow the guided installation and select the default options for the Destination Location, Component Selection, and Start Menu Folder pages. When you get to the '''Adjusting your PATH environment''' page select the “'''Run Git from the Windows Command Prompt'''” option as shown below and continue.&lt;br /&gt;
&lt;br /&gt;
[[Image:Git1.png]]&lt;br /&gt;
&lt;br /&gt;
On the following page select “'''Checkout Windows-style, commit Unix-style line endings'''.”&lt;br /&gt;
&lt;br /&gt;
[[Image:Git2.png]]&lt;br /&gt;
&lt;br /&gt;
Finally on the last page choose the Use (Tortoise)Plink option which should by automatically set.&lt;br /&gt;
&lt;br /&gt;
The installer will then copy all the necessary files and finish up. Now you’re ready to configure your Git environment for use with the SWG:ANH project.&lt;br /&gt;
&lt;br /&gt;
== Configure Git and Checkout SWG:ANH Projects ==&lt;br /&gt;
Now you’re ready to configure Git and checkout the MMOServer and MMOServerDB projects which are the heart of the SWG:ANH server. First open a command prompt and navigate to the directory where you want to checkout the projects into, for windows Vista/7 users you can Shift+Right Click on a directory to bring up the '''Open command window here''' option.&lt;br /&gt;
&lt;br /&gt;
Once you have the command window open at the location you want enter the following two commands to configure Git to identify yourself correctly with the SWG:ANH Git Repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git config --global user.name &amp;quot;yournick&amp;quot;&lt;br /&gt;
 git config --global user.email &amp;quot;yournick@swganh.org&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your configuration set you’re now ready to check out the MMOServer project with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserver.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first time that you check out a project from the SWG:ANH Git Repository you receive a message asking you if you wish to continue connecting, simply enter yes to continue. You will also be asked to enter the passphrase that you selected when setting up your SSH key at this point, enter it to continue checking out the source. The initial clone will take a minute or two to complete, albeit much faster than the SVN checkouts use to take!&lt;br /&gt;
&lt;br /&gt;
Once the MMOServer clone has finished it’s time to do the same for the MMOServerDB project. Enter the following command for that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserverdb.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the MMOServerDB project has been cloned you’re now ready to start working on the project! For those who are coming over from SVN and are not comfortable working with the command line on a regular basis read on to the next chapter on setting up TortoiseGit, the TortoiseSVN alternative for Git projects.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
Git is a powerful tools for collaborative development, however, if you’re coming from an- other version control system such as Subversion, or are new to version control altogether, getting started with Git can be a daunting process. Thankfully there are now a number of great resources available to help you learn.&lt;br /&gt;
&lt;br /&gt;
If you’re just getting started I highly recommend bookmarking http://www.gitcasts.com/episodes[http://www.gitcasts.com/episodes] and watching through the available screencasts. These are a set of short 5-20 minute screencasts that cover the basic usages of Git and should help you quickly get up to speed on how to make use of it.&lt;br /&gt;
&lt;br /&gt;
For more a more in-depth look at Git usage there is also the ProGit book which is freely available online at http://progit.org/[http://progit.org/]. This book serves as an excellent reference point the basic’s on Git usage and also includes a number of example workflows that outline best practices for Git usage.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:Putty2.PNG&amp;diff=70834</id>
		<title>File:Putty2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:Putty2.PNG&amp;diff=70834"/>
				<updated>2010-04-06T15:52:35Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:Putty1.PNG&amp;diff=70833</id>
		<title>File:Putty1.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:Putty1.PNG&amp;diff=70833"/>
				<updated>2010-04-06T15:52:24Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70832</id>
		<title>SWGANH Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Git&amp;diff=70832"/>
				<updated>2010-04-06T15:52:01Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git Setup Guide =&lt;br /&gt;
Git is a &amp;amp; open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - http://www.git-scm.com/&lt;br /&gt;
&lt;br /&gt;
Over the years the SWG:ANH source has evolved into a massive project both in scope and in terms of number of lines of code, which at last count numbered over 145,000 lines. Up to March 2010 the SWG:ANH project used Subversion as it’s version control system, however, with the source base being the size that it is normal day-to-day tasks such as log lookups and branching/merging were a cumbersome chore. With this in mind the decision was made to switch to an alternative version control system better suited to the task.&lt;br /&gt;
&lt;br /&gt;
Historically, support for Git on Windows was only possible using cygwin however, over the past few years support has improved greatly through projects like msysgit and TortoiseGit. The following guide will walk you through installing Git and configuring for use with SWG:ANH projects.&lt;br /&gt;
&lt;br /&gt;
== Installing the PuTTY Suite ==&lt;br /&gt;
&lt;br /&gt;
PuTTY is suite of tools for SSH, the primary mode of transport for Git transactions. Download the latest version of the PuTTY Windows Installer:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe&lt;br /&gt;
&lt;br /&gt;
=== Create an SSH Key with PuTTYgen ===&lt;br /&gt;
&lt;br /&gt;
A SSH key must be created in order to connect to the SWG:ANH git repository. Do this by going to the Start Menu and under the PuTTY directory selecting the PuTTYgen application then hitting the Generate button. Copy the contents of the &amp;quot;Public key for pasting into OpenSSH authorized_keys file&amp;quot; section into a message/email to snow or apathy and then use both the Save public key and Save private key buttons to save your public key to USERDIR/.ssh/id_rsa.pub and the private key to USERDIR/.ssh/id_rsa.ppk.&lt;br /&gt;
&lt;br /&gt;
=== Loading your SSH Key with Pageant ===&lt;br /&gt;
&lt;br /&gt;
Now that your SSH key has been created go to the Start Menu and under the PuTTY directory select the Pageant application. This application runs in the background and can be accessed via right clicking the icon in the System Tray. Right click on this icon and choose to &amp;quot;'''Add Key'''.&amp;quot; Navigate to the .ssh directory inside your user account and select the key that you just converted. After you select the key you will be asked for your password one last time, enter it.&lt;br /&gt;
&lt;br /&gt;
=== Create a New Pageant Session For the SWG:ANH Repository ===&lt;br /&gt;
&lt;br /&gt;
Right click on the Pageant icon and choose New Session, this will bring up the PuTTY configuration window which should be filled out as below.&lt;br /&gt;
&lt;br /&gt;
-- INSERT IMAGE --&lt;br /&gt;
&lt;br /&gt;
Here the Host Name section is filled in with the repository address and a name is given to the Session in the Saved Sessions area. Once these two fields have been set hit the Save button to save the Session and then hit Open to make a new connection to the repository. When connecting the first time a Security Alert will pop up notifying that that the host's key is not in the registry, this is expected so hit Yes.&lt;br /&gt;
&lt;br /&gt;
-- INSERT IMAGE --&lt;br /&gt;
&lt;br /&gt;
Another failure message will pop up after this, simply ignore it and close the putty session. SSH is now configured and ready for use.&lt;br /&gt;
&lt;br /&gt;
== Installing Git on Windows ==&lt;br /&gt;
To begin download the latest Git installer from the msysgit project site:&lt;br /&gt;
http://code.google.com/p/msysgit/[http://code.google.com/p/msysgit/]&lt;br /&gt;
 &lt;br /&gt;
At the time of this writing the latest version is Git-1.7.0.2-preview20100309.exe.&lt;br /&gt;
&lt;br /&gt;
Follow the guided installation and select the default options for the Destination Location, Component Selection, and Start Menu Folder pages. When you get to the '''Adjusting your PATH environment''' page select the “'''Run Git from the Windows Command Prompt'''” option as shown below and continue.&lt;br /&gt;
&lt;br /&gt;
[[Image:Git1.png]]&lt;br /&gt;
&lt;br /&gt;
On the following page select “'''Checkout Windows-style, commit Unix-style line endings'''.”&lt;br /&gt;
&lt;br /&gt;
[[Image:Git2.png]]&lt;br /&gt;
&lt;br /&gt;
Finally on the last page choose the Use (Tortoise)Plink option which should by automatically set.&lt;br /&gt;
&lt;br /&gt;
The installer will then copy all the necessary files and finish up. Now you’re ready to configure your Git environment for use with the SWG:ANH project.&lt;br /&gt;
&lt;br /&gt;
== Configure Git and Checkout SWG:ANH Projects ==&lt;br /&gt;
Now you’re ready to configure Git and checkout the MMOServer and MMOServerDB projects which are the heart of the SWG:ANH server. First open a command prompt and navigate to the directory where you want to checkout the projects into, for windows Vista/7 users you can Shift+Right Click on a directory to bring up the '''Open command window here''' option.&lt;br /&gt;
&lt;br /&gt;
Once you have the command window open at the location you want enter the following two commands to configure Git to identify yourself correctly with the SWG:ANH Git Repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git config --global user.name &amp;quot;yournick&amp;quot;&lt;br /&gt;
 git config --global user.email &amp;quot;yournick@swganh.org&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your configuration set you’re now ready to check out the MMOServer project with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserver.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first time that you check out a project from the SWG:ANH Git Repository you receive a message asking you if you wish to continue connecting, simply enter yes to continue. You will also be asked to enter the passphrase that you selected when setting up your SSH key at this point, enter it to continue checking out the source. The initial clone will take a minute or two to complete, albeit much faster than the SVN checkouts use to take!&lt;br /&gt;
&lt;br /&gt;
Once the MMOServer clone has finished it’s time to do the same for the MMOServerDB project. Enter the following command for that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone swganh@git.swganh.org:mmoserverdb.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the MMOServerDB project has been cloned you’re now ready to start working on the project! For those who are coming over from SVN and are not comfortable working with the command line on a regular basis read on to the next chapter on setting up TortoiseGit, the TortoiseSVN alternative for Git projects.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
Git is a powerful tools for collaborative development, however, if you’re coming from an- other version control system such as Subversion, or are new to version control altogether, getting started with Git can be a daunting process. Thankfully there are now a number of great resources available to help you learn.&lt;br /&gt;
&lt;br /&gt;
If you’re just getting started I highly recommend bookmarking http://www.gitcasts.com/episodes[http://www.gitcasts.com/episodes] and watching through the available screencasts. These are a set of short 5-20 minute screencasts that cover the basic usages of Git and should help you quickly get up to speed on how to make use of it.&lt;br /&gt;
&lt;br /&gt;
For more a more in-depth look at Git usage there is also the ProGit book which is freely available online at http://progit.org/[http://progit.org/]. This book serves as an excellent reference point the basic’s on Git usage and also includes a number of example workflows that outline best practices for Git usage.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70831</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70831"/>
				<updated>2010-04-06T15:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Peer Reviewing a Bug Fix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview1.png]]&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessReview2.png]]&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:DevProcessReview2.png&amp;diff=70830</id>
		<title>File:DevProcessReview2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:DevProcessReview2.png&amp;diff=70830"/>
				<updated>2010-04-06T15:06:44Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:DevProcessReview1.png&amp;diff=70829</id>
		<title>File:DevProcessReview1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:DevProcessReview1.png&amp;diff=70829"/>
				<updated>2010-04-06T15:06:27Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70828</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70828"/>
				<updated>2010-04-06T15:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a Bug From Mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Peer Reviewing a Bug Fix ==&lt;br /&gt;
&lt;br /&gt;
Core developers are responsible for spending a portion of their time reviewing others code and making themselves available for peer review, this helps to improve the overall quality of code going into the project by forcing developers to think critically about their own work as well as that of others. In this example a bug that was fixed in the previous use case has been updated on the mantis tracker that it's ready for review. To begin reviewing a branch of code perform a pull to make sure you have the latest changes by going to '''Remote -&amp;gt; Fetch From -&amp;gt; origin'''. Then create a local tracking branch to review the change by going to Branch -&amp;gt; Create..., the image below shows the options necessary to checkout the fix for issue 0000001.&lt;br /&gt;
&lt;br /&gt;
-- IMAGE PLACEHOLDER --&lt;br /&gt;
&lt;br /&gt;
Once on the correct branch it's time to review the changes. Git GUI makes this a snap with the '''Repository -&amp;gt; Visualize issue0000001's History''' command which brings up the window shown below.&lt;br /&gt;
&lt;br /&gt;
-- IMAGE PLACEHOLDER&lt;br /&gt;
&lt;br /&gt;
The window above provides all the tools necessary to view every change made in the entire history of this line of development! In this example though, only the most recent change is being reviewed and it is selected by default. The bottom left of this screen shows the diff of the changes, a visual depiction of all the changes made in a commit. Each change listed in a diff starts with a tag wrapped in @@ that lists the lines affected by a particular change in the content of a file. Beside each of the lines is either a space, a minus sign or a plus sign. A space beside a line indicates no change while a minus sign indicates a line that has been deleted or modified. Note that lines with a minus sign show the state of the line before a change was made. Plus signs indicate added lines or the new content of changed lines.&lt;br /&gt;
&lt;br /&gt;
In the above diff we note a slight error in the last commit that the original developer overlooked, the log statement has used a %d placeholder used for printing out numbers while a string was passed as an argument. This highlights the point of performing peer reviews, to help in catching mistakes before they ever make it to the main testing branch. Now the reviewer can point out this issue to the original developer who can then implement the necessary fix. Once that's done the issue can be considered to have passed review and the mantis ticket can be updated to state that the fix is ready to be merged into the main testing branch.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70827</id>
		<title>SWGANH Development Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=SWGANH_Development_Process&amp;diff=70827"/>
				<updated>2010-04-06T14:35:47Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: /* Use Case: Fixing a bug from mantis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview of the Git Developer Workflows =&lt;br /&gt;
&lt;br /&gt;
Part way into the preparation of this documentation the writer stumbled upon an article just written that precisely describes the workflows that SWG:ANH are embracing. Please read the below article before returning to this documentation. &lt;br /&gt;
&lt;br /&gt;
http://nvie.com/git-model&lt;br /&gt;
&lt;br /&gt;
Many terms found in the article are used in the below documentation such as develop, feature and hotfix branches. Please refer back to the above if further clarification on such terms is needed. Below is the overview image from the above article kept here for easy reference while reading the rest of this document.&lt;br /&gt;
[[Image:GitWorkflow.png]]&lt;br /&gt;
&lt;br /&gt;
= Different Branches of the Development and Release Cycle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With a project as large as SWG:ANH, both in terms of developers and in lines of code, it's important to keep a tight reign on the quality of code that makes it to end users. With that in mind the decision was made to adopt a tiered approach to the development/release cycle. This ensures that the master branch is always stable and also gives developers freedom to explore new concepts and ideas without worrying about interrupting the work of others. Finally, it promotes better quality code due to the increased awareness of what other developers are doing and the pooling of the combined knowledge of the development team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Milestones and Releases ==&lt;br /&gt;
&lt;br /&gt;
In order for a development project to move forward it has to have something to move forward to, some goal that is the driving force for the developer efforts. The overall goal here at SWG:ANH is to reproduce a functional Star Wars Galaxies PreCU server, this is referred to as the Project Goal. This is quite a large goal though, certainly not one anybody could sit down on a sunday afternoon and hope to complete. Without some way to measure progress developers quickly become disinterested causing the project to stagnate, this is not a good thing.&lt;br /&gt;
&lt;br /&gt;
Dealing with the scope of the Project Goal involves breaking it down into a series of smaller goals, called Milestones. These Milestones serve as a stepping stones from where the project is currently to achieving the Project Goal. They consist of planned feature implementations and fixing known bugs. Once the goals for a particular milestone have been met a Release is made. Each release is tagged with a release number in the form of:&lt;br /&gt;
&lt;br /&gt;
MAJOR RELEASE.MINOR RELEASE.PATCH RELEASE.BUILD NUMBER&lt;br /&gt;
&lt;br /&gt;
What does this number mean though?&lt;br /&gt;
&lt;br /&gt;
==== MAJOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
This part of the build number only increases when the Project Goal is met. Our first Major Release will be the 1.0.0 release.&lt;br /&gt;
&lt;br /&gt;
==== MINOR RELEASE ====&lt;br /&gt;
&lt;br /&gt;
Every time a milestone is met the minor release number is increased. At the time of this writing the next minor release will be the 0.2.0 release.&lt;br /&gt;
&lt;br /&gt;
==== PATCH RELEASE ====&lt;br /&gt;
&lt;br /&gt;
In between milestones it's likely that there will be bugs found with the previous milestone. Each time a bug is identified, fixed and accepted into a release a Patch Release is created and this number incremented.&lt;br /&gt;
&lt;br /&gt;
==== BUILD NUMBER ====&lt;br /&gt;
&lt;br /&gt;
This number is tracked by our internal build server and is incremented each time the code is checked out and built. This number is used internally by QA to keep track of what features and fixes they should be testing at any given time, much like what SVN revision numbers were previously used for.&lt;br /&gt;
&lt;br /&gt;
== Tiers of Development ==&lt;br /&gt;
&lt;br /&gt;
=== Feature Branches ===&lt;br /&gt;
&lt;br /&gt;
All development for the project takes place in feature branches, whether it's a new feature or a bug fix. With Git, creating a branch is a simple and lightweight task and switching between various branches is even easier. For an example of the normal developer workflow see the &amp;quot;Use Case: Fixing a bug from manitis&amp;quot; section later in this guide.&lt;br /&gt;
&lt;br /&gt;
Once work has been completed on a feature or a bug has been fixed the changes must be reviewed by at least one other developer on the team. This helps catch mistakes or issues that might not have been apparent to the original developer or perhaps a fresh set of eyes can point out a better path to take. Performing peer reviews also helps everyone to think about problems in new ways and to explore new ideas or solutions they might not have come up with on their own. &lt;br /&gt;
&lt;br /&gt;
After passing peer review the changes are merged into the develop branch where they can be tested by QA.&lt;br /&gt;
&lt;br /&gt;
=== Release Branches ===&lt;br /&gt;
&lt;br /&gt;
Every release is the culmination of all the goals that make up a particular milestone. When QA has signed off on all the added features and bug fixes planned for a milestone a release number is picked and a new release branch is created off of the develop branch, this marks the beginning of the release cycle. Each release cycle begins with a four week beta phase, a period of testing of the planned features and fixes of a milestone. At the end of the beta phase (or as soon as all bugs from testing are resolved) the release enters the RC phase. Provided no critical bugs are found at this point for a 2 week period the code is determined ready for release. If any critical bugs are found a new RC is marked and the 2 week incubation period restarts.&lt;br /&gt;
&lt;br /&gt;
=== Stable (master) Branch ===&lt;br /&gt;
&lt;br /&gt;
On git the default branch is called the &amp;quot;master&amp;quot; branch. At SWG:ANH this is concidered the Stable branch and it is always the same as the current point-release of the project (@note at the time of this writing we haven't had our first release yet).&lt;br /&gt;
&lt;br /&gt;
After a release branch has passed through it's RC phase of testing it is the Release Manager's duty to merge the release branch into the stable branch and publish all release materials (for example, creating the latest source tarball or windows installer and uploading them to the release site). Once this is done a new release branch is created for development on the next milestone.&lt;br /&gt;
&lt;br /&gt;
This means that only code that has been peer reviewed and signed off by QA ever makes it into the stable master branch, which is important considering this is the branch that will be used by most end users to keep their server's up-to-date with the latest releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case: Fixing a bug from mantis ==&lt;br /&gt;
&lt;br /&gt;
Now that a bit of the basics have been covered lets look at a real world example of how this developer workflow works. To do that we'll take a look at one of the more common tasks around here, fixing a bug listed in mantis.&lt;br /&gt;
&lt;br /&gt;
The first thing we'll want to do when beginning to tackle any new problem is to create a new branch. With Git GUI this is easily done by going to Branch -&amp;gt; Create and setting it up as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Note: All features and bugs must be registered with mantis, the ID number that mantis generates for this is the issue id. This id will then be used in naming your branch in the following manner: issueMANTIS_ID (eg., issue0000001)'''&lt;br /&gt;
&lt;br /&gt;
This puts the current working directory in the new branch ready for the necessary changes to address the bug at hand. The image below shows the state of Git GUI after making the branch, note that just under the menu the current branch is listed and the status bar at the bottom displays the output of the most recent action.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix2.png]]&lt;br /&gt;
&lt;br /&gt;
In this example an issue is fixed with the PingServer project where an error was being logged directly to standard output rather than through the log library. It is a simple fix enough and after making the changes it's time to bring up Git GUI again to save them and share them with the rest of the team. If the Git GUI window hasn't been closed the Rescan button will display the latest state of the git environment as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix3.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows the file that was modified in the Unstaged Changes section, an unstaged change means that git is aware that a change (or changes) has been made within the repository. The right hand side shows the &amp;quot;diff&amp;quot; of the changes to the selected file, for more information on reading a diff see the Use Case for performing a Peer Review.&lt;br /&gt;
&lt;br /&gt;
In order for a change to be committed it needs to be added to the &amp;quot;staging area&amp;quot;, a collection of changes to be included in a commit. This concept may be a bit strange at first, especially for anyone coming over from other version control systems such as SVN but fear not, in time the staging area becomes a handy tool for managing which files do and do not make it into a commit.&lt;br /&gt;
&lt;br /&gt;
To stage a file use the Commit -&amp;gt; Stage to Commit command or it's shortcut Ctrl-T, however, the most common action is to stage all changed files, this can be done using the Stage Changed button on the main Git GUI screen. Once the changes have been staged an appropriate comment should be set and the Commit button hit.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix4.png]] &lt;br /&gt;
&lt;br /&gt;
NOTE: If the change that's being committed is to fix a mistake in the previous commit tick the &amp;quot;Amend Last Commit&amp;quot; and leave the message at the default, this will squash the two commits into one and &amp;quot;hide&amp;quot; the mistake!&lt;br /&gt;
&lt;br /&gt;
Once committed the main window will show an updated status that lists the commit hash and log message.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix5.png]]&lt;br /&gt;
&lt;br /&gt;
Now that the fix is complete it's ready to be reviewed by another member of the team before being included in the latest development line. To do that hit the Push button on the main screen to bring up the Push dialog and fill it out as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:DevProcessBugfix6.png]]&lt;br /&gt;
&lt;br /&gt;
By default the current branch should be selected, if not select the current branch and make sure the Remote Destination Repository is set to '''origin''' and that all options in the Transfer Options are unchecked, then hit the Push button. That's it, now the fix is ready for review! Update the related mantis ticket and head to the IRC channel to find a core developer to assist with the Peer Review.&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:DevProcessBugfix6.png&amp;diff=70826</id>
		<title>File:DevProcessBugfix6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:DevProcessBugfix6.png&amp;diff=70826"/>
				<updated>2010-04-06T14:34:24Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	<entry>
		<id>https://wiki.swganh.org/index.php?title=File:DevProcessBugfix5.png&amp;diff=70825</id>
		<title>File:DevProcessBugfix5.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.swganh.org/index.php?title=File:DevProcessBugfix5.png&amp;diff=70825"/>
				<updated>2010-04-06T14:33:53Z</updated>
		
		<summary type="html">&lt;p&gt;Apathy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apathy</name></author>	</entry>

	</feed>