Protocol:Packet 0x60
Clients send Packet 0x60 to the server to forward a "game command" to all clients in the lobby. This is used for various things in game, including telling clients what items are dropped when a box is opened (clients "ask" the party leader what should be dropped with a form of Packet 0x62 and the party leader replies with a Subcommand 0x5F).
PSO v3 (GameCube, Xbox, Blue Burst) sometimes uses packet 0x6C, which has exactly the same format and function as 0x60.
PSO Episode 3 sometimes uses packets 0xC9 and 0xCB in games, which also behave exactly like 0x60. Sending an 0xC9 or 0xCB to a non-Episode 3 client would cause that client to disconnect.
Main Packet Format
Dreamcast
Bytes | Meaning |
---|---|
0x00 | Packet Type (0x60 or 0x6C) |
0x01 | Flags |
0x02-0x03 | Packet Size (Variable) |
0x04 | Subcommand Type |
0x05 | Subcommand Size (in 32-bit increments) |
0x06-0x07 | Unused? |
0x08... | Subcommand Data |
Subcommands
Various subcommands are sent with this packet, and this is not necessarily meant to be an exhaustive list of them (although, I'd love it if it were eventually).
Subcommand 0x2C
Subcommand 0x2C is used to tell other clients that someone is talking to an NPC.
Bytes | Meaning |
---|---|
0x00-0x01 | ??? (Always seems to be 0xFFFF) |
0x02-0x03 | ??? (Always seems to be 0) |
0x04-0x07 | Location ? (Matches up with stuff from packets nearby) |
0x08-0x0B | Location ? (Once again, matches up nicely) |
0x0C-0x0F | Padding? (Always seems to be 0) |
Subcommand 0x2D
Subcommand 0x2D is used to tell other clients that someone has finished talking to an NPC. It contains no data of its own, beyond the normal header.
Subcommand 0x52
Subcommand 0x52 is used to tell other clients that someone is talking to a person at a desk of some sort or has just finished talking to the desk.
Bytes | Meaning |
---|---|
0x00-0x03 | ??? (Always seems to be 0x000000A0) |
0x04-0x07 | Location? (Matches fairly well with bytes from packets nearby) |
Subcommand 0x5F
Subcommand 0x5F is used to tell clients what item dropped from an opened box.
Bytes | Meaning |
---|---|
0x00 | Area of the Drop |
0x01 | What kind of thing are we asking about? |
0x02-0x03 | Request ID (might only be one byte) |
0x04-0x07 | X Coordinate |
0x08-0x0B | Y Coordinate |
0x0C-0x0F | Unknown (0x00000010 works) |
0x10-0x1B | Item Code (first 3 32-bit values) |
0x1C-0x1F | Unknown -- (request_id | 0x06010100) seems to work |
0x20-0x23 | Item Code (last 32-bit value) |
0x24-0x27 | Unknown (0x00000002) |