SCGameStatus

GameSpy SDK

SCGameStatus

The Game Status Indicates how the session ended and is declared when ending a report.

typedef enum 
{
SCGameStatus_COMPLETE,    
SCGameStatus_PARTIAL,    
SCGameStatus_BROKEN,    
SCGameStatusMax    
} SCGameStatus;

Constants

SCGameStatus_COMPLETE
The game session came to the expected end without interruption (disconnects, desyncs). This status indicates that game results are available for all players.
SCGameStatus_PARTIAL
Although the game session came to the expected end, one or more players unexpectedly quit or were disconnected. Game results should explicitly report which players were disconnected to be used during normalization for possible penalty metrics.
SCGameStatus_BROKEN
The game session did not reach the expected end point and is incomplete. This should be reported when there has been an event detected that makes the end result indeterminate.
SCGameStatusMax
Total number of game status codes.

Remarks

For SCGameStatus reporting, the game should do the following. As long as the game finished properly, and no one disconnected during the course of play, then all players in the match should submit SCGameStatus_COMPLETE reports. If any members disconnected during play, but the game was finished completely, then all players in the match should submit SCGameStatus_PARTIAL reports indicating that disconnects occured. For any players who do not complete the match, a SCGameStatus_BROKEN report should be submitted. Thus if the game did not completely finish, all players will submit broken reports. The only case that will trigger an invalid report is if reports for the same game describe status as both SCGameStatus_COMPLETE and SCGameStatus_PARTIAL. Since COMPLETE indicates that all players finished the game w/o a disconnect and PARTIAL indicates that disconnects occured, at no time should a game report both complete and partial - this will be seen as an exploit and invalidate the report.

Section Reference: Gamespy Competition SDK