Documentation Steamworks
Interface ISteamGameServer
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 );
NomTypeDescription
steamIDClanCSteamIDSteamID 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 );
NomTypeDescription
pAuthTicketconst void *Ticket d'authentification à valider.
cbAuthTicketintTaille en octets du ticket d'authentification. Doit être la taille pcbTicket fournie par l'appel qui a créé ce ticket.
steamIDCSteamIDSteamID 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 : EBeginAuthSessionResult


Consultez également : Authentification des comptes et vérification de la possession d'une application

BLoggedOn

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_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte.
pchPlayerNameconst char *Nom du compte.
uScoreuint32Score 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 application

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
NomTypeDescription
hAuthTicketHAuthTicketTicket 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 application

ClearAllKeyValues

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::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
NomTypeDescription
steamIDNewPlayerCSteamIDSteamID 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 : CSteamID
Renvoie 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 );
NomTypeDescription
bActiveboolActiver (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::ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
NomTypeDescription
steamIDCSteamIDL'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 application

ForceHeartbeat

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::SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
NomTypeDescription
pTicketvoid *Tampon où le nouveau ticket d'authentification sera copié si l'appel a abouti.
cbMaxTicketintLa taille du tampon alloué à pTicket. Doit être de 1024.
pcbTicketuint32 *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 : HAuthTicket
Dé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 application

GetGameplayStats

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 );
NomTypeDescription
pOutvoid *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.
cbMaxOutintLa taille du tampon alloué à pOut devrait être de 16 * 1024.
pNetAdruint32 *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.
pPortuint16 *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 : uint32
Adresse 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 : CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
NomTypeDescription
pDataconst void *Données issues du paquet entrant.
cbDataintTaille de pData en octets.
srcIPuint32Adresse IP à laquelle ce paquet a été envoyé dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001.
srcPortuint16Port 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 );
NomTypeDescription
unIPuint32Adresse 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.
usGamePortuint16Port auquel les clients se connecteront pour lancer un jeu.
usQueryPortuint16Port qui gèrera les tâches connexes navigateur-serveur et les pings d'informations des clients.
unFlagsuint32Union d'un ou plusieurs ServerFlags.
nGameAppIdAppId_tAppID du jeu associé à ce serveur.
pchVersionStringconst 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 );
NomTypeDescription
pszTokenconst 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::LogOnAnonymous

LogOnAnonymous

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::LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
NomTypeDescription
steamIDUserCSteamIDCompte pour lequel vérifier l'état du groupe.
steamIDGroupCSteamIDLe 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 );
NomTypeDescription
unIPClientuint32Adresse IP du client en cours de connexion. Doit être dans l'ordre de l'hôte, c'est-à-dire 127.0.0.1 == 0x7f000001.
pvAuthBlobconst void *Données d'authentification fournies par le compte d'un appel à ISteamUser::InitiateGameConnection.
cubAuthBlobSizeuint32Taille de pvAuthBlo en octets.
pSteamIDUserCSteamID *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 );
NomTypeDescription
steamIDUserCSteamIDSteamID 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 );
NomTypeDescription
cBotplayersintNombre 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 );
NomTypeDescription
bDedicatedboolS'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 );
NomTypeDescription
pchGameDataconst 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 );
NomTypeDescription
pszGameDescriptionconst 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 );
NomTypeDescription
pchGameTagsconst 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 );
NomTypeDescription
iHeartbeatIntervalintIntervalle 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::ForceHeartbeat

SetKeyValue

void SetKeyValue( const char *pKey, const char *pValue );
NomTypeDescription
pKeyconst char *
pValueconst char *

Ajoute/met à jour une paire de clés/valeurs de règles.

Consultez également : ISteamGameServer::ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
NomTypeDescription
pszMapNameconst 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 );
NomTypeDescription
cPlayersMaxintNouveau 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 );
NomTypeDescription
pszModDirconst 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 );
NomTypeDescription
bPasswordProtectedboolActiver (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 );
NomTypeDescription
pszProductconst 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 );
NomTypeDescription
pszRegionconst 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 );
NomTypeDescription
pszServerNameconst 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 );
NomTypeDescription
unSpectatorPortuint16Port 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 );
NomTypeDescription
pszSpectatorServerNameconst 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 );
NomTypeDescription
steamIDCSteamIDSteamID du compte qui a envoyé le ticket d'authentification.
AppIDAppId_tAppID 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 : EUserHasLicenseForAppResult


Consultez également : Authentification des comptes et vérification de la possession d'une application

WasRestartRequested

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.

NomTypeDescription
m_eResultEResultRésultat de l'opération. Valeurs possibles :

Fonctions associées : ISteamGameServer::AssociateWithClan

ComputeNewPlayerCompatibilityResult_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.

NomTypeDescription
m_eResultEResultRésultat de l'opération. Valeurs possibles :
m_cPlayersThatDontLikeCandidateintNombre de joueuses et joueurs actuels qui n'aiment pas jouer avec le compte spécifié.
m_cPlayersThatCandidateDoesntLikeintNombre de personnes sur le serveur avec lesquelles le compte spécifié n'aime pas jouer.
m_cClanPlayersThatDontLikeCandidateintNombre de personnes dans le groupe Steam associé qui n'aiment pas jouer avec le compte cible.
m_SteamIDCandidateCSteamIDSteamID de la joueuse ou du joueur spécifié.

Fonctions associées : ISteamGameServer::ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

Obsolète : utilisez plutôt ISteamGameServerStats.

NomTypeDescription
m_SteamIDuint64Obsolète
m_pchAchievementchar[128]Obsolète
m_bUnlockedboolObsolète

GSClientApprove_t

Un client a été autorisé à se connecter à ce serveur de jeu.

NomTypeDescription
m_SteamIDCSteamIDSteamID de la personne qui souhaite se connecter.
m_OwnerSteamIDCSteamIDSteamID 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.

NomTypeDescription
m_SteamIDCSteamIDSteamID de la personne qui a tenté de se connecter.
m_eDenyReasonEDenyReasonMotif pour lequel la personne a été refusée.
m_rgchOptionalTextchar[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.

NomTypeDescription
m_SteamIDUserCSteamIDPersonne pour laquelle nous avons demandé l'état du groupe.
m_SteamIDGroupCSteamIDGroupe pour lequel nous avons fait la requête.
m_bMemberboolLe compte est-il membre du groupe (true) ou non (false) ?
m_bOfficerboolLe 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::RequestUserGroupStatus

GSClientKick_t

Appelée quand le serveur de jeu doit exclure l'utilisateur ou l'utilisatrice.

NomTypeDescription
m_SteamIDCSteamIDSteamID de la personne qui doit être expulsée.
m_eDenyReasonEDenyReasonMotif 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.

NomTypeDescription
m_eResultEResultRésultat de l'opération.
m_nRankint32Classement général du serveur (base 0).
m_unTotalConnectsuint32Nombre total de clients qui se sont connectés au serveur par le passé.
m_unTotalMinutesPlayeduint32Nombre total de minutes de jeu passées sur le serveur par des joueurs et joueuses.

Fonctions associées : ISteamGameServer::GetGameplayStats

GSPolicyResponse_t

Reçue quand le serveur de jeu émet une requête visant à apparaitre comme sécurisé (protection VAC).

NomTypeDescription
m_bSecureuint8Le 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.

NomTypeDescription
m_eResultEResultRésultat de l'opération.
m_unReputationScoreuint32Score de réputation pour le serveur de jeu.
m_bBannedboolLe serveur est-il banni des serveurs maitres Steam (true) ou non (false) ?
m_unBannedIPuint32Adresse IP du serveur banni. Ne définir que si m_bBanned est true.
m_usBannedPortuint16Port du serveur banni. Ne définir que si m_bBanned est true.
m_ulBannedGameIDuint64ID de jeu renvoyé par le serveur banni. Ne définir que si m_bBanned est true.
m_unBanExpiresuint32L'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::GetServerReputation

Constantes

Voici les constantes destinées à être utilisées avec ISteamGameServer.

NomTypeValeurDescription
k_unServerFlagActiveuint320x01Le serveur de jeu accueille des personnes en train de jouer.
k_unServerFlagDedicateduint320x04Ce serveur de jeu est dédié.
k_unServerFlagLinuxuint320x08Ce serveur de jeu s'exécute sous Linux.
k_unServerFlagNoneuint320x00Ce serveur de jeu n'a aucun marqueur.
k_unServerFlagPasswordeduint320x10Ce serveur de jeu est protégé par mot de passe.
k_unServerFlagPrivateuint320x20Ce 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_unServerFlagSecureuint320x02Ce serveur de jeu veut être sécurisé VAC.
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)Utilisé avec SteamGameServer_Init pour activer le mode GameSocketShare.
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"