Message Id:0x25
Message Name:SID_PING
Direction:Server to Client
Used By:Diablo II, Diablo II Lord of Destruction
Diablo Retail, Diablo Shareware
Starcraft Japanese, Starcraft Broodwar
Starcraft Shareware, Starcraft Original
Warcraft II BNE, Warcraft III The Frozen Throne
Warcraft III Reign of Chaos

(UINT32) Ping Value


Used to calculate Client's ping. The received UINT32 should be sent directly back to

The ping displayed when in chat can be artificially inflated by delaying before sending this packet, or deflated by responding before requested. Ping can be set to -1 (Strictly speaking, 0xFFFFFFFF, since ping is unsigned) by not responding to this packet at all.

The received UINT32 is not what determines your ping, but it is actually a cookie for the server. You should never change the UINT32.


On Starcraft Broodwar, I theorize that this is sent by the server if you never send any data back to when expects you to. How I theorize this? I debugged Starcraft, and made it 'Pause'. I resumed it and had sent SID_PING multiple times. It never sent SID_PING ever again until I paused for about 10-20 seconds then resumed.

If you do not send any data back to after a certain period of time, but knows you WERE sending data, will send this packet to you.