Fournit le noyau de l'API des serveurs de jeu Steam.
Fonctions membres
Les fonctions membres de
ISteamGameServer
sont appelées par le biais de la fonction d'accesseur global
SteamGameServer()
.
AssociateWithClan
SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID du groupe auquel vous souhaitez être associé(e). |
Associe ce serveur de jeu à ce clan à des fins de calcul de compatibilité entre joueurs et joueuses.
Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel
AssociateWithClanResult_t.
BeginAuthSession
EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
Nom | Type | Description |
pAuthTicket | const void * | Ticket d'authentification à valider. |
cbAuthTicket | int | Taille en octets du ticket d'authentification. Doit être la taille pcbTicket fournie par l'appel qui a créé ce ticket. |
steamID | CSteamID | SteamID de l'entité qui a envoyé le ticket. |
Authentifiez le ticket du SteamID de l'entité pour s'assurer de sa validité et garantir qu'il n'est pas réutilisé. Veuillez noter que cette identité n'est confirmée que lorsque le rappel
ValidateAuthTicketResponse_t est bien reçu et la valeur renvoyée est vérifiée comme une réussite.
Le ticket est créé pour l'entité avec
ISteamUser::GetAuthSessionTicket ou
ISteamGameServer::GetAuthSessionTicket. Puis, il doit être communiqué sur le réseau pour validation par l'autre partie.
Ceci est enregistré pour les rappels
ValidateAuthTicketResponse_t si l'entité passe hors ligne ou annule le ticket. Voir
EAuthSessionResponse pour plus d'informations.
Lorsque la session multijoueur prend fin, vous devez appeler
ISteamGameServer::EndAuthSession.
Éléments renvoyés : EBeginAuthSessionResultConsultez également : Authentification des comptes et vérification de la possession d'une applicationBLoggedOn
bool BLoggedOn();
Contrôle si le serveur de jeu est connecté.
Éléments renvoyés : bool
true si le serveur de jeu est connecté. Sinon, renvoie
false.
BSecure
bool BSecure();
Contrôle si le serveur de jeu est en mode « Sécurisé ».
Éléments renvoyés : bool
true si le serveur de jeu est sécurisé. Sinon, renvoie
false.
Consultez également : EServerMode,
GSPolicyResponse_tBUpdateUserData
bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte. |
pchPlayerName | const char * | Nom du compte. |
uScore | uint32 | Score actuel du compte. |
Met à jour les données à afficher dans le navigateur du serveur et les interfaces de matchmaking pour un compte actuellement connecté au serveur.
REMARQUE : fait partie de l'ancien API d'authentification utilisateur et ne doit pas être associée au nouvel API.
Éléments renvoyés : bool
true si l'appel a réussi. Sinon, en cas d'échec, renvoie
false (en d'autres termes,
steamIDUser
n'est pas quelqu'un qui se trouve dans le serveur actuel).
Consultez également : Authentification des comptes et vérification de la possession d'une applicationCancelAuthTicket
void CancelAuthTicket( HAuthTicket hAuthTicket );
Nom | Type | Description |
hAuthTicket | HAuthTicket | Ticket d'authentification actif à annuler. |
Annule un ticket d'authentification reçu via
ISteamUser::GetAuthSessionTicket. Cet appel doit être effectué lorsque vous ne jouez plus avec l'entité spécifiée.
Consultez également : Authentification des comptes et vérification de la possession d'une applicationClearAllKeyValues
void ClearAllKeyValues();
Supprime la liste entière des clés/valeurs qui sont envoyées dans les requêtes de règles.
Consultez également : ISteamGameServer::SetKeyValue,
ISteamMatchmakingServers::ServerRulesComputeNewPlayerCompatibility
SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
Nom | Type | Description |
steamIDNewPlayer | CSteamID | SteamID du compte qui tente de rejoindre la partie. |
Vérifie si l'une des personnes participant actuellement ne souhaite pas jouer avec la nouvelle personne qui tente de rejoindre la partie ou vice versa ; basé sur le système ami(e)s-ennemi(e)s.
Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel
ComputeNewPlayerCompatibilityResult_t.
CreateUnauthenticatedUserConnection
CSteamID CreateUnauthenticatedUserConnection();
Crée un faux utilisateur (par exemple, un bot) qui sera répertorié comme jouant sur le serveur, mais ignore la validation.
REMARQUE : fait partie de l'ancien API d'authentification utilisateur et ne doit pas être associée au nouvel API.
Éléments renvoyés : CSteamIDRenvoie le SteamID du bot pour le suivre.
Vous devez appeler
ISteamGameServer::SendUserDisconnect quand ce compte quitte le serveur, comme vous le feriez pour un véritable compte.
EnableHeartbeats
void EnableHeartbeats( bool bActive );
Nom | Type | Description |
bActive | bool | Activer (true) ou désactiver (false) l'outil de mise à jour de serveur maitre. |
Communique aux serveurs maitres Steam si vous voulez que votre statut soit indiqué comme actif ou pas.
Si ce paramètre est activé, le serveur communiquera avec les serveurs maitres ; s'il est désactivé, les messages entrants sont ignorés et les pulsations ne seront pas envoyées.
Consultez également : ISteamGameServer::SetHeartbeatInterval,
ISteamGameServer::ForceHeartbeatEndAuthSession
void EndAuthSession( CSteamID steamID );
Nom | Type | Description |
steamID | CSteamID | L'entité avec laquelle mettre fin à la session d'authentification active. |
Met fin à une session d'authentification démarrée avec
ISteamGameServer::BeginAuthSession. Cet appel doit être effectué lorsque vous ne jouez plus avec l'entité spécifiée.
Consultez également : Authentification des comptes et vérification de la possession d'une applicationForceHeartbeat
void ForceHeartbeat();
Force une pulsation sur les serveurs maitres Steam à la prochaine occasion.
D'ordinaire, vous n'avez pas à utiliser cette fonction.
Consultez également : ISteamGameServer::EnableHeartbeats,
ISteamGameServer::SetHeartbeatIntervalGetAuthSessionTicket
HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
Nom | Type | Description |
pTicket | void * | Tampon où le nouveau ticket d'authentification sera copié si l'appel a abouti. |
cbMaxTicket | int | La taille du tampon alloué à pTicket . Doit être de 1024. |
pcbTicket | uint32 * | Renvoie la longueur du ticket actuel. |
Récupère un ticket d'authentification à envoyer à l'entité qui souhaite vous authentifier.
Après cet appel, vous pouvez envoyer le ticket à l'entité qui pourra ensuite appeler
ISteamUser::BeginAuthSession pour vérifier son intégrité.
Lors de la création d'un ticket à utiliser par l'API Web
ISteamUserAuth/AuthenticateUserTicket, l'application d'appel doit attendre le rappel généré par l'appel
GetAuthSessionTicketResponse_t de l'API avant toute tentative d'utilisation du ticket, pour s'assurer que le ticket a bien été communiqué au serveur. Si ce rappel n'intervient pas dans un délai opportun (10-20 secondes), cela signifie que votre client n'est pas connecté à Steam et que l'appel AuthenticateUserTicket échouera car il ne pourra pas authentifier le compte utilisateur.
Éléments renvoyés : HAuthTicketDéclenche un rappel
GetAuthSessionTicketResponse_t.
Handle du ticket d'authentification. Lorsque vous avez terminé d'interagir avec l'entité, vous devez appeler
ISteamGameServer::CancelAuthTicket sur le handle.
Renvoie
k_HAuthTicketInvalid en cas d'échec de l'appel.
Consultez également : Authentification des comptes et vérification de la possession d'une applicationGetGameplayStats
void GetGameplayStats();
Obsolète - sera supprimée dans une version future du SDK.
Éléments renvoyés : void
Déclenche un rappel
GSGameplayStats_t.
GetNextOutgoingPacket
int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
Nom | Type | Description |
pOut | void * | Renvoie le paquet qui doit être envoyé en le copiant dans ce tampon. La taille du paquet peut aller jusqu'à 16 KiB ; consacrez-lui les ressources nécessaires. |
cbMaxOut | int | La taille du tampon alloué à pOut devrait être de 16 * 1024. |
pNetAdr | uint32 * | Renvoie l'adresse IP à laquelle ce paquet doit être envoyé dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001. |
pPort | uint16 * | Renvoie le port par lequel ce paquet doit être envoyé, dans l'ordre de l'hôte. |
Obtient un paquet que l'outil de mise à jour de serveur maitre doit envoyer sur UDP, lorsque le mode GameSocketShare est actif.
REMARQUE : cet appel doit être effectué uniquement APRÈS avoir appelé
ISteamGameServer::HandleIncomingPacket pour tout paquet reçu dans cette trame !
REMARQUE : cet appel DOIT être effectué à chaque trame de façon répétée jusqu'à renvoyer 0 lorsque le mode GameSocketShare est actif.
Le mode GameSocketShare peut être activé en appelant
SteamGameServer_Init.
Éléments renvoyés : int
La longueur du paquet qui doit être envoyé, ou 0 s'il n'y a plus de paquet pour envoyer cette trame.
GetPublicIP
uint32 GetPublicIP();
Obtient l'adresse IP publique du serveur selon Steam.
Utile lorsque le serveur est derrière un NAT et que vous voulez donner son adresse IP dans une salle d'attente pour que d'autres clients puissent s'y connecter directement.
Éléments renvoyés : uint32Adresse IP publique dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001.
Renvoie
0 si l'adresse IP n'a pu être déterminée.
GetServerReputation
SteamAPICall_t GetServerReputation();
Obsolète - sera supprimée dans une version future du SDK.
Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel
GSReputation_t.
GetSteamID
CSteamID GetSteamID();
Obtient le SteamID du serveur de jeu.
Éléments renvoyés : CSteamIDHandleIncomingPacket
bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
Nom | Type | Description |
pData | const void * | Données issues du paquet entrant. |
cbData | int | Taille de pData en octets. |
srcIP | uint32 | Adresse IP à laquelle ce paquet a été envoyé dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001. |
srcPort | uint16 | Port par lequel ce paquet a été envoyé, dans l'ordre de l'hôte. |
Gère un paquet de serveur maitre Steam quand le mode GameSocketShare est actif.
En mode GameSocketShare, au lieu qu'ISteamGameServer crée son propre socket pour communiquer avec le serveur maitre, cette fonction laisse le jeu utiliser son socket pour envoyer et recevoir
les messages. Cela nous évite de demander aux services de serveurs d'ouvrir un nouveau port dans leurs pare-feux.
Cet appel doit être effectué à chaque fois qu'un paquet commençant par 0xFFFFFFFF est reçu. Cela signifie qu'il nous est destiné.
Les paramètres d'adresse IP et de port sont utilisés lorsque vous avez choisi de multiplexer le socket UDP du serveur de jeu au lieu de laisser l'outil de mise à jour de serveur maitre utiliser ses propres sockets.
Les jeux avec moteur Source utilisent cela pour simplifier la tâche des personnes qui administrent les serveurs et leur éviter d'ouvrir des ports supplémentaires sur leurs pare-feux.
Vous pourrez appeler
ISteamGameServer::GetNextOutgoingPacket seulement
APRÈS avoir effectué cet appel.
Le mode GameSocketShare peut être activé en appelant
SteamGameServer_Init.
Éléments renvoyés : bool
InitGameServer
bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
Nom | Type | Description |
unIP | uint32 | Adresse IP à laquelle vous allez vous associer. (Doit être dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001.) Vous pouvez utiliser INADDR_ANY pour vous associer à toutes les adresses IPv4 locales. |
usGamePort | uint16 | Port auquel les clients se connecteront pour lancer un jeu. |
usQueryPort | uint16 | Port qui gèrera les tâches connexes navigateur-serveur et les pings d'informations des clients. |
unFlags | uint32 | Union d'un ou plusieurs ServerFlags. |
nGameAppId | AppId_t | AppID du jeu associé à ce serveur. |
pchVersionString | const char * | La chaine de version est généralement au format x.x.x.x ; elle est utilisée par le serveur maitre pour détecter quand la version du serveur est obsolète. (Seuls les serveurs avec la dernière version seront répertoriés.) |
Initialise l'instance d'ISteamGameServer. Elle est appelée par
SteamGameServer_Init, et vous n'aurez généralement pas besoin de l'appeler directement.
Si vous passez
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE dans
usQueryPort
, cela entraine l'API du serveur de jeu à utiliser le mode "GameSocketShare", ce qui signifie que le jeu est responsable de l'envoi et de la réception des paquets UDP pour l'outil de mise à jour de serveur maitre.
Si le mode GameSocketShare est utilisé, vous devez utiliser
ISteamGameServer::HandleIncomingPacket et
ISteamGameServer::GetNextOutgoingPacket pour interagir avec le serveur maitre Steam.
Éléments renvoyés : bool
true si le serveur de jeu a pu s'associer correctement à l'adresse IP ou au port fourni. Sinon
false, indiquant un échec.
LogOff
void LogOff();
Démarre le processus de déconnexion du serveur de jeu de Steam.
Éléments renvoyés : void
Déclenche un rappel
SteamServerConnectFailure_t.
Déclenche un rappel
SteamServersConnected_t.
Déclenche un rappel
SteamServersDisconnected_t.
LogOn
void LogOn( const char *pszToken );
Nom | Type | Description |
pszToken | const char * | |
Démarre le processus de connexion à un compte de serveur de jeu persistant.
Éléments renvoyés : void
Déclenche un rappel
SteamServerConnectFailure_t.
Déclenche un rappel
SteamServersConnected_t.
Déclenche un rappel
SteamServersDisconnected_t.
Consultez également : ISteamGameServer::LogOnAnonymousLogOnAnonymous
void LogOnAnonymous();
Se connecte à un compte anonyme et générique.
Éléments renvoyés : void
Déclenche un rappel
SteamServerConnectFailure_t.
Déclenche un rappel
SteamServersConnected_t.
Déclenche un rappel
SteamServersDisconnected_t.
Consultez également : ISteamGameServer::LogOnRequestUserGroupStatus
bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
Nom | Type | Description |
steamIDUser | CSteamID | Compte pour lequel vérifier l'état du groupe. |
steamIDGroup | CSteamID | Le groupe à vérifier. |
Vérifie si un utilisateur ou une utilisatrice se trouve dans le groupe Steam spécifié.
Éléments renvoyés : bool
Déclenche un rappel
GSClientGroupStatus_t.
true si l'appel a bien été envoyé aux serveurs Steam , sinon
false si nous ne sommes pas connecté(e)s aux serveurs Steam, ou si un compte ou un groupe non valide a été fourni.
SendUserConnectAndAuthenticate
bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
Nom | Type | Description |
unIPClient | uint32 | Adresse IP du client en cours de connexion. Doit être dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001. |
pvAuthBlob | const void * | Données d'authentification fournies par le compte d'un appel à ISteamUser::InitiateGameConnection. |
cubAuthBlobSize | uint32 | Taille de pvAuthBlo en octets. |
pSteamIDUser | CSteamID * | Renvoie le SteamID d'un compte. Ne peut pas être NULL. |
Gère la réception d'une nouvelle connexion d'un compte Steam. Cette fonction demandera aux serveurs Steam de valider l'identité de la personne, la possession de l'application et l'état du VAC.
Si les serveurs Steam sont hors ligne, elle validera le ticket en cache lui-même, ce qui validera à son tour la possession de l'application et l'identité.
REMARQUE : elle fait partie de l'ancienne API d'authentification utilisateur et ne doit pas être associée à la nouvelle API.
Éléments renvoyés : bool
true si le ticket du compte passe les vérifications standard. Sinon,
false.
Si cet appel aboutit, vous devez attendre un rappel
GSClientApprove_t ou
GSClientDeny_t qui vous informera de la réussite ou de l'échec de l'authentification du compte. Le SteamID présent dans le rappel correspondra à celui renvoyé par cet appel.
SendUserDisconnect
void SendUserDisconnect( CSteamID steamIDUser );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte qui a quitté le serveur de jeu. |
Cet appel doit être effectué à chaque fois qu'un compte quitte le serveur de jeu.
Cela permet à Steam de suivre en interne les personnes présentes sur les serveurs, afin d'empêcher un compte unique d'être connecté sur plusieurs serveurs, d'indiquer qui se trouve actuellement sur le serveur, etc.
REMARQUE : cette fonction fait partie de l'ancienne API d'authentification utilisateur et ne doit pas être associée à la nouvelle API.
SetBotPlayerCount
void SetBotPlayerCount( int cBotplayers );
Nom | Type | Description |
cBotplayers | int | Nombre de bots/IA qui jouent actuellement sur le serveur. |
Définit le nombre de joueurs bots/IA sur le serveur de jeu. La valeur par défaut est 0.
SetDedicatedServer
void SetDedicatedServer( bool bDedicated );
Nom | Type | Description |
bDedicated | bool | S'agit-il d'un serveur dédié (true) ou d'un serveur d'écoute (false) ? |
Définit si le serveur est un serveur dédié ou un serveur d'écoute. La valeur par défaut est serveur d'écoute.
REMARQUE : ce paramètre doit être défini uniquement avant d'appeler
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetGameData
void SetGameData( const char *pchGameData );
Nom | Type | Description |
pchGameData | const char * | Nouvelle valeur "gamedata" à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas dépasser la valeur spécifiée dans k_cbMaxGameServerGameData. |
Configure une chaine de caractères définissant "gamedata" pour ce serveur. Cette chaine est facultative mais si elle est définie, elle permet aux utilisateurs et utilisatrices de filtrer les interfaces de matchmaking/serveur-navigateur en fonction de la valeur.
Elle se présente généralement sous la forme d'une liste séparée par des virgules ou des points-virgules.
Ne définissez pas cette chaine sauf si elle change. Elle est chargée sur le serveur maitre une seule fois quand elle est confirmée.
SetGameDescription
void SetGameDescription( const char *pszGameDescription );
Nom | Type | Description |
pszGameDescription | const char * | Description de votre jeu. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas dépasser la valeur spécifiée dans k_cbMaxGameServerGameDescription. |
Définit la description du jeu. Nous vous recommandons de définir cette chaine avec le nom complet de votre jeu.
REMARQUE : ce paramètre est requis pour tous les serveurs de jeu et peut être défini uniquement avant d'appeler
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetGameTags
void SetGameTags( const char *pchGameTags );
Nom | Type | Description |
pchGameTags | const char * | Nouvelle valeur "gametags" à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas dépasser la valeur spécifiée dans k_cbMaxGameServerTags. |
Configure une chaine de caractères définissant "gametags" pour ce serveur. Cette chaine est facultative mais si elle est définie, elle permet aux utilisateurs et utilisatrices de filtrer les interfaces de matchmaking/serveur-navigateur en fonction de la valeur.
Elle se présente généralement sous la forme d'une liste séparée par des virgules ou des points-virgules.
Ne définissez pas cette chaine sauf si elle change. Elle est chargée sur le serveur maitre une seule fois quand elle est confirmée.
SetHeartbeatInterval
void SetHeartbeatInterval( int iHeartbeatInterval );
Nom | Type | Description |
iHeartbeatInterval | int | Intervalle entre chaque envoi de pulsations en millisecondes. Compris généralement entre 250 et 1000. Utilisez -1 pour employer la valeur par défaut. |
Modifie la fréquence d'envoi des pulsations vers les serveurs maitres Steam.
D'ordinaire, vous n'avez pas à utiliser cette fonction.
Consultez également : ISteamGameServer::EnableHeartbeats,
ISteamGameServer::ForceHeartbeatSetKeyValue
void SetKeyValue( const char *pKey, const char *pValue );
Nom | Type | Description |
pKey | const char * | |
pValue | const char * | |
Ajoute/met à jour une paire de clés/valeurs de règles.
Consultez également : ISteamGameServer::ClearAllKeyValues,
ISteamMatchmakingServers::ServerRulesSetMapName
void SetMapName( const char *pszMapName );
Nom | Type | Description |
pszMapName | const char * | Nouveau nom de carte à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas être plus long que k_cbMaxGameServerMapName. |
Définit le nom de la carte à indiquer dans le navigateur du serveur.
SetMaxPlayerCount
void SetMaxPlayerCount( int cPlayersMax );
Nom | Type | Description |
cPlayersMax | int | Nouveau nombre maximal de comptes autorisés sur ce serveur. |
Définit le nombre maximal de personnes autorisées à jouer sur le serveur en même temps.
Cette valeur peut être modifiée à tout moment.
SetModDir
void SetModDir( const char *pszModDir );
Nom | Type | Description |
pszModDir | const char * | Le répertoire du jeu à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas être plus long quek_cbMaxGameServerGameDir. |
Définit le répertoire du jeu.
Doit être identique au répertoire où le jeu a été installé. Uniquement le nom du répertoire, pas le chemin entier, par exemple, "Spacewar".
REMARQUE : ce paramètre est requis pour tous les serveurs de jeu et peut être défini uniquement avant d'appeler
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetPasswordProtected
void SetPasswordProtected( bool bPasswordProtected );
Nom | Type | Description |
bPasswordProtected | bool | Activer (true) ou désactiver (false) la protection par mot de passe. |
Définit si le serveur de jeu nécessite un mot de passe lorsque l'utilisateur ou utilisatrice tente de le rejoindre.
SetProduct
void SetProduct( const char *pszProduct );
Nom | Type | Description |
pszProduct | const char * | Identifiant unique de votre jeu. Ne doit pas être NULL ou une chaine de caractères vide (""). |
Définit l'identifiant du jeu. Il est utilisé par le serveur maitre à des fins de contrôle de version.
Nous vous recommandons de convertir l'AppID du jeu en une chaine pour ce faire.
REMARQUE : ce paramètre est requis pour tous les serveurs de jeu et peut être défini uniquement avant d'appeler
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetRegion
void SetRegion( const char *pszRegion );
Nom | Type | Description |
pszRegion | const char * | |
Identifiant de la région. C'est un champ facultatif, la valeur par défaut est une chaine vide indiquant la région du monde ("world").
SetServerName
void SetServerName( const char *pszServerName );
Nom | Type | Description |
pszServerName | const char * | Nouveau nom de serveur à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas être plus long que k_cbMaxGameServerName. |
Définit le nom du serveur tel qu'il apparaitra dans le navigateur du serveur.
SetSpectatorPort
void SetSpectatorPort( uint16 unSpectatorPort );
Nom | Type | Description |
unSpectatorPort | uint16 | Port que toute personne spectatrice peut rejoindre. |
Définit si le serveur de jeu autorise la présence de personnes spectatrices et le port auquel elles doivent se connecter. La valeur par défaut est 0, ce qui signifie que le service est inutilisé.
SetSpectatorServerName
void SetSpectatorServerName( const char *pszSpectatorServerName );
Nom | Type | Description |
pszSpectatorServerName | const char * | Nouveau nom de serveur pour les personnes spectatrices à définir. Ne doit pas être NULL ou une chaine de caractères vide (""). Ne peut pas être plus long que k_cbMaxGameServerMapName. |
Définit le nom du serveur « spectateur ». Ce paramètre est utilisé uniquement si le port spectateur n'est pas égal à zéro.
UserHasLicenseForApp
EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
Nom | Type | Description |
steamID | CSteamID | SteamID du compte qui a envoyé le ticket d'authentification. |
AppID | AppId_t | AppID du DLC afin de vérifier si le compte le possède. |
Vérifie si le compte possède un élément spécifique de
Contenu téléchargeable (DLC).
Cette fonction peut être appelée uniquement après l'envoi du ticket d'authentification du compte à
ISteamGameServer::BeginAuthSession/
Éléments renvoyés : EUserHasLicenseForAppResultConsultez également : Authentification des comptes et vérification de la possession d'une applicationWasRestartRequested
bool WasRestartRequested();
Vérifie si le serveur maitre a lancé une alerte concernant une version obsolète.
Redevient
false après avoir appelé cette fonction.
Éléments renvoyés : bool
true si le serveur maitre veut que ce serveur de jeu soit mis à jour et redémarre. Sinon,
false.
Rappels
Voici les rappels qui peuvent être activés en appelant
SteamAPI_RunCallbacks. La plupart seront activés directement en réponse aux fonctions membres de
ISteamGameServer
.
AssociateWithClanResult_t
Envoyé lorsque le serveur de jeu a tenté d'être associé à un groupe Steam.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. Valeurs possibles :
|
Fonctions associées : ISteamGameServer::AssociateWithClanComputeNewPlayerCompatibilityResult_t
Envoyée lorsque le serveur de jeu vérifie si la nouvelle personne qui veut jouer a un profil adapté au serveur en fonction du système ami(e)s-ennemi(e)s.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. Valeurs possibles :
|
m_cPlayersThatDontLikeCandidate | int | Nombre de joueuses et joueurs actuels qui n'aiment pas jouer avec le compte spécifié. |
m_cPlayersThatCandidateDoesntLike | int | Nombre de personnes sur le serveur avec lesquelles le compte spécifié n'aime pas jouer. |
m_cClanPlayersThatDontLikeCandidate | int | Nombre de personnes dans le groupe Steam associé qui n'aiment pas jouer avec le compte cible. |
m_SteamIDCandidate | CSteamID | SteamID de la joueuse ou du joueur spécifié. |
Fonctions associées : ISteamGameServer::ComputeNewPlayerCompatibilityGSClientAchievementStatus_t
Obsolète : utilisez plutôt
ISteamGameServerStats.
Nom | Type | Description |
m_SteamID | uint64 | Obsolète |
m_pchAchievement | char[128] | Obsolète |
m_bUnlocked | bool | Obsolète |
GSClientApprove_t
Un client a été autorisé à se connecter à ce serveur de jeu.
Nom | Type | Description |
m_SteamID | CSteamID | SteamID de la personne qui souhaite se connecter. |
m_OwnerSteamID | CSteamID | SteamID de la personne qui possède le jeu. Il sera différent de m_SteamID si l'accès au jeu s'est fait via le partage familial Steam. |
GSClientDeny_t
Appelée quand la connexion d'un compte à ce serveur de jeu a été refusée.
Nom | Type | Description |
m_SteamID | CSteamID | SteamID de la personne qui a tenté de se connecter. |
m_eDenyReason | EDenyReason | Motif pour lequel la personne a été refusée. |
m_rgchOptionalText | char[128] | Message facultatif expliquant le motif du refus. Généralement inutilisée sauf pour la journalisation. |
GSClientGroupStatus_t
Appelée quand nous recevons l'état du groupe d'un utilisateur ou d'une utilisatrice.
Nom | Type | Description |
m_SteamIDUser | CSteamID | Personne pour laquelle nous avons demandé l'état du groupe. |
m_SteamIDGroup | CSteamID | Groupe pour lequel nous avons fait la requête. |
m_bMember | bool | Le compte est-il membre du groupe (true) ou non (false) ? |
m_bOfficer | bool | Le compte a-t-il le statut de responsable du groupe (true) ou non (false) ? Cela ne renverra jamais true si m_bMember renvoie false. |
Fonctions associées : ISteamGameServer::RequestUserGroupStatusGSClientKick_t
Appelée quand le serveur de jeu doit exclure l'utilisateur ou l'utilisatrice.
Nom | Type | Description |
m_SteamID | CSteamID | SteamID de la personne qui doit être expulsée. |
m_eDenyReason | EDenyReason | Motif pour lequel la personne est expulsée. |
GSGameplayStats_t
Obsolète : appelée quand les statistiques de gameplay ont été demandées avec
ISteamGameServer::GetGameplayStats.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. |
m_nRank | int32 | Classement général du serveur (base 0). |
m_unTotalConnects | uint32 | Nombre total de clients qui se sont connectés au serveur par le passé. |
m_unTotalMinutesPlayed | uint32 | Nombre total de minutes de jeu passées sur le serveur par des joueurs et joueuses. |
Fonctions associées : ISteamGameServer::GetGameplayStatsGSPolicyResponse_t
Reçue quand le serveur de jeu émet une requête visant à apparaitre comme sécurisé (protection VAC).
Nom | Type | Description |
m_bSecure | uint8 | Le serveur est-il défini comme sécurisé (true) ou non (false) ? |
GSReputation_t
Obsolète : appelée quand la réputation du serveur de jeu a été demandée.
Les bannissements de serveur maitre s'effectuent sur l'adresse IP, il est donc possible qu'un serveur soit banni même avec un bon score, s'il y a un serveur de mauvaise réputation sur un autre port.
Ces informations peuvent être utilisées pour déterminer la mauvaise réputation des serveurs.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. |
m_unReputationScore | uint32 | Score de réputation pour le serveur de jeu. |
m_bBanned | bool | Le serveur est-il banni des serveurs maitres Steam (true) ou non (false) ? |
m_unBannedIP | uint32 | Adresse IP du serveur banni. Ne définir que si m_bBanned est true. |
m_usBannedPort | uint16 | Port du serveur banni. Ne définir que si m_bBanned est true. |
m_ulBannedGameID | uint64 | ID de jeu renvoyé par le serveur banni. Ne définir que si m_bBanned est true. |
m_unBanExpires | uint32 | L'heure à laquelle le bannissement expire, au format « depuis l'époque Unix » (secondes écoulées depuis le 1ᵉʳ janvier 1970). Ne définir que si m_bBanned est true. |
Fonctions associées : ISteamGameServer::GetServerReputationConstantes
Voici les constantes destinées à être utilisées avec ISteamGameServer.
Nom | Type | Valeur | Description |
k_unServerFlagActive | uint32 | 0x01 | Le serveur de jeu accueille des personnes en train de jouer. |
k_unServerFlagDedicated | uint32 | 0x04 | Ce serveur de jeu est dédié. |
k_unServerFlagLinux | uint32 | 0x08 | Ce serveur de jeu s'exécute sous Linux. |
k_unServerFlagNone | uint32 | 0x00 | Ce serveur de jeu n'a aucun marqueur. |
k_unServerFlagPassworded | uint32 | 0x10 | Ce serveur de jeu est protégé par mot de passe. |
k_unServerFlagPrivate | uint32 | 0x20 | Ce serveur de jeu ne devrait pas être répertorié sur le serveur maitre et n'appliquera pas l'authentification des comptes qui se connectent au serveur. Utile lorsque vous exploitez un serveur où les clients ne sont peut-être pas connectés à Internet, mais vous voulez cependant les autoriser à jouer (par exemple, réseaux locaux). |
k_unServerFlagSecure | uint32 | 0x02 | Ce serveur de jeu veut être sécurisé VAC. |
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE | int | ((uint16)-1) | Utilisé avec SteamGameServer_Init pour activer le mode GameSocketShare. |
STEAMGAMESERVER_INTERFACE_VERSION | const char * | "SteamGameServer012" | |