Stellt den Kern der Steam-Spielserver-API bereit.
Memberfunktionen
Memberfunktionen für
ISteamGameServer
werden über die globale Accessorfunktion
SteamGameServer()
aufgerufen.
AssociateWithClan
SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
Name | Typ | Beschreibung |
steamIDClan | CSteamID | Die Steam-ID der Gruppe, mit der Sie verknüpft werden möchten. |
Verknüpft diesen Spielserver zum Berechnen der Spielerkompatibilität mit dem angegebenen Clan.
Rückgabewert: SteamAPICall_t zur Verwendung mit einem Aufrufergebnis von
AssociateWithClanResult_t.
BeginAuthSession
EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
Name | Typ | Beschreibung |
pAuthTicket | const void * | Das zu validierende Authentifizierungsticket. |
cbAuthTicket | int | Die Größe des Authentifizierungstickets in Bytes. Dies muss die Größe von pcbTicket sein, die von dem Aufruf bereitgestellt wurde, der dieses Ticket erstellt hat. |
steamID | CSteamID | Die Steam-ID der Entität, die dieses Ticket gesendet hat. |
Authentifiziert das Ticket der Steam-ID der Entität, um sicherzustellen, dass es gültig ist und nicht wiederverwendet wird. Achtung: Diese Identität ist nicht bestätigt, bis der Rückruf
ValidateAuthTicketResponse_t empfangen wird und der Rückgabewert darin auf Erfolg überprüft wurde.
Das Ticket wird von der Entität mit
ISteamUser::GetAuthSessionTicket oder
ISteamGameServer::GetAuthSessionTicket erstellt und muss dann über das Netzwerk dem anderen Ende zur Validierung bereitgestellt werden.
Dieser Aufruf registriert
ValidateAuthTicketResponse_t-Rückrufe, wenn die Entität offline geht oder das Ticket storniert. Weitere Informationen finden Sie hier:
EAuthSessionResponse.
Wenn die Mehrspielersitzung beendet wird, müssen Sie
ISteamGameServer::EndAuthSession aufrufen.
Rückgabewert: EBeginAuthSessionResultSiehe auch: Benutzerauthentifizierung und EigentumBLoggedOn
bool BLoggedOn();
Überprüft, ob der Spielserver angemeldet ist.
Rückgabewert: bool
true, wenn der Spielserver angemeldet ist. Andernfalls
false.
BSecure
bool BSecure();
Überprüft, ob sich der Spielserver im Modus „Gesichert“ befindet.
Rückgabewert: bool
true, wenn der Spielserver gesichert ist. Andernfalls
false.
Siehe auch: EServerMode,
GSPolicyResponse_tBUpdateUserData
bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
Name | Typ | Beschreibung |
steamIDUser | CSteamID | Die Steam-ID des Benutzers. |
pchPlayerName | const char * | Der Name des Benutzers. |
uScore | uint32 | Die aktuelle Wertung des Benutzers. |
Aktualisiert die Daten, die in der Serverbrowser-Schnittstelle und der Spielsuche-Schnittstelle für einen derzeit mit dem Server verbundenen Benutzer angezeigt werden sollen.
HINWEIS: Diese Funktion ist Teil der alten Benutzerauthentifizierungs-API und sollte nicht zusammen mit Elementen der neuen API verwendet werden.
Rückgabewert: bool
true, wenn der Aufruf erfolgreich war, andernfalls,
false (d. h.,
steamIDUser
ist kein Spieler auf dem aktuellen Server).
Siehe auch: Benutzerauthentifizierung und EigentumCancelAuthTicket
void CancelAuthTicket( HAuthTicket hAuthTicket );
Name | Typ | Beschreibung |
hAuthTicket | HAuthTicket | Das aktive Authentifizierungsticket, das storniert werden soll. |
Storniert ein von
ISteamUser::GetAuthSessionTicket erhaltenes Authentifizierungsticket. Diese Funktion sollte aufgerufen werden, wenn Sie nicht mehr mit der angegebenen Entität spielen.
Siehe auch: Benutzerauthentifizierung und EigentumClearAllKeyValues
void ClearAllKeyValues();
Löscht die ganze Liste von Schlüsseln/Werten, die in Regelabfragen gesendet werden.
Siehe auch: ISteamGameServer::SetKeyValue,
ISteamMatchmakingServers::ServerRulesComputeNewPlayerCompatibility
SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
Name | Typ | Beschreibung |
steamIDNewPlayer | CSteamID | Die Steam-ID des Spielers, der beizutreten versucht. |
Überprüft, ob einer oder mehrere der aktuellen Spieler mit diesem neuen Spieler, der beizutreten versucht, nicht spielen wollen oder umgekehrt; dies beruht auf dem Frenemy-System.
Rückgabewert: SteamAPICall_t zur Verwendung mit einem Aufrufergebnis von
ComputeNewPlayerCompatibilityResult_t.
CreateUnauthenticatedUserConnection
CSteamID CreateUnauthenticatedUserConnection();
Erzeugt einen unechten Benutzer (d. h. einen Bot), der als Spieler auf dem Server aufgeführt wird, aber die Validierung überspringt.
HINWEIS: Diese Funktion ist Teil der alten Benutzerauthentifizierungs-API und sollte nicht zusammen mit Elementen der neuen API verwendet werden.
Rückgabewert: CSteamIDGibt die Steam-ID zurück, mit der der Bot verfolgt werden soll.
Sie sollten genau wie bei einem echten Benutzer
ISteamGameServer::SendUserDisconnect aufrufen, wenn dieser Benutzer den Server verlässt.
EnableHeartbeats
void EnableHeartbeats( bool bActive );
Name | Typ | Beschreibung |
bActive | bool | Aktiviert (true) oder deaktiviert (false) den Masterserver-Updater. |
Teilt den Steam-Masterservern mit, ob Sie aktiv sein möchten oder nicht.
Wenn dies aktiviert ist, kommuniziert der Server mit den Masterservern; andernfalls werden eingehende Nachrichten ignoriert und keine Heartbeat-Signale gesendet.
Siehe auch: ISteamGameServer::SetHeartbeatInterval,
ISteamGameServer::ForceHeartbeatEndAuthSession
void EndAuthSession( CSteamID steamID );
Name | Typ | Beschreibung |
steamID | CSteamID | Die Entität, mit der die aktive Authentifizierungssitzung beendet werden soll. |
Beendet eine mit
ISteamGameServer::BeginAuthSession begonnene Authentifizierungssitzung. Diese Funktion sollte aufgerufen werden, wenn Sie nicht mehr mit der angegebenen Entität spielen.
Siehe auch: Benutzerauthentifizierung und EigentumForceHeartbeat
void ForceHeartbeat();
Erzwingt bei nächster Gelegenheit das Senden eines Heartbeat-Signals an die Steam-Masterserver.
Normalerweise ist dies nicht erforderlich.
Siehe auch: ISteamGameServer::EnableHeartbeats,
ISteamGameServer::SetHeartbeatIntervalGetAuthSessionTicket
HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
Name | Typ | Beschreibung |
pTicket | void * | Der Puffer, in den das neue Authentifizierungsticket kopiert wird, wenn der Aufruf erfolgreich war. |
cbMaxTicket | int | Die zugewiesene Größe des angegebenen Puffers pTicket . Sollte 1024 sein. |
pcbTicket | uint32 * | Gibt die Länge des tatsächlichen Tickets zurück. |
Ruft ein Authentifizierungsticket ab, das an die Entität gesendet werden soll, die Sie authentifizieren möchten.
Nachdem Sie diese Funktion aufgerufen haben, können Sie das Ticket an die Entität senden, die daraufhin
ISteamUser::BeginAuthSession aufrufen kann, um die Integrität dieser Entität zu verifizieren.
Beim Erstellen eines Tickets zur Verwendung durch die Web-API
ISteamUserAuth/AuthenticateUserTicket sollte die aufrufende Anwendung auf den von der API generierten Rückruf
GetAuthSessionTicketResponse_t warten, bevor sie versucht, das Ticket zu verwenden. So wird sichergestellt, dass das Ticket an den Server übermittelt wurde. Wenn dieser Rückruf nicht innerhalb eines angemessenen Zeitraums (10 bis 20 Sekunden) übermittelt wird, ist Ihr Client nicht mit Steam verbunden. Der Aufruf von AuthenticeUserTicket schlägt fehl, da der Benutzer nicht authentifiziert werden kann.
Rückgabewert: HAuthTicketLöst einen
GetAuthSessionTicketResponse_t-Rückruf aus.
Ein Handle zum Authentifizierungsticket. Wenn Sie die Interaktion mit der Entität abgeschlossen haben, müssen Sie für den Handle
ISteamGameServer::CancelAuthTicket aufrufen.
Gibt
k_HAuthTicketInvalid zurück, wenn der Aufruf fehlschlägt.
Siehe auch: Benutzerauthentifizierung und EigentumGetGameplayStats
void GetGameplayStats();
(Veraltet) Wird in einer zukünftigen Version des SDK entfernt.
Rückgabewert: void
Löst einen
GSGameplayStats_t-Rückruf aus.
GetNextOutgoingPacket
int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
Name | Typ | Beschreibung |
pOut | void * | Gibt das Paket zurück, das gesendet werden muss, indem es in diesen Puffer kopiert wird. Das Paket darf bis zu 16 KiB groß sein. Weisen Sie es daher entsprechend zu. |
cbMaxOut | int | Die Größe des angegebenen Puffers pOut . Sollte 16 * 1024 sein. |
pNetAdr | uint32 * | Gibt die IP-Adresse, an die dieses Paket gesendet werden soll, in Host-Byte-Reihenfolge zurück, d. h.: 127.0.0.1 == 0x7f000001. |
pPort | uint16 * | Gibt den Port, über den dieses Paket gesendet werden soll, in Host-Byte-Reihenfolge zurück. |
Ruft ein Paket ab, das der Masterserver-Updater über UDP senden muss, wenn er sich im GameSocketShare-Modus befindet.
HINWEIS: Dies sollte immer nur aufgerufen werden, NACHDEM für alle in diesem Frame eingegangenen Pakete
ISteamGameServer::HandleIncomingPacket aufgerufen wurde!
HINWEIS: Im GameSocketShare-Modus MUSS diese Funktion jeden Frame erneut aufgerufen werden, bis 0 zurückgegeben wird.
Der GameSocketShare-Modus kann durch einen Aufruf von
SteamGameServer_Init aktiviert werden.
Rückgabewert: int
Die Länge des zu sendenden Pakets oder 0, wenn in diesem Frame keine weiteren Pakete mehr gesendet werden müssen.
GetPublicIP
uint32 GetPublicIP();
Liefert die öffentliche IP-Adresse des Servers laut Steam.
Dies ist nützlich, wenn sich der Server hinter einer NAT-Firewall befindet und Sie seine IP-Adresse in einer Lobby bekanntgeben möchten, über die andere Clients eine direkte Verbindung herstellen können.
Rückgabewert: uint32Die öffentliche IP-Adresse in Host-Byte-Reihenfolge, d. h.: 127.0.0.1 == 0x7f000001.
Gibt
0 zurück, wenn die IP-Adresse nicht festgestellt werden kann.
GetServerReputation
SteamAPICall_t GetServerReputation();
(Veraltet) Wird in einer zukünftigen Version des SDK entfernt.
Rückgabewert: SteamAPICall_t zur Verwendung mit einem Aufrufergebnis von
GSReputation_t.
GetSteamID
CSteamID GetSteamID();
Liefert die Steam-ID des Spielservers.
Rückgabewert: CSteamIDHandleIncomingPacket
bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
Name | Typ | Beschreibung |
pData | const void * | Die Daten aus dem eingehenden Paket. |
cbData | int | Die Größe von pData in Bytes. |
srcIP | uint32 | Die IP-Adresse, an die dieses Paket gesendet wurde, in Host-Byte-Reihenfolge, d. h.: 127.0.0.1 == 0x7f000001. |
srcPort | uint16 | Der Port, über den dieses Paket gesendet wurde, in Host-Byte-Reihenfolge. |
Verarbeitet ein Steam-Masterserverpaket im GameSocketShare-Modus.
Im GameSocketShare-Modus erstellt ISteamGameServer keinen eigenen Socket, um mit dem Masterserver zu kommunizieren. Stattdessen kann das Spiel seinen eigenen Socket verwenden, um Nachrichten
hin- und herzusenden. Dadurch müssen Serverbetreiber keinen weiteren Port in der Firewall öffnen.
Diese Funktion sollte jedes Mal aufgerufen werden, wenn ein Paket eingeht, das mit 0xFFFFFFFF beginnt. Das bedeutet, dass es für uns bestimmt ist.
Der IP-Parameter und der Port-Parameter werden verwendet, wenn Sie entschieden haben, den UDP-Socket des Spielservers im Multiplexbetrieb zu verwenden, statt dem Masterserver-Updater zu gestatten, seine eigenen Sockets zu verwenden.
Dies wird von Source-Engine-Spielen verwendet, um die Aufgabe der Serveradministratoren zu vereinfachen, da sie dann keine weiteren Ports in ihren Firewalls öffnen müssen.
Rufen Sie
ISteamGameServer::GetNextOutgoingPacket erst auf,
NACHDEM Sie diese Funktion aufgerufen haben.
Der GameSocketShare-Modus kann durch einen Aufruf von
SteamGameServer_Init aktiviert werden.
Rückgabewert: bool
InitGameServer
bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
Name | Typ | Beschreibung |
unIP | uint32 | Die IP-Adresse, die Sie verwenden möchten. (Die IP-Adresse muss in Host-Byte-Reihenfolge angegeben werden, d. h.: 127.0.0.1 == 0x7f000001.) Sie können INADDR_ANY angeben, um alle lokalen IPv4-Adressen zu verwenden. |
usGamePort | uint16 | Der Port, mit dem sich Clients zum Spielen verbinden. |
usQueryPort | uint16 | Der Port zur Verwaltung von Serverbrowser-bezogenen Aufgaben und Info-Pings von Clients. |
unFlags | uint32 | Eine Menge von einem oder mehreren Server-Flags. |
nGameAppId | AppId_t | Die App-ID des Spiels, für das dieser Server vorgesehen ist. |
pchVersionString | const char * | Die Versionszeichenfolge hat normalerweise das Format x.x.x.x und wird vom Masterserver für die Erkennung veralteter Server verwendet. (Nur Server mit der neuesten Version werden aufgelistet.) |
Initialisiert die Instanz von ISteamGameServer. Wird von
SteamGameServer_Init aufgerufen und muss normalerweise nicht direkt aufgerufen werden.
Wenn Sie
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE an
usQueryPort
übergeben, verwendet die Spielserver-API den „GameSocketShare“-Modus, bei dem das Spiel dafür verantwortlich ist, UDP-Pakete für den Masterserver-Updater zu senden und zu empfangen.
Bei Verwendung des GameSocketShare-Modus müssen Sie
ISteamGameServer::HandleIncomingPacket und
ISteamGameServer::GetNextOutgoingPacket verwenden, um mit dem Steam-Masterserver zu interagieren.
Rückgabewert: bool
true, wenn der Spielserver die angegebene IP-Adresse und den angegeben Port erfolgreich verwenden kann. Andernfalls
false.
LogOff
void LogOff();
Startet den Prozess, der den Spielserver von Steam abmeldet.
Rückgabewert: void
Löst einen
SteamServerConnectFailure_t-Rückruf aus.
Löst einen
SteamServersConnected_t-Rückruf aus.
Löst einen
SteamServersDisconnected_t-Rückruf aus.
LogOn
void LogOn( const char *pszToken );
Name | Typ | Beschreibung |
pszToken | const char * | |
Startet den Prozess, sich mit einem persistenten Spielserver-Account anzumelden.
Rückgabewert: void
Löst einen
SteamServerConnectFailure_t-Rückruf aus.
Löst einen
SteamServersConnected_t-Rückruf aus.
Löst einen
SteamServersDisconnected_t-Rückruf aus.
Siehe auch: ISteamGameServer::LogOnAnonymousLogOnAnonymous
void LogOnAnonymous();
Meldet sich mit einem generischen, anonymen Account an.
Rückgabewert: void
Löst einen
SteamServerConnectFailure_t-Rückruf aus.
Löst einen
SteamServersConnected_t-Rückruf aus.
Löst einen
SteamServersDisconnected_t-Rückruf aus.
Siehe auch: ISteamGameServer::LogOnRequestUserGroupStatus
bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
Name | Typ | Beschreibung |
steamIDUser | CSteamID | Der Benutzer, dessen Gruppenstatus überprüft werden soll. |
steamIDGroup | CSteamID | Die zu überprüfende Gruppe. |
Überprüft, ob sich ein Benutzer in der angegebenen Steam-Gruppe befindet.
Rückgabewert: bool
Löst einen
GSClientGroupStatus_t-Rückruf aus.
true, wenn der Aufruf erfolgreich an die Steam-Server gesendet wurde.
false, wenn keine Verbindung zu den Steam-Servern besteht oder ein ungültiger Benutzer oder eine ungültige Gruppe angegeben wurde.
SendUserConnectAndAuthenticate
bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
Name | Typ | Beschreibung |
unIPClient | uint32 | Die IP-Adresse des Clients, der eine Verbindung herstellt. Die IP-Adresse muss in Host-Byte-Reihenfolge angegeben werden, d. h.: 127.0.0.1 == 0x7f000001. |
pvAuthBlob | const void * | Die vom Benutzer durch einen Aufruf von ISteamUser::InitiateGameConnection bereitgestellten Authentifizierungsdaten. |
cubAuthBlobSize | uint32 | Die Größe von pvAuthBlob in Bytes. |
pSteamIDUser | CSteamID * | Gibt die Steam-ID des Benutzers zurück. Darf nicht NULL sein. |
Verarbeitet den Empfang einer neuen Verbindung von einem Steam-Benutzer. Dabei werden die Steam-Server gebeten, die Identität, den Besitz der Anwendung und den VAC-Status des Benutzers zu validieren.
Wenn die Steam-Server offline sind, wird das zwischengespeicherte Ticket selbst validiert, wodurch Besitz der Anwendung und Identität validiert werden.
HINWEIS: Diese Funktion ist Teil der alten Benutzerauthentifizierungs-API und sollte nicht zusammen mit Elementen der neuen API verwendet werden.
Rückgabewert: bool
true, wenn das Benutzerticket grundlegende Überprüfungen besteht. Andernfalls
false.
Wenn dieser Aufruf erfolgreich ist, sollten Sie mit einem
GSClientApprove_t-Rückruf oder einem
GSClientDeny_t-Rückruf rechnen, der Sie darüber informiert, ob die Authentifizierung für den Benutzer erfolgreich war oder fehlgeschlagen ist. Die Steam-ID im Rückruf stimmt mit der von diesem Aufruf zurückgegebenen Steam-ID überein.
SendUserDisconnect
void SendUserDisconnect( CSteamID steamIDUser );
Name | Typ | Beschreibung |
steamIDUser | CSteamID | Die Steam-ID des Benutzers, der den Spielserver verlassen hat. |
Diese Funktion sollte immer dann aufgerufen werden, wenn ein Benutzer den Spielserver verlässt.
Damit kann Steam intern verfolgen, welche Benutzer sich derzeit auf welchen Servern befinden, um zu verhindern, dass ein einzelner Account bei mehreren Servern angemeldet ist, um zu zeigen, wer sich derzeit auf dem Server befindet usw.
HINWEIS: Diese Funktion ist Teil der alten Benutzerauthentifizierungs-API und sollte nicht zusammen mit Elementen der neuen API verwendet werden.
SetBotPlayerCount
void SetBotPlayerCount( int cBotplayers );
Name | Typ | Beschreibung |
cBotplayers | int | Die Anzahl der Bots/KI-Spieler, die derzeit auf dem Server spielen. |
Legt die Anzahl der Bots/KI-Spieler auf dem Spielserver fest. Der Standardwert ist 0.
SetDedicatedServer
void SetDedicatedServer( bool bDedicated );
Name | Typ | Beschreibung |
bDedicated | bool | Ist dies ein dedizierter Server (true) oder ein Listen-Server (false)? |
Legt fest, ob dies ein dedizierter Server oder ein Listen-Server ist. Standardeinstellung: Listen-Server.
HINWEIS: Diese Funktion kann nur vor dem Aufruf von
ISteamGameServer::LogOn oder
ISteamGameServer::LogOnAnonymous verwendet werden.
SetGameData
void SetGameData( const char *pchGameData );
Name | Typ | Beschreibung |
pchGameData | const char * | Der neue einzustellende „gamedata“-Wert. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerGameData sein. |
Legt einen String fest, der die Spieldaten („gamedata“) für diesen Server definiert. Dies ist optional, ermöglicht es Benutzern aber, in der Spielsuche-Schnittstelle bzw. Serverbrowser-Schnittstelle nach diesem Wert zu filtern.
Dieser String wird in der Regel als eine durch Kommas oder Semikolons getrennte Liste formatiert.
Setzen Sie diesen String nur, wenn der Wert sich tatsächlich ändert. Er wird nur einmal auf den Master hochgeladen – bei der Validierung.
SetGameDescription
void SetGameDescription( const char *pszGameDescription );
Name | Typ | Beschreibung |
pszGameDescription | const char * | Die Beschreibung Ihres Spiels. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerGameDescription sein. |
Legt die Spielbeschreibung fest. Es wird empfohlen, den vollständigen Namen Ihres Spiels anzugeben.
HINWEIS: Diese Funktion ist für alle Spielserver erforderlich und kann nur vor dem Aufruf von
ISteamGameServer::LogOn oder
ISteamGameServer::LogOnAnonymous verwendet werden.
SetGameTags
void SetGameTags( const char *pchGameTags );
Name | Typ | Beschreibung |
pchGameTags | const char * | Der neue einzustellende „gametags“-Wert. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerTags sein. |
Legt einen String fest, der die Spiel-Tags („gametags“) für diesen Server definiert. Dies ist optional, ermöglicht es Benutzern aber, in der Spielsuche-Schnittstelle bzw. Serverbrowser-Schnittstelle nach diesem Wert zu filtern.
Dieser String wird in der Regel als eine durch Kommas oder Semikolons getrennte Liste formatiert.
Setzen Sie diesen String nur, wenn der Wert sich tatsächlich ändert. Er wird nur einmal auf den Master hochgeladen – bei der Validierung.
SetHeartbeatInterval
void SetHeartbeatInterval( int iHeartbeatInterval );
Name | Typ | Beschreibung |
iHeartbeatInterval | int | Das Intervall zwischen dem Senden von Heartbeat-Signalen in Millisekunden. In der Regel sollte der Wert zwischen 250 und 1000 liegen. Verwenden Sie -1, um den Standardwert zu verwenden. |
Ändert, wie oft Heartbeat-Signale an die Steam-Masterserver gesendet werden.
Normalerweise ist dies nicht erforderlich.
Siehe auch: ISteamGameServer::EnableHeartbeats,
ISteamGameServer::ForceHeartbeatSetKeyValue
void SetKeyValue( const char *pKey, const char *pValue );
Name | Typ | Beschreibung |
pKey | const char * | |
pValue | const char * | |
Fügt ein Schlüssel-Wert-Paar für Regeln hinzu oder aktualisiert ein Schlüssel-Wert-Paar für Regeln.
Siehe auch: ISteamGameServer::ClearAllKeyValues,
ISteamMatchmakingServers::ServerRulesSetMapName
void SetMapName( const char *pszMapName );
Name | Typ | Beschreibung |
pszMapName | const char * | Der neue einzustellende Kartenname. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerMapName sein. |
Legt den Namen einer Karte fest, der im Serverbrowser gemeldet werden soll.
SetMaxPlayerCount
void SetMaxPlayerCount( int cPlayersMax );
Name | Typ | Beschreibung |
cPlayersMax | int | Die neue maximale Spieleranzahl, die auf diesem Server erlaubt ist. |
Legt die maximale Anzahl von Spielern fest, die auf diesem Server gleichzeitig erlaubt ist.
Dieser Wert kann jederzeit geändert werden.
SetModDir
void SetModDir( const char *pszModDir );
Name | Typ | Beschreibung |
pszModDir | const char * | Das festzulegende Spielverzeichnis. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerGameDir sein. |
Legt das Spielverzeichnis fest.
Dies sollte dasselbe Verzeichnis sein, in dem das Spiel installiert wird. Nur der Ordnername, nicht der ganze Pfad (z. B. „Spacewar“).
HINWEIS: Diese Funktion ist für alle Spielserver erforderlich und kann nur vor dem Aufruf von
ISteamGameServer::LogOn oder
ISteamGameServer::LogOnAnonymous verwendet werden.
SetPasswordProtected
void SetPasswordProtected( bool bPasswordProtected );
Name | Typ | Beschreibung |
bPasswordProtected | bool | Passwortschutz aktivieren (true) oder deaktivieren (false). |
Legt fest, ob der Spielserver ein Passwort verlangen soll, wenn der Benutzer versucht beizutreten.
SetProduct
void SetProduct( const char *pszProduct );
Name | Typ | Beschreibung |
pszProduct | const char * | Der eindeutige Bezeichner Ihres Steam-Spiels. Darf weder NULL noch ein leerer String ("") sein. |
Stellt den Spielproduktbezeichner ein. Dieser wird derzeit vom Masterserver zur Versionsprüfung verwendet.
Zu diesem Zweck wird empfohlen, die App-ID des Spiels zu einem String zu konvertieren.
HINWEIS: Diese Funktion ist für alle Spielserver erforderlich und kann nur vor dem Aufruf von
ISteamGameServer::LogOn oder
ISteamGameServer::LogOnAnonymous verwendet werden.
SetRegion
void SetRegion( const char *pszRegion );
Name | Typ | Beschreibung |
pszRegion | const char * | |
Regionsbezeichner. Dies ist ein optionales Feld. Der Standardwert ist ein leerer String, was für die Region „Welt“ steht.
SetServerName
void SetServerName( const char *pszServerName );
Name | Typ | Beschreibung |
pszServerName | const char * | Der neue festzulegende Servername. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerName sein. |
Legt den Namen des Servers fest, wie er im Serverbrowser angezeigt werden soll.
SetSpectatorPort
void SetSpectatorPort( uint16 unSpectatorPort );
Name | Typ | Beschreibung |
unSpectatorPort | uint16 | Der Port für den Beitritt von Zuschauern. |
Legt fest, ob der Spielserver Zuschauer erlaubt und über welchen Port sie die Verbindung herstellen sollen. Der Standardwert ist 0, was bedeutet, dass der Dienst nicht verwendet wird.
SetSpectatorServerName
void SetSpectatorServerName( const char *pszSpectatorServerName );
Name | Typ | Beschreibung |
pszSpectatorServerName | const char * | Der festzulegende Name des Zuschauerservers. Darf weder NULL noch ein leerer String ("") sein. Dieser String darf nicht länger als k_cbMaxGameServerMapName sein. |
Legt den Namen des Zuschauerservers fest. Dieser wird nur dann verwendet, wenn der Zuschauerport nicht 0 ist.
UserHasLicenseForApp
EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
Name | Typ | Beschreibung |
steamID | CSteamID | Die Steam-ID des Benutzers, der das Authentifizierungsticket gesendet hat. |
appID | AppId_t | Die App-ID des Zusatzinhalts, für die überprüft werden soll, ob der Benutzer sie besitzt. |
Überprüft, ob der Benutzer einen bestimmten
Zusatzinhalte (DLC) besitzt.
Diese Funktion kann nur aufgerufen werden, nachdem das Authentifizierungsticket des Benutzers an
ISteamGameServer::BeginAuthSession gesendet wurde.
Rückgabewert: EUserHasLicenseForAppResultSiehe auch: Benutzerauthentifizierung und EigentumWasRestartRequested
bool WasRestartRequested();
Überprüft, ob der Masterserver uns mitgeteilt hat, dass unsere Version veraltet ist.
Dies wird nach dem Aufrufen dieser Funktion wieder auf
false zurückgesetzt.
Rückgabewert: bool
true, wenn der Masterserver möchte, dass dieser Spielserver aktualisiert und neu gestartet wird. Andernfalls
false.
Rückrufe
Diese Rückrufe können durch das Aufrufen von
SteamAPI_RunCallbacks ausgelöst werden. Viele davon werden als Reaktion auf die Memberfunktionen von
ISteamGameServer
ausgelöst.
AssociateWithClanResult_t
Wird gesendet, wenn der Spielserver versucht hat, mit einer Steam-Gruppe verknüpft zu werden.
Name | Typ | Beschreibung |
m_eResult | EResult | Das Ergebnis der Operation. Mögliche Werte:
|
Verknüpfte Funktionen: ISteamGameServer::AssociateWithClanComputeNewPlayerCompatibilityResult_t
Wird gesendet, wenn der Spielserver überprüft, ob der neue Spieler laut Frenemy-System gut zum Server passt.
Name | Typ | Beschreibung |
m_eResult | EResult | Das Ergebnis der Operation. Mögliche Werte:
|
m_cPlayersThatDontLikeCandidate | int | Die Anzahl der aktuellen Spieler, die mit dem angegebenen Spieler nicht spielen möchten. |
m_cPlayersThatCandidateDoesntLike | int | Die Anzahl der Spieler auf dem Server, mit denen der angegebene Spieler nicht spielen möchte. |
m_cClanPlayersThatDontLikeCandidate | int | Die Anzahl der Spieler in der verknüpften Steam-Gruppe, die mit dem Spieler nicht spielen möchten. |
m_SteamIDCandidate | CSteamID | Die Steam-ID des angegebenen Spielers. |
Verknüpfte Funktionen: ISteamGameServer::ComputeNewPlayerCompatibilityGSClientAchievementStatus_t
Veraltet – Verwenden Sie stattdessen
ISteamGameServerStats.
Name | Typ | Beschreibung |
m_SteamID | uint64 | Veraltet |
m_pchAchievement | char[128] | Veraltet |
m_bUnlocked | bool | Veraltet |
GSClientApprove_t
Ein Client wurde für die Verbindung zu diesem Spielserver zugelassen.
Name | Typ | Beschreibung |
m_SteamID | CSteamID | Die Steam-ID des Benutzers, der sich verbinden möchte. |
m_OwnerSteamID | CSteamID | Die Steam-ID, die das Spiel besitzt. Diese unterscheidet sich von m_SteamID , wenn auf das Spiel über die Steam-Familienbibliothek zugegriffen wird. |
GSClientDeny_t
Wird aufgerufen, wenn einem Benutzer die Verbindung zu diesem Spielserver verweigert wurde.
Name | Typ | Beschreibung |
m_SteamID | CSteamID | Die Steam-ID des Benutzers, der versucht hat sich zu verbinden. |
m_eDenyReason | EDenyReason | Der Grund, aus dem diesem Spieler die Verbindung verweigert wurde. |
m_rgchOptionalText | char[128] | Eine optionale Textnachricht, in der der Grund der Verweigerung erklärt wird. In der Regel wird dies lediglich zur Protokollierung verwendet. |
GSClientGroupStatus_t
Wird aufgerufen, wenn wir den Gruppenstatus eines Benutzers erhalten haben.
Name | Typ | Beschreibung |
m_SteamIDUser | CSteamID | Der Benutzer, dessen Gruppenstatus wir abgefragt haben. |
m_SteamIDGroup | CSteamID | Die Gruppe, die wir abgefragt haben. |
m_bMember | bool | Ist der Nutzer Mitglied der Gruppe (true) oder nicht (false)? |
m_bOfficer | bool | Ist der Nutzer Administrator der Gruppe (true) oder nicht (false)? Ist niemals true wenn m_bMember0> false0> ist. |
Verknüpfte Funktionen: ISteamGameServer::RequestUserGroupStatusGSClientKick_t
Wird aufgerufen, wenn der Spielserver den Benutzer herauswerfen sollte.
Name | Typ | Beschreibung |
m_SteamID | CSteamID | Die Steam-ID des Spielers, der herausgeworfen werden sollte. |
m_eDenyReason | EDenyReason | Der Grund, aus dem der Spieler herausgeworfen wird. |
GSGameplayStats_t
Veraltet – Wird aufgerufen, wenn mit
ISteamGameServer::GetGameplayStats Spielstatistikinformationen abgefragt wurden.
Name | Typ | Beschreibung |
m_eResult | EResult | Das Ergebnis der Operation. |
m_nRank | int32 | Der Gesamtrang des Servers (0-basiert). |
m_unTotalConnects | uint32 | Die Gesamtanzahl der Clients, die jemals Verbindung zum Server hergestellt haben. |
m_unTotalMinutesPlayed | uint32 | Die Gesamtanzahl der Minuten, die jemals auf dem Server gespielt wurden. |
Verknüpfte Funktionen: ISteamGameServer::GetGameplayStatsGSPolicyResponse_t
Wird empfangen, wenn der Spielserver anfordert, als gesichert (durch VAC geschützt) angezeigt zu werden.
Name | Typ | Beschreibung |
m_bSecure | uint8 | Ist der Server jetzt „gesichert“ (true) oder nicht (false)?. |
GSReputation_t
Veraltet – Wird aufgerufen, wenn der Ruf des Spielservers abgefragt wurde.
Masterserver-Sperren werden nach IP verhängt. Daher ist eine Sperre trotz einer guten Wertung möglich, wenn es einen schlechten Server auf einem anderen Port gibt.
Anhand dieser Informationen kann ermittelt werden, welcher Server unzulässig ist.
Name | Typ | Beschreibung |
m_eResult | EResult | Das Ergebnis der Operation. |
m_unReputationScore | uint32 | Die Bewertung des Rufs des Spielservers. |
m_bBanned | bool | Ist der Server von den Steam-Masterservern gesperrt (true) oder nicht (false)? |
m_unBannedIP | uint32 | Die IP-Adresse des gesperrten Servers. Nur eigestellt, wenn m_bBanned is true ist. |
m_usBannedPort | uint16 | Der Port des gesperrten Servers. Nur eigestellt, wenn m_bBanned is true ist. |
m_ulBannedGameID | uint64 | Die Spiel-ID, die der gesperrte Server bedient. Nur gesetzt, wenn m_bBanned true ist. |
m_unBanExpires | uint32 | Der Zeitpunkt, zu dem die Sperre abläuft, in Unixzeit (Sekunden seit dem 1. Januar 1970). Nur gesetzt, wenn m_bBanned true ist. |
Verknüpfte Funktionen: ISteamGameServer::GetServerReputationKonstanten
Dies sind Konstanten, die zur Verwendung mit ISteamGameServer definiert sind.
Name | Typ | Wert | Beschreibung |
k_unServerFlagActive | uint32 | 0x01 | Auf dem Spielserver spielen Benutzer. |
k_unServerFlagDedicated | uint32 | 0x04 | Dieser Spielserver ist dediziert. |
k_unServerFlagLinux | uint32 | 0x08 | Dieser Spielserver läuft unter Linux. |
k_unServerFlagNone | uint32 | 0x00 | Dieser Spielserver hat keine Flags. |
k_unServerFlagPassworded | uint32 | 0x10 | Dieser Spielserver ist passwortgeschützt. |
k_unServerFlagPrivate | uint32 | 0x20 | Dieser Spielserver sollte nicht auf dem Masterserver aufgeführt werden und keine Authentifizierung für Benutzer erzwingen, die eine Verbindung zum Server herstellen. Dies ist nützlich, wenn Sie einen Server ausführen, bei dem die Clients eventuell nicht mit dem Internet verbunden sind, Sie ihnen aber trotzdem erlauben möchten zu spielen (d. h. lokales Netzwerk). |
k_unServerFlagSecure | uint32 | 0x02 | Dieser Spielserver möchte VAC-gesichert sein. |
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE | int | ((uint16)-1) | Mit SteamGameServer_Init verwendet, um GameSocketShare-Modus zu aktivieren. |
STEAMGAMESERVER_INTERFACE_VERSION | const char * | "SteamGameServer012" | |