Protocol:Packet Header: Difference between revisions
Appearance
Add page showing all packet header types |
m BlueCrab moved page Packet Header to Protocol:Packet Header |
||
(3 intermediate revisions by the same user not shown) | |||
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 | 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== | ==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== | ||
Line 33: | Line 33: | ||
| 0x02-0x03 || Packet Type (Little-Endian) | | 0x02-0x03 || Packet Type (Little-Endian) | ||
|- | |- | ||
| 0x04-0x07 || Flags | | 0x04-0x07 || Flags (Little-Endian) | ||
|} | |} | ||
[[Category:PSO Server Protocol]] | [[Category:PSO Server Protocol]] |
Latest revision as of 05:09, 13 December 2021
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
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) |