Protocol:Packet 0x62

From Sylverant
Jump to navigationJump to search

Clients send Packet 0x62 to the server to forward a "game command" to another client. This is used for various things in game, including requesting drops (clients "ask" the party leader what should be dropped).

PSO v3 (GameCube, Xbox, Blue Burst) sometimes uses packet 0x6D, which has exactly the same format and function as 0x62.

Main Packet Format

Dreamcast

Bytes Meaning
0x00 Packet Type (0x62 or 0x6D)
0x01 Flags (destination client ID)
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 0x06

Subcommand 0x06 is used to send a client's Guild Card to another client.

Dreamcast

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x1F Player Name
0x20-0x77 Guildcard Text
0x78 Unused
0x79 Always 1
0x7A Language Code
0x7B Section ID
0x7C Character Class
0x7D-0x7F Padding (all zeroes)

PC

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x37 Player Name (UTF-16LE)
0x38-0xE7 Guildcard Text (UTF-16LE)
0xE8-0xEB Unused
0xEC Always 1
0xED Language Code
0xEE Section ID
0xEF Character Class

Gamecube

Bytes Meaning
0x00-0x03 Player Tag (0x00010000)
0x04-0x07 Guildcard Number
0x08-0x1F Player Name
0x20-0x87 Guildcard Text
0x88-0x8B Unused
0x8C Always 1
0x8D Language Code
0x8E Section ID
0x8F Character Class

Subcommand 0x5A

Subcommand 0x5A (size 0x03) is sent to the leader to request to pick up a dropped item.

Bytes Meaning
0x00-0x03 Item ID we're requesting to pick up
0x04 Area of the drop
0x05-0x07 Always 0?

Subcommand 0x60

Subcommand 0x60 is used to request a item drop from the party leader. It is used when a box is opened (I haven't looked at what is sent when an enemy is killed yet, sorry).

Dreamcast

Bytes Meaning
0x00 Map Area
0x01 ??? (seems to always be 0x02 for boxes)
0x02-0x03 Request ID (might only be one byte, not sure)
0x04-0x07 Map X Position
0x08-0x0B Map Y Position
0x0C-0x13 ???

Subcommand 0x94

Subcommand 0x94 (size 0x02) can be sent to v2 and later clients to cause them to warp to the specified area. PSOv1 clients ignore this subcommand entirely.

Bytes Meaning
0x00 Map Area to warp to
0x01-0x03 Padding