Documentation Steamworks
Interface ISteamGameServerStats
Permet aux serveurs de jeu de définir les stats et les succès sur les joueurs et les joueuses.

Fonctions membres

Les fonctions membres de ISteamGameServerStats sont appelées par le biais de la fonction d'accesseur global SteamGameServerStats().

ClearUserAchievement

bool ClearUserAchievement( CSteamID steamIDUser, const char *pchName );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le succès doit être effacé.
pchNameconst char *Nom de l'API pour le succès à réinitialiser.

Réinitialise l'état Déverrouillé d'un succès pour le compte spécifié.

Cette fonction n'est principalement utilisée qu'à des fins de test.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler StoreUserStats.

REMARQUE : ceci ne fonctionne qu'avec les succès dont le statut peut être modifié par les serveurs de jeu. Si le champ « Trier par » de ce succès est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des serveurs dédiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • Le succès spécifié "API Name" existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
  • Le serveur de jeu doit être en mesure de paramétrer cette statistique.

GetUserAchievement

bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le succès doit être obtenu.
pchNameconst char *Nom de l'API pour le succès.
pbAchievedbool *Renvoie l'état déverrouillé du succès.

Obtient l'état déverrouillé du succès.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • RequestUserStats a effectué et renvoyé avec succès son rappel.
  • Le Nom de l'API du succès spécifié existe dans l'onglet Admin. de l'application sur le site Web de Steamworks et les changements ont été publiés.

Si la fonction est utilisée avec succès, alors l'état déverrouillé est renvoyé via le paramètre pbAchieved.

GetUserStat

bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ); bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel la statistique doit être obtenue.
pchNameconst char *Nom de l'API pour la statistique. Doit être plus long que k_cchStatNameMax.
pDataint32 * / float *Variable dans laquelle renvoyer la valeur de la statistique.

Obtient la valeur actuelle de la statistique pour le compte spécifié.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel .

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestUserStats a effectué et renvoyé avec succès son rappel.
  • Le type passé via cette fonction doit correspondre au type listé dans l'onglet Admin. de l'application du site de Steamworks.

RequestUserStats

SteamAPICall_t RequestUserStats( CSteamID steamIDUser );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel la requête de statistiques est faite.

Télécharge depuis le serveur les succès et les statistiques pour le compte spécifié de manière asynchrone.

Ces statistiques ne seront mises à jour de manière automatique que pour les comptes des personnes jouant actuellement sur le serveur. Vous devrez rappeler cette fonction afin d'actualiser les données des autres comptes.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel GSStatsReceived_t.

SetUserAchievement

bool SetUserAchievement( CSteamID steamIDUser, const char *pchName );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le succès doit être déverrouillé.
pchNameconst char *Nom de l'API pour le succès à déverrouiller.

Déverrouille un succès pour le compte spécifié.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler StoreUserStats.

REMARQUE : ceci ne fonctionne qu'avec les succès dont le statut peut être modifié par les serveurs de jeu. Si le champ « Trier par » de ce succès est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des serveurs dédiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • Le succès spécifié "API Name" existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
  • Le serveur de jeu doit être en mesure de paramétrer cette statistique.

SetUserStat

bool SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData ); bool SetUserStat( CSteamID steamIDUser, const char *pchName, float fData );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le réglage de statistique doit être effectué.
pchNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
nDataint32 / floatNouvelle valeur de la statistique. Cette valeur doit être absolue et ne pourra pas être incrémentée ou décrémentée pour vous.

Règle / met à jour la valeur d'une statistique pour le compte spécifié.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler StoreUserStats.

REMARQUE : cette fonction ne marche qu'avec les statistiques ouvertes à la modification sur les serveurs de jeu. Si le champ « Trier par » de cette statistique est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des serveurs dédiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
  • Le type passé via cette fonction doit correspondre au type listé dans l'onglet Admin. de l'application du site de Steamworks.
  • Le serveur de jeu doit être en mesure de paramétrer cette statistique.

StoreUserStats

SteamAPICall_t StoreUserStats( CSteamID steamIDUser );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel l'enregistrement des statistiques doit être effectué.

Envoyer les données des statistiques et des succès modifiées du compte spécifié au serveur pour les y enregistrer de façon permanente.

En cas d'échec, rien n'est envoyé au serveur. Il est recommandé de continuer à essayer jusqu'à ce que la fonction soit exécutée avec succès.

La fréquence de cet appel peut être limitée. La fréquence de l'appel devrait être de l'ordre des minutes plutôt que des secondes. Il est recommandé d'effectuer cet appel seulement durant des changements d'états majeurs comme la fin d'une manche, un changement de carte ou le départ d'une personne du serveur.

Si vous avez sauvegardé localement des statistiques ou des succès grâce à cette fonction, mais ne les avez pas encore chargés sur le serveur, cette fonction sera automatiquement utilisée lors de la clôture du processus de votre application.

Vous pouvez consulter des informations de débogage supplémentaires sur le fichier %steam_install%\logs\stats_log.txt.

Éléments renvoyés : SteamAPICall_t doit être utilisé avec un résultat d'appel GSStatsStored_t.
Si m_eResult a un résultat de k_EResultInvalidParam, alors l'une des statistiques envoyées a été rejetée, soit parce qu'elle ne respectait pas les contraintes, soit parce qu'elle était obsolète. Dans ce cas, le serveur renvoie des valeurs mises à jour et les statistiques devraient être mises à jour localement afin d'assurer la synchronisation.

UpdateUserAvgRateStat

bool UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel la requête de mise à jour de AVGRATE est faite.
pchNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
flCountThisSessionfloatAccumulation de valeurs depuis la dernière utilisation de cette fonction.
dSessionLengthdoubleTemps écoulé depuis la dernière utilisation de cette fonction, renseigné en secondes.

Met à jour une statistique AVGRATE (moyenne) pour un compte spécifié en utilisant de nouvelles valeurs.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler StoreUserStats.

REMARQUE : cette fonction ne marche qu'avec les statistiques ouvertes à la modification sur les serveurs de jeu. Si le champ « Trier par » de cette statistique est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des serveurs dédiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
  • Le type doit être réglé sur AVGRATE dans l'interface Steamworks du partenaire.
  • Le serveur de jeu doit être en mesure de paramétrer cette statistique.

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

GSStatsReceived_t

Résultat reçu lors de l'obtention depuis le serveur des derniers succès et statistiques d'un compte.

NomTypeDescription
m_eResultEResultIndique si l'appel a été effectué avec succès ou non. Sera définie comme k_EResultFail si le compte ne dispose pas de statistiques.
m_steamIDUserCSteamIDCompte dont les statistiques ont été récupérées.

Fonctions associées : RequestUserStats

GSStatsStored_t

Résultat d'une requête visant à enregistrer les statistiques du compte.

NomTypeDescription
m_eResultEResultIndique si l'appel a été effectué avec succès ou non.
m_steamIDUserCSteamIDCompte pour lequel les statistiques ont été enregistrées.

Fonctions associées : StoreUserStats

GSStatsUnloaded_t

Rappel indiquant que les statistiques d'un compte ont été retirées.

Appelez RequestUserStats de nouveau pour accéder aux statistiques de ce compte.

NomTypeDescription
m_steamIDUserCSteamIDCompte pour lequel les statistiques ont été retirées.

Constantes

Constantes destinées à être utilisées avec ISteamGameServerStats.

NomTypeValeurDescription
STEAMGAMESERVERSTATS_INTERFACE_VERSIONconst char *"SteamGameServerStats001"