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 | Typ | Beskrivning |
steamIDClan | CSteamID | Steam-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 | Typ | Beskrivning |
pAuthTicket | const void * | Autentiseringsbiljetten som ska valideras. |
cbAuthTicket | int | Autentiseringsbiljettens storlek i byte. Detta måste vara storleken på pcbTicket som tillhandahålls av anropet som skapade biljetten. |
steamID | CSteamID | Steam-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: EBeginAuthSessionResultSe även: User Authentication and OwnershipBLoggedOn
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_tBUpdateUserData
bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
Namn | Typ | Beskrivning |
steamIDUser | CSteamID | Användarens Steam-ID. |
pchPlayerName | const char * | Användarens namn. |
uScore | uint32 | Anvä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 OwnershipCancelAuthTicket
void CancelAuthTicket( HAuthTicket hAuthTicket );
Namn | Typ | Beskrivning |
hAuthTicket | HAuthTicket | Den 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 OwnershipClearAllKeyValues
void ClearAllKeyValues();
Rensar hela listan med nycklar/värden som skickas i regelförfrågningar.
Se även: SetKeyValue,
ISteamMatchmakingServers::ServerRulesComputeNewPlayerCompatibility
SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
Namn | Typ | Beskrivning |
steamIDNewPlayer | CSteamID | Steam-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: CSteamIDReturnerar 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 );
Namn | Typ | Beskrivning |
bActive | bool | Aktivera (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,
ForceHeartbeatEndAuthSession
void EndAuthSession( CSteamID steamID );
Namn | Typ | Beskrivning |
steamID | CSteamID | Entiteten 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 OwnershipForceHeartbeat
void ForceHeartbeat();
Tvingar ett pulsslag till Steam-huvudservrarna vid nästa tillfälle.
Du behöver vanligtvis inte använda detta.
Se även: EnableHeartbeats,
SetHeartbeatIntervalGetAuthSessionTicket
HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
Namn | Typ | Beskrivning |
pTicket | void * | Bufferten som den nya autentiseringsbiljetten kopieras in i om anropet lyckades. |
cbMaxTicket | int | Storleken på bufferten som tilldelats för pTicket . Detta bör vara 1024. |
pcbTicket | uint32 * | 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: HAuthTicketUtlö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 OwnershipGetGameplayStats
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 );
Namn | Typ | Beskrivning |
pOut | void * | 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. |
cbMaxOut | int | Storleken på bufferten som tillhandahålls till pOut bör vara 16 * 1024. |
pNetAdr | uint32 * | Returnerar IP-adressen som paketet måste skickas till i värdordning, dvs. 127.0.0.1 == 0x7f000001. |
pPort | uint16 * | 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: uint32Den 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: CSteamIDHandleIncomingPacket
bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
Namn | Typ | Beskrivning |
pData | const void * | Data från det inkommande paketet. |
cbData | int | Storleken på pData i byte. |
srcIP | uint32 | IP-adressen som paketet skickades till i värdordning, dvs. 127.0.0.1 == 0x7f000001. |
srcPort | uint16 | Porten 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 );
Namn | Typ | Beskrivning |
unIP | uint32 | IP-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. |
usGamePort | uint16 | Porten som klienterna kommer att ansluta till för att spela. |
usQueryPort | uint16 | Porten som hanterar uppgifter relaterade till serverwebbläsare och informationsping från klienter. |
unFlags | uint32 | En sammanslutning av en eller flera ServerFlags. |
nGameAppId | AppId_t | App-ID tillhörande spelet som denna server är till för. |
pchVersionString | const 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 );
Namn | Typ | Beskrivning |
pszToken | const 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: LogOnAnonymousLogOnAnonymous
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: LogOnRequestUserGroupStatus
bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
Namn | Typ | Beskrivning |
steamIDUser | CSteamID | Användaren vars gruppstatus ska kontrolleras. |
steamIDGroup | CSteamID | Gruppen 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 | Typ | Beskrivning |
unIPClient | uint32 | IP-adressen till den anslutande klienten. Detta ska vara i värdordning, dvs. 127.0.0.1 == 0x7f000001. |
pvAuthBlob | const void * | Autentiseringsdata som tillhandahålls av användaren från ett anrop till ISteamUser::InitiateGameConnection. |
cubAuthBlobSize | uint32 | Storleken på pvAuthBlob i byte. |
pSteamIDUser | CSteamID * | 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 | Typ | Beskrivning |
steamIDUser | CSteamID | Steam-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 | Typ | Beskrivning |
cBotplayers | int | Antalet 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 | Typ | Beskrivning |
bDedicated | bool | Ä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 );
Namn | Typ | Beskrivning |
pchGameData | const 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 );
Namn | Typ | Beskrivning |
pszGameDescription | const 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 );
Namn | Typ | Beskrivning |
pchGameTags | const 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 );
Namn | Typ | Beskrivning |
iHeartbeatInterval | int | Intervallet 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,
ForceHeartbeatSetKeyValue
void SetKeyValue( const char *pKey, const char *pValue );
Namn | Typ | Beskrivning |
pKey | const char * | |
pValue | const char * | |
Lägg till/uppdatera ett nyckel-/värderegelpar.
Se även: ClearAllKeyValues,
ISteamMatchmakingServers::ServerRulesSetMapName
void SetMapName( const char *pszMapName );
Namn | Typ | Beskrivning |
pszMapName | const 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 );
Namn | Typ | Beskrivning |
cPlayersMax | int | Det 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 );
Namn | Typ | Beskrivning |
pszModDir | const 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 );
Namn | Typ | Beskrivning |
bPasswordProtected | bool | Aktivera (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 );
Namn | Typ | Beskrivning |
pszProduct | const 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 );
Namn | Typ | Beskrivning |
pszRegion | const 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 );
Namn | Typ | Beskrivning |
pszServerName | const 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 );
Namn | Typ | Beskrivning |
unSpectatorPort | uint16 | Porten 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 );
Namn | Typ | Beskrivning |
pszSpectatorServerName | const 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 | Typ | Beskrivning |
steamID | CSteamID | Steam-ID:t som tillhör användaren som skickade autentiseringsbiljetten. |
app-ID | AppId_t | App-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: EUserHasLicenseForAppResultSe även: User Authentication and OwnershipWasRestartRequested
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 | Typ | Beskrivning |
m_eResult | EResult | Resultatet av operationen. Möjliga värden:
|
Tillhörande funktioner: AssociateWithClanComputeNewPlayerCompatibilityResult_t
Skickas när spelservern kontrollerar om den nya spelaren passar bra för servern, baserat på ”frenemy”-systemet.
Namn | Typ | Beskrivning |
m_eResult | EResult | Resultatet av operationen. Möjliga värden:
|
m_cPlayersThatDontLikeCandidate | int | Antalet nuvarande spelare som inte gillar att spela med den angivna spelaren. |
m_cPlayersThatCandidateDoesntLike | int | Antalet spelare på servern som den angivna spelaren inte gillar att spela med. |
m_cClanPlayersThatDontLikeCandidate | int | Antalet spelare i den tillhörande Steam-gruppen som inte gillar att spela med spelaren. |
m_SteamIDCandidate | CSteamID | Steam-ID:t som tillhör den angivna spelaren. |
Tillhörande funktioner: ComputeNewPlayerCompatibilityGSClientAchievementStatus_t
Föråldrad – använd
ISteamGameServerStats istället.
Namn | Typ | Beskrivning |
m_SteamID | uint64 | Inaktuell |
m_pchAchievement | char[128] | Inaktuell |
m_bUnlocked | bool | Inaktuell |
GSClientApprove_t
En klient har godkänts för anslutning till den här spelservern.
Namn | Typ | Beskrivning |
m_SteamID | CSteamID | Steam-ID:t som tillhör spelaren som vill ansluta. |
m_OwnerSteamID | CSteamID | Det 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.
Namn | Typ | Beskrivning |
m_SteamID | CSteamID | Steam-ID:t som tillhör spelaren som försökte att ansluta. |
m_eDenyReason | EDenyReason | Anledningen till att spelaren nekades. |
m_rgchOptionalText | char[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.
Namn | Typ | Beskrivning |
m_SteamIDUser | CSteamID | Användaren vars gruppstatus vi efterfrågade. |
m_SteamIDGroup | CSteamID | Gruppen som vi efterfrågade. |
m_bMember | bool | Är användaren medlem i gruppen (true) eller inte (false)? |
m_bOfficer | bool | Ä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: RequestUserGroupStatusGSClientKick_t
Anropas när spelservern ska sparka ut användaren.
Namn | Typ | Beskrivning |
m_SteamID | CSteamID | Steam-ID:t som tillhör spelaren som ska sparkas ut. |
m_eDenyReason | EDenyReason | Anledningen till att spelaren sparkades ut. |
GSGameplayStats_t
Föråldrad – anropas när spelstatistikinformation har sökts med
GetGameplayStats.
Namn | Typ | Beskrivning |
m_eResult | EResult | Resultatet av operationen. |
m_nRank | int32 | Serverns övergripande rankning (0-baserad). |
m_unTotalConnects | uint32 | Det totala antal klienter som någonsin har varit anslutna till servern. |
m_unTotalMinutesPlayed | uint32 | Det totala antal minuter som någonsin spelats på servern. |
Tillhörande funktioner: GetGameplayStatsGSPolicyResponse_t
Tas emot när spelservern ber om att visas som säker (VAC-skyddad).
Namn | Typ | Beskrivning |
m_bSecure | uint8 | Ä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.
Namn | Typ | Beskrivning |
m_eResult | EResult | Resultatet av operationen. |
m_unReputationScore | uint32 | Spelserverns omdömespoäng. |
m_bBanned | bool | Är servern utestängd från Steam-huvudservrarna (true) eller inte (false)? |
m_unBannedIP | uint32 | IP-adressen som tillhör den förbjudna servern. Ställ enbart in om m_bBanned är true. |
m_usBannedPort | uint16 | Porten som tillhör den förbjudna servern. Ställ enbart in om m_bBanned är true. |
m_ulBannedGameID | uint64 | Spel-ID som betjänas av den förbjudna servern. Ställ enbart in om m_bBanned är true. |
m_unBanExpires | uint32 | Tidpunkten 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: GetServerReputationKonstanter
Konstanter som definieras för användning med ISteamGameServer.
Namn | Typ | Värde | Beskrivning |
k_unServerFlagActive | uint32 | 0x01 | Spelservern har användare som spelar. |
k_unServerFlagDedicated | uint32 | 0x04 | Spelservern är dedikerad. |
k_unServerFlagLinux | uint32 | 0x08 | Spelservern körs på Linux. |
k_unServerFlagNone | uint32 | 0x00 | Spelservern har inga flaggor. |
k_unServerFlagPassworded | uint32 | 0x10 | Spelservern är lösenordsskyddad. |
k_unServerFlagPrivate | uint32 | 0x20 | Spelservern 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_unServerFlagSecure | uint32 | 0x02 | Denna spelserver vill vara VAC-säkrad. |
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE | int | ((uint16)-1) | Används med SteamGameServer_Init för att aktivera GameSocketShare-läget. |
STEAMGAMESERVER_INTERFACE_VERSION | const char * | "SteamGameServer012" | |