P2P 0x4F SCGP_MAP
Transport Layer:
User Datagram Protocol (UDP)
Application Layer:
Starcraft In-Game Messages (SCGP)
Message Id:
0x4F
Message Name:
SCGP_MAP
Direction:
Peer to Peer
Used By:
Starcraft OriginalStarcraft BroodwarStarcraft SharewareStarcraft Japanese
Message Format:
(does not include protocol header)
(does not include protocol header)
(UINT8) ID (always 0x4F)
(UINT16) Payload Length (excluding this field)
(UINT16) Event
Event 0x00 [Client → Host]:
(UINT16) 0x0100
(UINT32) File Position
Event 0x01 [Host → Client]:
(UINT32) File Length
(UINT32) File Checksum
(STRING) File Name
Event 0x02 [Host → Client]:
(UINT8) Player ID
(UINT32) File Position
Event 0x03 [Host → Client]:
[no additional data]
Event 0x04 [Client → Client]:
(UINT8) 0x00
(UINT32) File Position
(UINT16) Data Block Length
(VOID) File Data Block
Event 0x05 [Client → Client]:
(UINT8) 0x00
(UINT32) File Position
Remarks
Used to manage map downloads during game setup. This is classified as Packet CLS 1.
Key Behavior
- Players do not always download the map from the host. The host can request that other players (who already have the map) send it instead.
- Data is typically sent in 128-byte blocks, though 256-byte blocks generally work without issue.
Event Breakdown
Event 0x00 [Client → Host]:
- Informs the host whether the client has the map.
- The File Position indicates where to start sending from. If the player already has the map, this should match the total file length.
Event 0x01 [Host → Client]:
- Asks a player if they have the specified map.
- The player should respond with Event 0x00.
Event 0x02 [Host → Client]:
- Tells the receiving player to send the map to another player.
Event 0x03 [Host → Client]:
- Unclear purpose. Observed when a player sending a map to another player finishes sending the map, and when the game is starting.
Event 0x04 [Client → Client]:
- Used to send a map block to another player.
- The receiver must verify the block by replying with Event 0x05.
- Any breaks in the UDP stream should be managed with standard resend requests.
Event 0x05 [Client → Client]:
- Acknowledges receipt of the map block and confirms the current position.
- Sent in response to Event 0x04.
🔖starcraftstarcraft-broodwarstarcraft-japan
| Edited:
Anonymous
Comments
no one has commented yet.