P2P 0x00 PKT_STORM

Transport Layer:User Datagram Protocol (UDP)
Application Layer:Battle.net v1 UDP Messages (PKT)
Message Id:0x00
Message Name:PKT_STORM
Direction:Peer to Peer
Options: In Research
Used By:Starcraft Original, Starcraft Broodwar
Starcraft Shareware, Starcraft Japanese
Diablo Retail, Diablo Shareware
Warcraft II BNE
Message Format:
(does not include protocol header)
(UINT16) Checksum
(UINT16) Length
(UINT16) Seq1
(UINT16) Seq2
(UINT8) CLS
(UINT8) Command
(UINT8) PlayerID
(UINT8) Resend
(VOID) Payload

Remarks

Checksum:

Calculated from all of the data in this packet starting at Length. See here for the function, and more details on this protocol.

Length:

Includes everything you see here (EX: 12 + length of Payload).

Seq1:

Number of packets sent.

Seq2:

Number of packets received.

CLS:

Can be 0, 1, or 2.

CLS Description
0x00 Internal packets: Handled by network provider and sent to the game as high level events. Command is used by network provider.
0x01 Asynchronous packets: Payload sent to StarCraft, Diablo, or WarCraft II game. Can be sent any time. Command is 0.
0x02 Synchronous packets: Payload sent to StarCraft, Diablo, or WarCraft II game. Can be buffered but must be sent once per game turn. Command is 0.

Command:

The packet ID of CLS 0 packets. 0 for other packets.

PlayerID:

The player ID. If unknown (first few packets from client) set to 0xFF. Otherwise 0xFF means "everyone".

Resend:

Resend Description
0x00 Normal: Handle this normally.
0x01 Verify: Used to verify Seq1 and Seq2.
0x02 Resend: Resend request.
0x03 Callback: Resend response.

Packet name was invented.

See Storm Messages for CLS 0 packets.

See SCGP Messages for CLS 1 and 2 packets for StarCraft, BW, JP, and SHR.

See W2GP Messages for CLS 1 and 2 packets for WarCraft II BNE.

See D1GP Messages for CLS 1 and 2 packets for Diablo and SHR.

| Edited: Ribose

Comments

no one has commented yet.