Packet Headers

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 and the Dreamcast Network Trial Edition) of the game do silly things and send packets that aren't multiples of the header size on some occasions. The server is essentially expected to pad the packets in that case.

Dreamcast/Gamecube Header Format

BytesMeaning
0x00Packet Type
0x01Flags
0x02-0x03Packet Size (Little-Endian)

PC Header Format

BytesMeaning
0x00-0x01Packet Size (Little-Endian)
0x02Packet Type
0x03Flags

Blue Burst Header Format

BytesMeaning
0x00-0x01Packet Size (Little-Endian)
0x02-0x03Packet Type (Little-Endian)
0x04-0x07Flags (Little-Endian)