Difference between revisions of "Protocol:Packet Header"

From Sylverant
Jump to navigationJump to search
m
(Note about JPv1 and its strange buggy packets.)
Line 1: Line 1:
Different versions of PSO use slightly different formats for the headers on all packets sent to and from the server. PSO versions up to, and including, PSOGC use a 4-byte header, while PSO Blue Burst uses an 8-byte header. All packets must be some multiple of their header in size.
+
Different versions of PSO use slightly different formats for the headers on all packets sent to and from the server. PSO versions up to, and including, PSOGC use a 4-byte header, while PSO Blue Burst uses an 8-byte header. All packets should generally be some multiple of their header in size (since that's how the encryption is dealt with).
 +
 
 +
Note that some versions (namely, Japanese Dreamcast v1) of the game do silly things and send packets that aren't multiples of the header size on some occasions.
  
 
==Dreamcast/Gamecube Header Format==
 
==Dreamcast/Gamecube Header Format==
Line 11: Line 13:
 
| 0x02-0x03 || Packet Size (Little-Endian)
 
| 0x02-0x03 || Packet Size (Little-Endian)
 
|}
 
|}
 
  
 
==PC Header Format==
 
==PC Header Format==
Line 23: Line 24:
 
| 0x03 || Flags
 
| 0x03 || Flags
 
|}
 
|}
 
  
 
==Blue Burst Header Format==
 
==Blue Burst Header Format==

Revision as of 06:45, 27 January 2012

Different versions of PSO use slightly different formats for the headers on all packets sent to and from the server. PSO versions up to, and including, PSOGC use a 4-byte header, while PSO Blue Burst uses an 8-byte header. All packets should generally be some multiple of their header in size (since that's how the encryption is dealt with).

Note that some versions (namely, Japanese Dreamcast v1) of the game do silly things and send packets that aren't multiples of the header size on some occasions.

Dreamcast/Gamecube Header Format

Bytes Meaning
0x00 Packet Type
0x01 Flags
0x02-0x03 Packet Size (Little-Endian)

PC Header Format

Bytes Meaning
0x00-0x01 Packet Size (Little-Endian)
0x02 Packet Type
0x03 Flags

Blue Burst Header Format

Bytes Meaning
0x00-0x01 Packet Size (Little-Endian)
0x02-0x03 Packet Type (Little-Endian)
0x04-0x07 Flags (Little-Endian)