Steamworks-dokumentation
Gränssnitt – ISteamGameServer
Innehåller kärnan till spelserver-API på Steam.

Medlemsfunktioner

Medlemsfunktioner för ISteamGameServer anropas via den globala accessor-funktionen SteamGameServer().

AssociateWithClan

SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
Namn TypBeskrivning
steamIDClanCSteamIDSteam-ID för gruppen som du vill tillhöra.

associera denna spelserver med denna klan för att beräkna spelarkompatibilitet.

Returnerar: SteamAPICall_t ska användas med ett AssociateWithClanResult_t-anropsresultat.

BeginAuthSession

EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
Namn TypBeskrivning
pAuthTicketconst void *Autentiseringsbiljetten som ska valideras.
cbAuthTicketintAutentiseringsbiljettens storlek i byte. Detta måste vara storleken på pcbTicket som tillhandahålls av anropet som skapade biljetten.
steamIDCSteamIDSteam-ID till entiteten som skickade biljetten.

Autentisera biljetten från entitetens Steam-ID för att vara säker på att den är giltig och inte återanvänds. Observera att identiteten inte bekräftas förrän återanropet ValidateAuthTicketResponse_t tas emot och returvärdet i återanropet kontrolleras för framgång.

Biljetten skapas på entiteten med ISteamUser::GetAuthSessionTicket eller GetAuthSessionTicket och måste sedan tillhandahållas över nätverket för validering av den andra änden.

Det registreras för ValidateAuthTicketResponse_t-återanrop om entiteten går offline eller annullerar biljetten. Se EAuthSessionResponse för mer information.

När multiplayer-sessionen avslutas måste du anropa EndAuthSession.

Returnerar: EBeginAuthSessionResult


Se även: User Authentication and Ownership

BLoggedOn

bool BLoggedOn();
Kontrollerar om spelservern är påloggad.

Returnerar: bool
true om spelservern är påloggad, annars false.

BSecure

bool BSecure();
Kontrollerar om spelservern är i ”säkert” tillstånd.

Returnerar: bool
true om spelservern är säker, annars false.

Se även: EServerMode, GSPolicyResponse_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
Namn TypBeskrivning
steamIDUserCSteamIDAnvändarens Steam-ID.
pchPlayerNameconst char *Användarens namn.
uScoreuint32Användarens aktuella poäng.

Uppdatera data som ska visas i serverwebbläsaren och matchningsgränssnittet för en användare som för närvarande är ansluten till servern.

OBS: Detta är en del av det gamla API:et för användarautentisering och bör inte blandas med det nya API:et.

Returnerar: bool
true om anropet lyckades, annars false om det uppstod ett fel (dvs. SteamIDuser är inte en spelare på den aktuella servern.)

Se även: User Authentication and Ownership

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
NamnTypBeskrivning
hAuthTicketHAuthTicketDen aktiva autentiseringsbiljetten som ska avbrytas.

Avbryter en autentiseringsbiljett som tagits emot från ISteamUser::GetAuthSessionTicket. Detta bör anropas när man inte längre spelar med den angivna entiteten.

Se även: User Authentication and Ownership

ClearAllKeyValues

void ClearAllKeyValues();
Rensar hela listan med nycklar/värden som skickas i regelförfrågningar.

Se även: SetKeyValue, ISteamMatchmakingServers::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
NamnTypBeskrivning
steamIDNewPlayerCSteamIDSteam-ID till spelaren som försöker gå med.

Kontrollerar om någon av de nuvarande spelarna inte vill spela med den nya spelaren som försöker gå med (eller vice versa), baserat på ”frenemy”-systemet.

Returnerar: SteamAPICall_t ska användas med ett ComputeNewPlayerCompatibilityResult_t-anropsresultat.

CreateUnauthenticatedUserConnection

CSteamID CreateUnauthenticatedUserConnection();
Skapar en falsk användare (dvs. en bot) som visas som att den spelar på servern, men hoppar över validering.

OBS: Detta är en del av det gamla API:et för användarautentisering och bör inte blandas med det nya API:et.

Returnerar: CSteamID
Returnerar det Steam-ID som boten ska spåras med.

Du bör anropa SendUserDisconnect när denna användare lämnar servern precis som du skulle göra för en riktig användare.

EnableHeartbeats

void EnableHeartbeats( bool bActive );
NamnTypBeskrivning
bActiveboolAktivera (true) eller inaktivera (false) uppdateringsfunktionen för huvudservern.

Talar om för Steam-huvudservrarna om du vill vara aktiv eller inte.

Om det är aktiverat kommer servern att kommunicera med huvudservrarna. Om det är avaktiverat kommer inkommande meddelanden att ignoreras och pulsslag skickas inte.

Se även: SetHeartbeatInterval, ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
NamnTypBeskrivning
steamIDCSteamIDEntiteten att avsluta den aktiva autentiseringssessionen med.

Avslutar en autentiseringssession som startades med BeginAuthSession. Detta bör anropas när man inte längre spelar med den angivna entiteten.

Se även: User Authentication and Ownership

ForceHeartbeat

void ForceHeartbeat();
Tvingar ett pulsslag till Steam-huvudservrarna vid nästa tillfälle.

Du behöver vanligtvis inte använda detta.

Se även: EnableHeartbeats, SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
NamnTypBeskrivning
pTicketvoid *Bufferten som den nya autentiseringsbiljetten kopieras in i om anropet lyckades.
cbMaxTicketintStorleken på bufferten som tilldelats för pTicket. Detta bör vara 1024.
pcbTicketuint32 *Returnerar längden på den faktiska biljetten.

Hämtar en autentiseringsbiljett som ska skickas till den entitet som vill autentisera dig.

Efter att det har anropats kan du skicka biljetten till entiteten som sedan kan anropa ISteamUser::BeginAuthSession för att verifiera entitetens integritet.

När du skapar en biljett för användning av webb-API:et ISteamUserAuth/AuthenticateUserTicket bör den anropande applikationen vänta på GetAuthSessionTicketResponse_t-återanropet som genereras av API-anropet innan du försöker använda biljetten för att säkerställa att biljetten har kommunicerats till servern. Om återanropet inte kommer i tid (10–20 sekunder) är klienten inte ansluten till Steam och AuthenticateUserTicket-anropet kommer att misslyckas eftersom det inte kan autentisera användaren.

Returnerar: HAuthTicket
Utlöser ett GetAuthSessionTicketResponse_t-återanrop.
En referens till autentiseringsbiljetten. När du är färdig med att interagera med entiteten måste du anropa CancelAuthTicket på referensen.

Returnerar k_HAuthTicketInvalid om anropet misslyckas.

Se även: User Authentication and Ownership

GetGameplayStats

void GetGameplayStats();
Föråldrad – kommer att tas bort i en framtida version av SDK.

Returnerar: void
Utlöser ett GSGameplayStats_t-återanrop.

GetNextOutgoingPacket

int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
NamnTypBeskrivning
pOutvoid *Returnerar paketet som måste skickas genom att kopiera det in i denna buffert. Paketet kan vara upp till 16 KiB så allokera därefter.
cbMaxOutintStorleken på bufferten som tillhandahålls till pOut bör vara 16 * 1024.
pNetAdruint32 *Returnerar IP-adressen som paketet måste skickas till i värdordning, dvs. 127.0.0.1 == 0x7f000001.
pPortuint16 *Returnerar porten som paketet måste skickas genom, i värdordning.

Hämtar ett paket som uppdateringsfunktionen för huvudservern måste skicka ut till UDP i GameSocketShare-läge.

OBS: Detta ska enbart anropas EFTER ett anrop av HandleIncomingPacket för alla paket som kom i den ramen!

OBS: Detta MÅSTE anropas upprepade gånger för varje ram tills det returnerar 0 när det är i GameSocketShare-läge.

GameSocketShare-läget kan aktiveras när SteamGameServer_Init anropas.

Returnerar: int
Längden på paketet som måste skickas, eller 0 om det inte finns fler paket att skicka i denna ram.

GetPublicIP

uint32 GetPublicIP();
Hämtar serverns offentliga IP enligt Steam.

Det är användbart om servern ligger bakom NAT och du vill annonsera dess IP-adress i en lobby där andra klienter kan ansluta direkt.

Returnerar: uint32
Den offentliga IP-adressen i värdordning, dvs. 127.0.0.1 == 0x7f000001.

Returnerar 0 om IP-adressen inte kunde fastställas.

GetServerReputation

SteamAPICall_t GetServerReputation();
Föråldrad – kommer att tas bort i en framtida version av SDK.

Returnerar: SteamAPICall_t ska användas med ett GSReputation_t-anropsresultat.

GetSteamID

CSteamID GetSteamID();
Hämtar Steam-ID för spelservern.

Returnerar: CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
NamnTypBeskrivning
pDataconst void *Data från det inkommande paketet.
cbDataintStorleken på pData i byte.
srcIPuint32IP-adressen som paketet skickades till i värdordning, dvs. 127.0.0.1 == 0x7f000001.
srcPortuint16Porten som paketet skickades genom, i värdordning.

Hanterar ett Steam-huvudserverpaket i GameSocketShare-läge.

I GameSocketShare-läge, istället för att ISteamGameServer skapar en egen socket för att prata med huvudservern på, låter den spelet använda sin socket för att vidarebefordra meddelanden
fram och tillbaka. Detta hindrar oss från att kräva att serverns operatörer öppnar ytterligare en port i deras brandväggar.

Detta bör anropas när ett paket som börjar med 0xFFFFFFFF kommer in. Det betyder att det är till oss.

IP- och portparametrarna används när du har valt att multiplexa spelserverns UDP-socket istället för att huvudserveruppdateraren använder sin egen socket.

Source Engine-spel använder detta för att förenkla serveradministratörernas jobb, så att de inte behöver öppna fler portar i sina brandväggar.

Endast EFTER du har anropat detta bör du anropa GetNextOutgoingPacket.

GameSocketShare-läget kan aktiveras när SteamGameServer_Init anropas.

Returnerar: bool

InitGameServer

bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
NamnTypBeskrivning
unIPuint32IP-adressen som du vill binda till. (Detta ska vara i värdordning, dvs. 127.0.0.1 == 0x7f000001.) Du kan använda INADDR_ANY för att binda till alla lokala IPv4-adresser.
usGamePortuint16Porten som klienterna kommer att ansluta till för att spela.
usQueryPortuint16Porten som hanterar uppgifter relaterade till serverwebbläsare och informationsping från klienter.
unFlagsuint32En sammanslutning av en eller flera ServerFlags.
nGameAppIdAppId_tApp-ID tillhörande spelet som denna server är till för.
pchVersionStringconst char *Versionssträngen är vanligtvis i formatet x.x.x.x och används av huvudservern för att upptäcka när servern är inaktuell. (Endast servrar med den senaste versionen kommer att listas.)

Initierar instansen av ISteamGameServer. Detta anropas av SteamGameServer_Init, och du behöver vanligtvis inte anropa det direkt.

Om du skickar MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE till usQueryPort, får det spelserverns API att använda GameSocketShare-läge, vilket innebär att spelet ansvarar för att skicka och ta emot UDP-paket för huvudserveruppdateraren.

Om GameSocketShare-läget används måste du använda HandleIncomingPacket och GetNextOutgoingPacket för att interagera med Steams huvudserver.

Returnerar: bool
true om spelservern lyckades binda till den angivna IP-adressen/porten, annars indikerar false att det misslyckats.

LogOff

void LogOff();
Starta processen med att logga ut spelservern från Steam.

Returnerar: void
Utlöser ett SteamServerConnectFailure_t-återanrop.
Utlöser ett SteamServersConnected_t-återanrop.
Utlöser ett SteamServersDisconnected_t-återanrop.

LogOn

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

Starta processen för att logga in på ett beständigt spelserverkonto.

Returnerar: void
Utlöser ett SteamServerConnectFailure_t-återanrop.
Utlöser ett SteamServersConnected_t-återanrop.
Utlöser ett SteamServersDisconnected_t-återanrop.


Se även: LogOnAnonymous

LogOnAnonymous

void LogOnAnonymous();
Logga in på ett generiskt, anonymt konto.

Returnerar: void
Utlöser ett SteamServerConnectFailure_t-återanrop.
Utlöser ett SteamServersConnected_t-återanrop.
Utlöser ett SteamServersDisconnected_t-återanrop.


Se även: LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
Namn TypBeskrivning
steamIDUserCSteamIDAnvändaren vars gruppstatus ska kontrolleras.
steamIDGroupCSteamIDGruppen som ska kontrolleras.

Kontrollerar om en användare är i den angivna Steam-gruppen.

Returnerar: bool
Utlöser ett GSClientGroupStatus_t-återanrop.
true om anropet kunde skickas ut till Steam-servrarna, annars false om vi inte är anslutna till Steam-servrarna eller om en ogiltig användare eller grupp tillhandahölls.

SendUserConnectAndAuthenticate

bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
Namn TypBeskrivning
unIPClientuint32IP-adressen till den anslutande klienten. Detta ska vara i värdordning, dvs. 127.0.0.1 == 0x7f000001.
pvAuthBlobconst void *Autentiseringsdata som tillhandahålls av användaren från ett anrop till ISteamUser::InitiateGameConnection.
cubAuthBlobSizeuint32Storleken på pvAuthBlob i byte.
pSteamIDUserCSteamID *Returnerar användarens Steam-ID. Detta får inte vara NULL.

Hanterar mottagning av en ny anslutning från en Steam-användare. Detta ber Steam-servrarna att validera användarens identitet, ägarskap av app och VAC-status.

Om Steam-servrarna är offline valideras den cachelagrade biljetten som validerar appens ägarskap av app och identitet.

OBS: Detta är en del av det gamla API:et för användarautentisering och bör inte blandas med det nya API:et.

Returnerar: bool
true om användarens biljett klarar grundläggande kontroller, annars false.

Om anropet lyckas kan du förvänta dig ett GSClientApprove_t- eller GSClientDeny_t-återanrop som talar om för dig om autentiseringen för användaren har lyckats eller misslyckats. Steam-ID:t i återanropet matchar det som returneras av det här anropet.

SendUserDisconnect

void SendUserDisconnect( CSteamID steamIDUser );
Namn TypBeskrivning
steamIDUserCSteamIDSteam-ID:t som tillhör användaren som har lämnat spelservern.

Detta bör anropas när en användare lämnar spelservern.

Detta låter Steam internt spåra vilka användare som för närvarande är på vilka servrar i syfte att förhindra att ett enda konto loggas in på flera servrar och visa vem som för närvarande är på servern osv.

OBS: Detta är en del av det gamla API:et för användarautentisering och bör inte blandas med det nya API:et.

SetBotPlayerCount

void SetBotPlayerCount( int cBotplayers );
Namn TypBeskrivning
cBotplayersintAntalet bot-/AI-spelare som för närvarande spelar på servern.

Ställer in antalet bot-/AI-spelare på spelservern. Standardvärdet är 0.

SetDedicatedServer

void SetDedicatedServer( bool bDedicated );
Namn TypBeskrivning
bDedicatedboolÄr detta en dedikerad server (true) eller en lyssningsserver/listen-server (false)?

Ställer in om detta är en dedikerad server eller en lyssningsserver. Standard är lyssningsserver.

OBS: Detta ställs endast in innan du anropar LogOn eller LogOnAnonymous.

SetGameData

void SetGameData( const char *pchGameData );
NamnTypBeskrivning
pchGameDataconst char *Det nya gamedata-värdet att ställa in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerGameData.

Ställer in en sträng som definierar gamedata för den här servern. Detta är valfritt, men om det är inställt tillåter det användare att filtrera i matchnings-/serverwebbläsargränssnitt baserat på värdet.

Detta formateras vanligtvis som en lista separerad av kommatecken eller semikolon.

Ställ inte in strängen om värdet inte ändras. Det laddas bara upp till huvudservern en gång: när det bekräftas.

SetGameDescription

void SetGameDescription( const char *pszGameDescription );
NamnTypBeskrivning
pszGameDescriptionconst char *Beskrivningen av spelet. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerGameDescription.

Ställer in spelets beskrivning. Det rekommenderas att du anger spelets fullständiga namn.

OBS: Detta krävs för alla spelservrar och kan endast ställas in innan anrop av LogOn eller LogOnAnonymous.

SetGameTags

void SetGameTags( const char *pchGameTags );
NamnTypBeskrivning
pchGameTagsconst char *Det nya gametags-värdet att ställa in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerTags.

Ställer in en sträng som definierar gametags för den här servern. Detta är valfritt, men om det är inställt tillåter det användare att filtrera i matchnings-/serverwebbläsargränssnitt baserat på värdet.

Detta formateras vanligtvis som en lista separerad av kommatecken eller semikolon.

Ställ inte in strängen om värdet inte ändras. Detta laddas bara upp till huvudservern en gång: när det bekräftas.

SetHeartbeatInterval

void SetHeartbeatInterval( int iHeartbeatInterval );
NamnTypBeskrivning
iHeartbeatIntervalintIntervallet mellan skickade pulsslag i millisekunder. Vanligtvis mellan 250 och 1000. Använd -1 för att använda standardvärdet.

Ändrar hur ofta pulsslag skickas till Steam-huvudservrarna.

Du behöver vanligtvis inte använda detta.

Se även: EnableHeartbeats, ForceHeartbeat

SetKeyValue

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

Lägg till/uppdatera ett nyckel-/värderegelpar.

Se även: ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
NamnTypBeskrivning
pszMapNameconst char *Det nya kartnamnet som ska ställas in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerMapName.

Ställer in namnet på kartan som ska rapporteras i serverwebbläsaren.

SetMaxPlayerCount

void SetMaxPlayerCount( int cPlayersMax );
NamnTypBeskrivning
cPlayersMaxintDet nya maximala antalet spelare som tillåts på servern.

Ställer in det maximala antalet spelare som tillåts på servern på en gång.

Värdet kan ändras när som helst.

SetModDir

void SetModDir( const char *pszModDir );
NamnTypBeskrivning
pszModDirconst char *Spelkatalogen som ska ställas in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerGameDir.

Ställer in spelkatalogen.

Detta bör vara samma katalog som spelet installeras i. Bara mappens namn, inte hela sökvägen. t.ex. Spacewar.

OBS: Detta krävs för alla spelservrar och kan endast ställas in innan anrop av LogOn eller LogOnAnonymous.

SetPasswordProtected

void SetPasswordProtected( bool bPasswordProtected );
NamnTypBeskrivning
bPasswordProtectedboolAktivera (true) eller inaktivera (false) lösenordsskydd.

Ställer in om spelservern ska kräva ett lösenord en gång när användaren försöker ansluta sig.

SetProduct

void SetProduct( const char *pszProduct );
NamnTypBeskrivning
pszProductconst char *Spelets unika identifierare. Får inte vara NULL eller en tom sträng ("").

Ställer in spelets produktidentifierare. Detta används för närvarande av huvudservern för versionskontroll.

Konvertering av spelets app-ID till en sträng rekommenderas för detta.

OBS: Detta krävs för alla spelservrar och kan endast ställas in innan anrop av LogOn eller LogOnAnonymous.

SetRegion

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

Regionsidentifierare. Detta är ett valfritt fält. Standardvärdet är en tom sträng, vilket betyder regionen ”world”.

SetServerName

void SetServerName( const char *pszServerName );
NamnTypBeskrivning
pszServerNameconst char *Det nya servernamnet som ska ställas in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerName.

Ställer in namnet på servern så som det ska rapporteras i serverwebbläsaren.

SetSpectatorPort

void SetSpectatorPort( uint16 unSpectatorPort );
NamnTypBeskrivning
unSpectatorPortuint16Porten som åskådare kan ansluta sig till.

Ställ in om spelservern tillåter åskådare, och vilken port de ska ansluta till. Standardvärdet är 0, vilket betyder att tjänsten inte används.

SetSpectatorServerName

void SetSpectatorServerName( const char *pszSpectatorServerName );
NamnTypBeskrivning
pszSpectatorServerNameconst char *Åskådarservernamnet som ska ställas in. Får inte vara NULL eller en tom sträng (""). Detta kan inte vara längre än k_cbMaxGameServerMapName.

Ställer in namnet på åskådarservern. Detta används endast om åskådarporten inte är noll.

UserHasLicenseForApp

EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
Namn TypBeskrivning
steamIDCSteamIDSteam-ID:t som tillhör användaren som skickade autentiseringsbiljetten.
app-IDAppId_tApp-ID till DLC för att kontrollera om användaren äger det.

Kontrollerar om användaren äger ett specifikt Downloadable Content (DLC).

Detta kan endast anropas efter att användarens autentiseringsbiljett har skickats till BeginAuthSession.

Returnerar: EUserHasLicenseForAppResult


Se även: User Authentication and Ownership

WasRestartRequested

bool WasRestartRequested();
Kontrollerar om huvudservern har varnat om inaktuell version.

Detta återgår till false efter att funktionen har anropats.

Returnerar: bool
true om huvudservern vill att den här spelservern ska uppdateras och startas om, annars false.

Återanrop

Återanrop som kan aktiveras genom att anropa SteamAPI_RunCallbacks. Många av dem kommer att utlösas direkt som svar på medlemsfunktionerna i ISteamGameServer.

AssociateWithClanResult_t

Skickas när spelservern försöker associeras med en Steam-grupp.

Namn TypBeskrivning
m_eResultEResultResultatet av operationen. Möjliga värden:

Tillhörande funktioner: AssociateWithClan

ComputeNewPlayerCompatibilityResult_t

Skickas när spelservern kontrollerar om den nya spelaren passar bra för servern, baserat på ”frenemy”-systemet.

Namn TypBeskrivning
m_eResultEResultResultatet av operationen. Möjliga värden:
m_cPlayersThatDontLikeCandidateintAntalet nuvarande spelare som inte gillar att spela med den angivna spelaren.
m_cPlayersThatCandidateDoesntLikeintAntalet spelare på servern som den angivna spelaren inte gillar att spela med.
m_cClanPlayersThatDontLikeCandidateintAntalet spelare i den tillhörande Steam-gruppen som inte gillar att spela med spelaren.
m_SteamIDCandidateCSteamIDSteam-ID:t som tillhör den angivna spelaren.

Tillhörande funktioner: ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

Föråldrad – använd ISteamGameServerStats istället.

Namn TypBeskrivning
m_SteamIDuint64Inaktuell
m_pchAchievementchar[128]Inaktuell
m_bUnlockedboolInaktuell

GSClientApprove_t

En klient har godkänts för anslutning till den här spelservern.

NamnTypBeskrivning
m_SteamIDCSteamIDSteam-ID:t som tillhör spelaren som vill ansluta.
m_OwnerSteamIDCSteamIDDet Steam-ID som äger spelet. Det skiljer sig från m_SteamID om spelet nås via Steam-familjedelning.

GSClientDeny_t

Anropas när en användare har nekats anslutning till spelservern.

NamnTypBeskrivning
m_SteamIDCSteamIDSteam-ID:t som tillhör spelaren som försökte att ansluta.
m_eDenyReasonEDenyReasonAnledningen till att spelaren nekades.
m_rgchOptionalTextchar[128]Ett valfritt textmeddelande som förklarar orsaken till nekandet. Används vanligtvis inte annat än för loggning.

GSClientGroupStatus_t

Anropas när vi har mottagit en användares gruppstatus.

NamnTypBeskrivning
m_SteamIDUserCSteamIDAnvändaren vars gruppstatus vi efterfrågade.
m_SteamIDGroupCSteamIDGruppen som vi efterfrågade.
m_bMemberboolÄr användaren medlem i gruppen (true) eller inte (false)?
m_bOfficerboolÄr användaren en officer i gruppen (true) eller inte (false)? Detta kommer aldrig att vara true om M_BMember är false.

Tillhörande funktioner: RequestUserGroupStatus

GSClientKick_t

Anropas när spelservern ska sparka ut användaren.

NamnTypBeskrivning
m_SteamIDCSteamIDSteam-ID:t som tillhör spelaren som ska sparkas ut.
m_eDenyReasonEDenyReasonAnledningen till att spelaren sparkades ut.

GSGameplayStats_t

Föråldrad – anropas när spelstatistikinformation har sökts med GetGameplayStats.

NamnTypBeskrivning
m_eResultEResultResultatet av operationen.
m_nRankint32Serverns övergripande rankning (0-baserad).
m_unTotalConnectsuint32Det totala antal klienter som någonsin har varit anslutna till servern.
m_unTotalMinutesPlayeduint32Det totala antal minuter som någonsin spelats på servern.

Tillhörande funktioner: GetGameplayStats

GSPolicyResponse_t

Tas emot när spelservern ber om att visas som säker (VAC-skyddad).

NamnTypBeskrivning
m_bSecureuint8Är servern inställd till säker (true) eller osäker (false)?

GSReputation_t

Föråldrad – anropas när spelserverns omdöme har efterfrågats.

Huvudserverförbud är utifrån IP-adress så det är möjligt att bli utestängd även när poängen är bra om det finns en dålig server på en annan port.
Informationen kan användas för att avgöra vilken server som är dålig.

NamnTypBeskrivning
m_eResultEResultResultatet av operationen.
m_unReputationScoreuint32Spelserverns omdömespoäng.
m_bBannedboolÄr servern utestängd från Steam-huvudservrarna (true) eller inte (false)?
m_unBannedIPuint32IP-adressen som tillhör den förbjudna servern. Ställ enbart in om m_bBanned är true.
m_usBannedPortuint16Porten som tillhör den förbjudna servern. Ställ enbart in om m_bBanned är true.
m_ulBannedGameIDuint64Spel-ID som betjänas av den förbjudna servern. Ställ enbart in om m_bBanned är true.
m_unBanExpiresuint32Tidpunkten då förbudet löper ut, tillhandahållet i Unix-format (sekunder sedan 1 januari 1970). Ställ enbart in om m_bBanned är true.

Tillhörande funktioner: GetServerReputation

Konstanter

Konstanter som definieras för användning med ISteamGameServer.

NamnTypVärdeBeskrivning
k_unServerFlagActiveuint320x01Spelservern har användare som spelar.
k_unServerFlagDedicateduint320x04Spelservern är dedikerad.
k_unServerFlagLinuxuint320x08Spelservern körs på Linux.
k_unServerFlagNoneuint320x00Spelservern har inga flaggor.
k_unServerFlagPasswordeduint320x10Spelservern är lösenordsskyddad.
k_unServerFlagPrivateuint320x20Spelservern bör inte listas på huvudservern och kommer inte att tvinga autentisering av användare som ansluter till servern.
Detta är användbart när du kör en server där klienterna kanske inte är anslutna till internet men du vill att de ska vara tillåtna att spela (dvs. LAN).
k_unServerFlagSecureuint320x02Denna spelserver vill vara VAC-säkrad.
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)Används med SteamGameServer_Init för att aktivera GameSocketShare-läget.
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"