Documentazione di Steamworks
Interfaccia ISteamGameServer
Costituisce il nucleo dell'API dei server di gioco di Steam.

Funzioni membro

Le funzioni membro per ISteamGameServer vengono chiamate tramite la funzione globale di accesso ISteamGameServer().

AssociateWithClan

SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDL'ID di Steam del gruppo al quale vuoi essere associato.

Associa questo server di gioco a questo clan per calcolare la compatibilità dei giocatori.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a AssociateWithClanResult_t.

BeginAuthSession

EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
NomeTipoDescrizione
pAuthTicketconst void *Il ticket di autenticazione da convalidare.
cbAuthTicketintLe dimensioni in byte del ticket di autenticazione. Deve corrispondere alle dimensioni pcbTicket fornite dalla chiamata che ha creato questo ticket.
steamIDCSteamIDL'ID di Steam dell'entità che ha inviato questo ticket.

Autentica il ticket dell'ID di Steam dell'entità e si assicura che sia valido e non già riutilizzato. Tieni presente che l'identità non è confermata finché non viene ricevuta la callback ValidateAuthTicketResponse_t e il valore di ritorno di tale callback non è stato correttamente verificato.

Il ticket viene creato sull'entità con ISteamUser::GetAuthSessionTicket o ISteamGameServer::GetAuthSessionTicket e poi deve essere fornito attraverso la rete per essere convalidato dall'altro lato.

La funzione viene così registrata per callback ValidateAuthTicketResponse_t, nel caso in cui l'entità si disconnetta o annulli il ticket. Per ulteriori informazioni, vedi EAuthSessionResponse.

Al termine della sessione multigiocatore dovrai chiamare ISteamGameServer::EndAuthSession.

Restituisce: EBeginAuthSessionResult


Vedi anche: Autenticazione dell'utente e verifica della proprietà

BLoggedOn

bool BLoggedOn();
Controlla se il server di gioco ha effettuato l'accesso.

Restituisce: bool
true se il server di gioco ha effettuato l'accesso; altrimenti restituisce false.

BSecure

bool BSecure();
Controlla se il server di gioco è in modalità "Protetta".

Restituisce: bool
true se il server di gioco è protetto; altrimenti restituisce false.

Vedi anche: EServerMode, GSPolicyResponse_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
NomeTipoDescrizione
steamIDUserCSteamIDL'ID di Steam dell'utente.
pchPlayerNameconst char *Il nome dell'utente.
uScoreuint32Il punteggio corrente dell'utente.

Aggiorna i dati in modo che vengano visualizzati nel browser del server e nelle interfacce del matchmaking per un utente attualmente collegato al server.

NOTA: fa parte di una vecchia API di autenticazione utente, da non confondere con quella nuova.

Restituisce: bool
true se la chiamata è andata a buon fine; altrimenti restituisce false in caso di errore (ovvero, steamIDUser non è un giocatore nel server corrente).

Vedi anche: Autenticazione dell'utente e verifica della proprietà

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
NomeTipoDescrizione
hAuthTicketHAuthTicketIl ticket di autenticazione attivo da annullare.

Annulla un ticket di autenticazione ricevuto da ISteamUser::GetAuthSessionTicket. Dovrebbe essere chiamata quando non si gioca più con l'entità specificata.

Vedi anche: Autenticazione dell'utente e verifica della proprietà

ClearAllKeyValues

void ClearAllKeyValues();
Cancella tutto l'elenco di chiavi/valori inviati nelle query sulle regole.

Vedi anche: ISteamGameServer::SetKeyValue, ISteamMatchmakingServers::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
NomeTipoDescrizione
steamIDNewPlayerCSteamIDL'ID di Steam del giocatore che sta cercando di unirsi.

Controlla se uno dei giocatori correnti non vuole giocare con il nuovo giocatore che sta cercando di unirsi o viceversa, in base al sistema frenemy (amici/nemici).

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a ComputeNewPlayerCompatibilityResult_t.

CreateUnauthenticatedUserConnection

CSteamID CreateUnauthenticatedUserConnection();
Crea un utente fittizio (un bot) che sarà elencato come in gioco sul server, ma che salta la convalida.

NOTA: fa parte di una vecchia API di autenticazione utente, da non confondere con quella nuova.

Restituisce: CSteamID
Restituisce l'ID di Steam ID con il quale tracciare il bot.

Dovresti chiamare ISteamGameServer::SendUserDisconnect quando questo utente esce dal server, come faresti per un utente reale.

EnableHeartbeats

void EnableHeartbeats( bool bActive );
NomeTipoDescrizione
bActiveboolAbilita (true) o disabilita (false) l'aggiornamento del master server.

Informa i master server di Steam se vuoi o meno essere attivo.

Se questo parametro è abilitato, il server comunicherà con i master server; in caso contrario i messaggi in arrivo saranno ignorati e gli heartbeat (segnali di monitoraggio) non saranno inviati.

Vedi anche: ISteamGameServer::SetHeartbeatInterval, ISteamGameServer::ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
NomeTipoDescrizione
steamIDCSteamIDL'entità con cui terminare la sessione di autenticazione attiva.

Termina una sessione di autenticazione avviata con ISteamGameServer::BeginAuthSession. Dovrebbe essere chiamata quando non si gioca più con l'entità specificata.

Vedi anche: Autenticazione dell'utente e verifica della proprietà

ForceHeartbeat

void ForceHeartbeat();
Forza un heartbeat ai master server di Steam alla prima opportunità.

In genere non hai bisogno di usarla.

Vedi anche: ISteamGameServer::EnableHeartbeats, ISteamGameServer::SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
NomeTipoDescrizione
pTicketvoid *Il buffer in cui verrà copiato il nuovo ticket di autenticazione, in caso di esito positivo della chiamata.
cbMaxTicketintLe dimensioni del buffer allocato per pTicket. Dovrebbe essere 1024.
pcbTicketuint32 *Restituisce la lunghezza del ticket attuale.

Recupera un ticket di autenticazione da inviare all'entità che desidera autenticarti.

Dopo aver effettuato questa chiamata puoi inviare il ticket all'entità dove può poi essere chiamata ISteamUser::BeginAuthSession per verificare l'integrità di queste entità.

Quando crei un ticket per l'utilizzo con l'API web ISteamUserAuth/AuthenticateUserTicket, l'applicazione che effettua la chiamata dovrebbe attendere la callback GetAuthSessionTicketResponse_t generata dalla chiamata all'API prima di cercare di utilizzare il ticket. In questo modo potrai assicurarti che il ticket sia stato comunicato al server. Se questa callback non avviene in tempo utile (10-20 secondi), il tuo client non è connesso a Steam e la chiamata AuthenticateUserTicket avrà esito negativo poiché non è in grado di autenticare l'utente.

Restituisce: HAuthTicket
Attiva una callback GetAuthSessionTicketResponse_t.
Un handle per il ticket di autenticazione. Quando hai finito di interagire con l'entità dovrai chiamare ISteamGameServer::CancelAuthTicket sull'handle.

Se la chiamata fallisce, restituisce k_HAuthTicketInvalid.

Vedi anche: Autenticazione dell'utente e verifica della proprietà

GetGameplayStats

void GetGameplayStats();
Non più in uso - Sarà eliminata nella prossima release dell'SDK.

Restituisce: void
Attiva una callback GSGameplayStats_t.

GetNextOutgoingPacket

int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
NomeTipoDescrizione
pOutvoid *Restituisce il pacchetto che deve essere inviato copiandolo in questo buffer. Il pacchetto può avere una dimensione massima fino a 16 KiB, quindi alloca di conseguenza.
cbMaxOutintLe dimensioni del buffer allocato a pOut, dovrebbero essere 16 * 1024.
pNetAdruint32 *Restituisce l'indirizzo IP a cui deve essere inviato questo pacchetto in ordine di host, ad esempio 127.0.0.1 == 0x7f000001.
pPortuint16 *Restituisce la porta attraverso la quale deve essere inviato questo pacchetto, in ordine di host.

Ottiene un pacchetto che l'aggiornamento del master server deve inviare su UDP quando è in modalità GameSocketShare.

NOTA: deve essere chiamata solo DOPO avere chiamato ISteamGameServer::HandleIncomingPacket per qualsiasi pacchetto arrivato in tale frame!

NOTA: DEVE essere chiamata ripetutamente per ogni frame finché non restituisce 0 quando è in modalità GameSocketShare.

La modalità GameSocketShare può essere abilitata quando si chiama SteamGameServer_Init.

Restituisce: int
La lunghezza del pacchetto che deve essere inviato, oppure 0 se non ci sono più pacchetti per inviare questo frame.

GetPublicIP

uint32 GetPublicIP();
Ottiene l'IP pubblico del server secondo Steam.

È utile quando il server si trova dietro il NAT e desideri annunciare il suo IP in una lobby per consentire ad altri client di connettersi direttamente.

Restituisce: uint32
L'IP pubblico in ordine di host, ovvero 127.0.0.1 == 0x7f000001.

Restituisce 0 se non è stato possibile determinare l'IP.

GetServerReputation

SteamAPICall_t GetServerReputation();
Non più in uso - Sarà eliminata nella prossima release dell'SDK.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a GSReputation_t.

GetSteamID

CSteamID GetSteamID();
Ottiene l'ID di Steam del server di gioco.

Restituisce: CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
NomeTipoDescrizione
pDataconst void *I dati del pacchetto in arrivo.
cbDataintLe dimensioni in byte di pData.
srcIPuint32L'indirizzo IP a cui è stato inviato questo pacchetto in ordine di host, ovvero 127.0.0.1 == 0x7f000001.
srcPortuint16La porta attraverso la quale è stato inviato questo pacchetto, in ordine di host.

Gestisce un pacchetto del master server di Steam in modalità GameSocketShare.

In modalità GameSocketShare, invece di lasciare che ISteamGameServer crei il proprio socket per comunicare con con il master server attivo, lascia che il gioco usi il proprio socket per inviare i messaggi
avanti e indietro. Questo ci impedisce di richiedere alle operazioni del server di aprire un'altra porta nei loro firewall.

Dovrebbe essere chiamata ogni volta che arriva un pacchetto che inizia con 0xFFFFFFFF. Questo significa che è destinato a noi.

L'IP e i parametri di porta sono utilizzati quando scegli di usare il multiplexing sul socket UDP del server di gioco invece di fare in modo che l'aggiornamento del master server usi i propri socket.

I giochi Source Engine la usano per semplificare il lavoro degli amministratori del server, in modo che non debbano aprire altre porte sui loro firewall.

Solo DOPO averla chiamata, dovresti chiamare ISteamGameServer::GetNextOutgoingPacket.

La modalità GameSocketShare può essere abilitata quando si chiama SteamGameServer_Init.

Restituisce: bool

InitGameServer

bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
NomeTipoDescrizione
unIPuint32L'indirizzo IP a cui effettuerai l'associazione. (Deve essere in ordine di host, ovvero 127.0.0.1 == 0x7f000001). Puoi utilizzare INADDR_ANY per associare a tutti gli indirizzi IPv4 locali.
usGamePortuint16La porta a cui si collegheranno i client per giocare.
usQueryPortuint16La porta che gestirà i compiti correlati al browser dei server e i ping di informazioni dai client.
unFlagsuint32Un'unione di uno o più contrassegni del server.
nGameAppIdAppId_tL'appID del gioco al quale è destinato questo server.
pchVersionStringconst char *La stringa di versione assume generalmente la forma x.x.x.x e viene utilizzata dal master server per rilevare quando il server non è aggiornato (saranno elencati solo i server con l'ultima versione).

Inizializza l'istanza di ISteamGameServer. Viene chiamata da SteamGameServer_Init e in genere non è necessario chiamarla direttamente.

Se passi MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE in usQueryPort, fa in modo che l'API del server di gioco usi la modalità "GameSocketShare", il che significa che il gioco è responsabile dell'invio e del ricevimento dei pacchetti UDP per l'aggiornamento del master server.

Se viene utilizzata la modalità GameSocketShare, devi usare ISteamGameServer::HandleIncomingPacket e ISteamGameServer::GetNextOutgoingPacket per interagire con il master server di Steam.

Restituisce: bool
true se il server di gioco è riuscito ad associarsi all'IP o alla porta fornita; in caso contrario restituisce false, indicando che l'operazione non è riuscita.

LogOff

void LogOff();
Inizia il processo di disconnessione del server di gioco da Steam.

Restituisce: void
Attiva una callback SteamServerConnectFailure_t.
Attiva una callback SteamServersConnected_t.
Attiva una callback SteamServersDisconnected_t.

LogOn

void LogOn( const char *pszToken );
NomeTipoDescrizione
pszTokenconst char *

Inizia il processo per accedere a un account del server di gioco persistente.

Restituisce: void
Attiva una callback SteamServerConnectFailure_t.
Attiva una callback SteamServersConnected_t.
Attiva una callback SteamServersDisconnected_t.


Vedi anche: ISteamGameServer::LogOnAnonymous

LogOnAnonymous

void LogOnAnonymous();
Accede a un account anonimo generico.

Restituisce: void
Attiva una callback SteamServerConnectFailure_t.
Attiva una callback SteamServersConnected_t.
Attiva una callback SteamServersDisconnected_t.


Vedi anche: ISteamGameServer::LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
NomeTipoDescrizione
steamIDUserCSteamIDL'utente di cui controllare lo stato di gruppo.
steamIDGroupCSteamIDIl gruppo da verificare.

Controlla se un utente è incluso nel gruppo di Steam specificato.

Restituisce: bool
Attiva una callback GSClientGroupStatus_t.
true se la chiamata è stata correttamente inviata ai server di Steam; in caso contrario restituisce false se non siamo collegati ai server di Steam o se è stato fornito un utente o un gruppo non valido.

SendUserConnectAndAuthenticate

bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
NomeTipoDescrizione
unIPClientuint32L'indirizzo IP del client che si sta connettendo. Deve essere in ordine di host, ovvero 127.0.0.1 == 0x7f000001.
pvAuthBlobconst void *I dati di autenticazione forniti dall'utente da una chiamata a ISteamUser::InitiateGameConnection.
cubAuthBlobSizeuint32Le dimensioni in byte di pvAuthBlob.
pSteamIDUserCSteamID *Restituisce l'ID di Steam dell'utente. Deve essere NULL.

Handle che ricevono una nuova connessione da un utente di Steam. Questa chiederà ai server di Steam di convalidare l'identità dell'utente, la proprietà dell'app e lo stato VAC.

Se i server di Steam sono offline, convaliderà il ticket salvato nella cache, il quale convaliderà la proprietà dell'app e l'identità.

NOTA: fa parte di una vecchia API di autenticazione utente, da non confondere con quella nuova.

Restituisce: bool
true se il ticket degli utenti supera i controlli di base; in caso contrario restituisce false.

Se questa chiamata va a buon fine, dovresti aspettarti una callback GSClientApprove_t o GSClientDeny_t, che ti informerà se l'autenticazione dell'utente è riuscita o è fallita. L'ID di Steam nella callback corrisponderà a quello restituito da questa chiamata.

SendUserDisconnect

void SendUserDisconnect( CSteamID steamIDUser );
NomeTipoDescrizione
steamIDUserCSteamIDL'ID di Steam dell'utente che ha abbandonato il server di gioco.

Deve essere chiamata ogni volta che un utente esce dal server di gioco.

Ciò permette a Steam di tenere internamente traccia degli utenti attualmente collegati ai vari server, al fine di impedire a un singolo account di accedere a più server, di mostrare quali utenti si trovano attualmente sul server, ecc.

NOTA: fa parte di una vecchia API di autenticazione utente, da non confondere con quella nuova.

SetBotPlayerCount

void SetBotPlayerCount( int cBotplayers );
NomeTipoDescrizione
cBotplayersintIl numero di giocatori bot/AI che stanno attualmente giocando sul server.

Imposta il numero di giocatori bot/AI sul server di gioco. Il valore predefinito è 0.

SetDedicatedServer

void SetDedicatedServer( bool bDedicated );
NomeTipoDescrizione
bDedicatedboolÈ un server dedicato (true) o un server di ascolto (false)?

Definisce se si tratta di un server dedicato o di ascolto. L'impostazione predefinita è il server di ascolto.

NOTA: Deve essere configurato solo prima di chiamare ISteamGameServer::LogOn o ISteamGameServer::LogOnAnonymous.

SetGameData

void SetGameData( const char *pchGameData );
NomeTipoDescrizione
pchGameDataconst char *Il nuovo valore "gamedata" da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerGameData.

Imposta una stringa che definisce il valore "gamedata" per questo server. È facoltativa, ma se viene impostata consente agli utenti di filtrare le interfacce del matchmaking/server-browser sulla base del valore.

In genere viene formattata come elenco separato da virgole o punti e virgola.

Non impostarla, a meno che non cambi effettivamente; viene caricata sul master server solo una volta, quando viene notificata.

SetGameDescription

void SetGameDescription( const char *pszGameDescription );
NomeTipoDescrizione
pszGameDescriptionconst char *La descrizione del gioco. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerGameDescription.

Imposta la descrizione del gioco. È consigliabile impostare il nome completo del gioco.

NOTA: è obbligatoria per tutti i server di gioco e può essere impostata solo prima di chiamare ISteamGameServer::LogOn o ISteamGameServer::LogOnAnonymous.

SetGameTags

void SetGameTags( const char *pchGameTags );
NomeTipoDescrizione
pchGameTagsconst char *Il nuovo valore "gametags" da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerTags.

Imposta una stringa che definisce il valore "gametags" per questo server. È facoltativa, ma se viene impostata consente agli utenti di filtrare le interfacce del matchmaking/server-browser sulla base del valore.

In genere viene formattata come elenco separato da virgole o punti e virgola.

Non impostarla, a meno che non cambi effettivamente; viene caricata sul master server solo una volta, quando viene notificata.

SetHeartbeatInterval

void SetHeartbeatInterval( int iHeartbeatInterval );
NomeTipoDescrizione
iHeartbeatIntervalintL'intervallo tra gli invii di heartbeat in millisecondi. In genere è compreso tra 250 e 1000. Usa -1 per utilizzare il valore predefinito.

Cambia la frequenza di invio degli heartbeat ai master server di Steam.

In genere non hai bisogno di usarla.

Vedi anche: ISteamGameServer::EnableHeartbeats, ISteamGameServer::ForceHeartbeat

SetKeyValue

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

Aggiunge/aggiorna una coppia chiave/valore delle regole.

Vedi anche: ISteamGameServer::ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
NomeTipoDescrizione
pszMapNameconst char *Il nuovo nome della mappa da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerMapName.

Imposta il nome della mappa da segnalare nel browser dei server.

SetMaxPlayerCount

void SetMaxPlayerCount( int cPlayersMax );
NomeTipoDescrizione
cPlayersMaxintIl nuovo numero massimo di giocatori consentiti su questo server.

Imposta il numero massimo di giocatori consentiti contemporaneamente sul server.

Questo valore può essere modificato in qualsiasi momento.

SetModDir

void SetModDir( const char *pszModDir );
NomeTipoDescrizione
pszModDirconst char *La directory del gioco da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerGameDir.

Imposta la directory del gioco.

Deve essere la stessa directory in cui viene installato il gioco. Solo il nome della cartella, non l'intero percorso. Ad esempio, "Spacewar".

NOTA: è obbligatoria per tutti i server di gioco e può essere impostata solo prima di chiamare ISteamGameServer::LogOn o ISteamGameServer::LogOnAnonymous.

SetPasswordProtected

void SetPasswordProtected( bool bPasswordProtected );
NomeTipoDescrizione
bPasswordProtectedboolAbilita (true) o disabilita (false) la protezione tramite password.

Impostare se il server di gioco richiederà una password nel momento in cui l'utente cerca di unirsi.

SetProduct

void SetProduct( const char *pszProduct );
NomeTipoDescrizione
pszProductconst char *L'identificatore univoco del tuo gioco. Non deve essere NULL o una stringa vuota ("").

Imposta l'identificatore di prodotto del gioco. È attualmente utilizzato dal master server per il controllo delle versioni.

A questo scopo è consigliabile convertire l'app ID dei giochi in una stringa.

NOTA: è obbligatoria per tutti i server di gioco e può essere impostata solo prima di chiamare ISteamGameServer::LogOn o ISteamGameServer::LogOnAnonymous.

SetRegion

void SetRegion( const char *pszRegion );
NomeTipoDescrizione
pszRegionconst char *

Identificatore di regione. È un campo facoltativo; il valore predefinito è una stringa vuota, ovvero la regione "mondo".

SetServerName

void SetServerName( const char *pszServerName );
NomeTipoDescrizione
pszServerNameconst char *Il nuovo nome del server da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerName.

Imposta il nome del server così come appare nel browser del server.

SetSpectatorPort

void SetSpectatorPort( uint16 unSpectatorPort );
NomeTipoDescrizione
unSpectatorPortuint16La porta da cui gli spettatori possono unirsi.

Imposta se il server di gioco consente gli spettatori e a quale porta devono connettersi. Il valore predefinito è 0, ovvero il servizio non è utilizzato.

SetSpectatorServerName

void SetSpectatorServerName( const char *pszSpectatorServerName );
NomeTipoDescrizione
pszSpectatorServerNameconst char *Il nome del server spettatori da impostare. Non deve essere NULL o una stringa vuota (""). Non può essere più lunga di k_cbMaxGameServerMapName.

Imposta il nome del server spettatori. Viene utilizzata solo se la porta spettatori non è zero.

UserHasLicenseForApp

EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
NomeTipoDescrizione
steamIDCSteamIDL'ID di Steam dell'utente che ha inviato il ticket di autenticazione.
appIDAppId_tL'appID del DLC di cui verificare il possesso da parte dell'utente.

Verifica se l'utente sia in possesso di uno specifico Contenuti scaricabili (DLC).

Può essere chiamata solo dopo aver inviato il ticket di autenticazione dell'utente a ISteamGameServer::BeginAuthSession/

Restituisce: EUserHasLicenseForAppResult


Vedi anche: Autenticazione dell'utente e verifica della proprietà

WasRestartRequested

bool WasRestartRequested();
Controlla se il master server ci ha avvisato che non siamo aggiornati.

Diventa nuovamente false dopo avere chiamato questa funzione.

Restituisce: bool
true se il master server vuole che questo server di gioco venga aggiornato e riavviato; in caso contrario restituisce false.

Callback

Queste sono callback che possono essere attivate chiamando SteamAPI_RunCallbacks. Molte di esse saranno attivate direttamente in risposta alle funzioni membro di ISteamGameServer.

AssociateWithClanResult_t

Inviata quando il server di gioco tenta di essere associato a un gruppo di Steam.

NomeTipoDescrizione
m_eResultEResultIl risultato dell'operazione. Possibili valori:

Funzioni associate: ISteamGameServer::AssociateWithClan

ComputeNewPlayerCompatibilityResult_t

Inviata quando il server di gioco controlla se il nuovo giocatore è adatto al server sulla base del sistema frenemy (amici/nemici).

NomeTipoDescrizione
m_eResultEResultIl risultato dell'operazione. Possibili valori:
m_cPlayersThatDontLikeCandidateintIl numero di giocatori correnti a cui non piace giocare con il giocatore specificato.
m_cPlayersThatCandidateDoesntLikeintIl numero di giocatori sul server con i quali al giocatore specificato non piace giocare.
m_cClanPlayersThatDontLikeCandidateintIl numero di giocatori nel gruppo di Steam associato ai quali non piace giocare con il giocatore.
m_SteamIDCandidateCSteamIDL'ID di Steam del giocatore specificato.

Funzioni associate: ISteamGameServer::ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

Non più in uso - Usa invece ISteamGameServerStats.

NomeTipoDescrizione
m_SteamIDuint64Non più in uso
m_pchAchievementchar[128]Non più in uso
m_bUnlockedboolNon più in uso

GSClientApprove_t

Un client ha ricevuto l'approvazione a connettersi a questo server di gioco.

NomeTipoDescrizione
m_SteamIDCSteamIDL'ID di Steam del giocatore in attesa di connettersi.
m_OwnerSteamIDCSteamIDL'ID di Steam in possesso del gioco. Sarà diverso da m_SteamID se l'accesso al gioco viene effettuato attraverso la condivisione familiare di Steam.

GSClientDeny_t

Chiamata quando a un utente viene negata la connessione a questo server di gioco.

NomeTipoDescrizione
m_SteamIDCSteamIDL'ID di Steam del giocatore che ha tentato di connettersi.
m_eDenyReasonEDenyReasonIl motivo per cui è stato negato l'accesso al giocatore.
m_rgchOptionalTextchar[128]Un messaggio di testo facoltativo che spiega il motivo del rifiuto. In genere non è utilizzato, tranne che per l'accesso.

GSClientGroupStatus_t

Chiamata quando abbiamo ricevuto lo stato di gruppo di un utente.

NomeTipoDescrizione
m_SteamIDUserCSteamIDL'utente di cui abbiamo interrogato lo stato di gruppo.
m_SteamIDGroupCSteamIDIl gruppo che abbiamo interrogato.
m_bMemberboolL'utente è un membro del gruppo (true) oppure no (false)?
m_bOfficerboolL'utente è un amministratore del gruppo (true) oppure no (false)? Non sarà mai true se m_bMember è false.

Funzioni associate: ISteamGameServer::RequestUserGroupStatus

GSClientKick_t

Chiamata quando il server di gioco deve espellere l'utente.

NomeTipoDescrizione
m_SteamIDCSteamIDL'ID di Steam del giocatore che deve essere espulso.
m_eDenyReasonEDenyReasonIl motivo per cui il giocatore viene espulso.

GSGameplayStats_t

Non più in uso - Chiamata quando le statistiche di gioco sono state interrogate utilizzando ISteamGameServer::GetGameplayStats.

NomeTipoDescrizione
m_eResultEResultIl risultato dell'operazione.
m_nRankint32Il grado complessivo del server (con base 0).
m_unTotalConnectsuint32Il numero totale di client che si sono collegati complessivamente al server.
m_unTotalMinutesPlayeduint32Il numero totale di minuti giocati complessivamente sul server.

Funzioni associate: ISteamGameServer::GetGameplayStats

GSPolicyResponse_t

Ricevuta quando il server di gioco chiede di essere visualizzato in modalità sicura (protetto dal VAC).

NomeTipoDescrizione
m_bSecureuint8Il server è ora impostato come protetto (true) o non protetto (false)?.

GSReputation_t

Non più in uso - Chiamata quando la reputazione del server di gioco viene interrogata.

I ban del master server sono basati sull'IP, quindi è possibile essere banditi anche quando il punteggio è buono se c'è un server nocivo su un'altra porta.
Questa informazione può essere utilizzata per determinare quale server è nocivo.

NomeTipoDescrizione
m_eResultEResultIl risultato dell'operazione.
m_unReputationScoreuint32Il punteggio di reputazione del server di gioco.
m_bBannedboolIl server è bandito dai master server di Steam (true) oppure no (false)?
m_unBannedIPuint32L'IP del server bandito. Da impostare solo se m_bBanned è true.
m_usBannedPortuint16La porta del server bandito. Da impostare solo se m_bBanned è true.
m_ulBannedGameIDuint64L'ID di gioco che il server bandito sta servendo. Da impostare solo se m_bBanned è true.
m_unBanExpiresuint32L'ora di scadenza del ban, fornita in formato epoch Unix (in secondi a partire dal 1° gennaio 1970). Da impostare solo se m_bBanned è true.

Funzioni associate: ISteamGameServer::GetServerReputation

Costanti

Queste sono costanti definite per l'utilizzo con ISteamGameServer.

NomeTipoValoreDescrizione
k_unServerFlagActiveuint320x01Il server di gioco che ha utenti che stanno giocando.
k_unServerFlagDedicateduint320x04Questo server di gioco è dedicato.
k_unServerFlagLinuxuint320x08Questo server di gioco è in esecuzione su Linux.
k_unServerFlagNoneuint320x00Questo server di gioco non ha contrassegni.
k_unServerFlagPasswordeduint320x10Questo server di gioco è protetto da password.
k_unServerFlagPrivateuint320x20Questo server di gioco non deve essere elencato sul master server e non forzerà l'autenticazione degli utenti che si collegano al server.
Questo è utile quando esegui un server in cui i client potrebbero non essere collegati a internet, ma vuoi consentire loro di giocare (ad esempio, le LAN).
k_unServerFlagSecureuint320x02Questo server di gioco vuole essere protetto da VAC.
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)Utilizzata con SteamGameServer_Init per abilitare la modalità GameSocketShare.
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"