Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Static Public Member Functions | List of all members
Steamworks.SteamMatchmakingServers Class Reference

Static Public Member Functions

static void CancelQuery (HServerListRequest hRequest)
 
static void CancelServerQuery (HServerQuery hServerQuery)
 
static int GetServerCount (HServerListRequest hRequest)
 
static gameserveritem_t GetServerDetails (HServerListRequest hRequest, int iServer)
 
static bool IsRefreshing (HServerListRequest hRequest)
 
static HServerQuery PingServer (uint unIP, ushort usPort, ISteamMatchmakingPingResponse pRequestServersResponse)
 
static HServerQuery PlayerDetails (uint unIP, ushort usPort, ISteamMatchmakingPlayersResponse pRequestServersResponse)
 
static void RefreshQuery (HServerListRequest hRequest)
 
static void RefreshServer (HServerListRequest hRequest, int iServer)
 
static void ReleaseRequest (HServerListRequest hServerListRequest)
 
static HServerListRequest RequestFavoritesServerList (AppId_t iApp, MatchMakingKeyValuePair_t[] ppchFilters, uint nFilters, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerListRequest RequestFriendsServerList (AppId_t iApp, MatchMakingKeyValuePair_t[] ppchFilters, uint nFilters, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerListRequest RequestHistoryServerList (AppId_t iApp, MatchMakingKeyValuePair_t[] ppchFilters, uint nFilters, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerListRequest RequestInternetServerList (AppId_t iApp, MatchMakingKeyValuePair_t[] ppchFilters, uint nFilters, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerListRequest RequestLANServerList (AppId_t iApp, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerListRequest RequestSpectatorServerList (AppId_t iApp, MatchMakingKeyValuePair_t[] ppchFilters, uint nFilters, ISteamMatchmakingServerListResponse pRequestServersResponse)
 
static HServerQuery ServerRules (uint unIP, ushort usPort, ISteamMatchmakingRulesResponse pRequestServersResponse)
 

Member Function Documentation

static void Steamworks.SteamMatchmakingServers.CancelQuery ( HServerListRequest  hRequest)
inlinestatic

Cancel an request which is operation on the given list type. You should call this to cancel

any in-progress requests before destructing a callback object that may have been passed

to one of the above list request calls. Not doing so may result in a crash when a callback

occurs on the destructed object.

Canceling a query does not release the allocated request handle.

The request handle must be released using ReleaseRequest( hRequest )

static void Steamworks.SteamMatchmakingServers.CancelServerQuery ( HServerQuery  hServerQuery)
inlinestatic

Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel

any in-progress requests before destructing a callback object that may have been passed

to one of the above calls to avoid crashing when callbacks occur.

static int Steamworks.SteamMatchmakingServers.GetServerCount ( HServerListRequest  hRequest)
inlinestatic

How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1

static gameserveritem_t Steamworks.SteamMatchmakingServers.GetServerDetails ( HServerListRequest  hRequest,
int  iServer 
)
inlinestatic

the filter operation codes that go in the key part of MatchMakingKeyValuePair_t should be one of these:

"map"

- Server passes the filter if the server is playing the specified map.

"gamedataand"

- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains all of the

specified strings. The value field is a comma-delimited list of strings to match.

"gamedataor"

- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains at least one of the

specified strings. The value field is a comma-delimited list of strings to match.

"gamedatanor"

- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) does not contain any

of the specified strings. The value field is a comma-delimited list of strings to check.

"gametagsand"

- Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) contains all

of the specified strings. The value field is a comma-delimited list of strings to check.

"gametagsnor"

- Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) does not contain any

of the specified strings. The value field is a comma-delimited list of strings to check.

"and" (x1 && x2 && ... && xn)

"or" (x1 || x2 || ... || xn)

"nand" !(x1 && x2 && ... && xn)

"nor" !(x1 || x2 || ... || xn)

- Performs Boolean operation on the following filters. The operand to this filter specifies

the "size" of the Boolean inputs to the operation, in Key/value pairs. (The keyvalue

pairs must immediately follow, i.e. this is a prefix logical operator notation.)

In the simplest case where Boolean expressions are not nested, this is simply

the number of operands.

For example, to match servers on a particular map or with a particular tag, would would

use these filters.

( server.map == "cp_dustbowl" || server.gametags.contains("payload") )

"or", "2"

"map", "cp_dustbowl"

"gametagsand", "payload"

If logical inputs are nested, then the operand specifies the size of the entire

"length" of its operands, not the number of immediate children.

( server.map == "cp_dustbowl" || ( server.gametags.contains("payload") && !server.gametags.contains("payloadrace") ) )

"or", "4"

"map", "cp_dustbowl"

"and", "2"

"gametagsand", "payload"

"gametagsnor", "payloadrace"

Unary NOT can be achieved using either "nand" or "nor" with a single operand.

"addr"

- Server passes the filter if the server's query address matches the specified IP or IP:port.

"gameaddr"

- Server passes the filter if the server's game address matches the specified IP or IP:port.

The following filter operations ignore the "value" part of MatchMakingKeyValuePair_t

"dedicated"

- Server passes the filter if it passed true to SetDedicatedServer.

"secure"

- Server passes the filter if the server is VAC-enabled.

"notfull"

- Server passes the filter if the player count is less than the reported max player count.

"hasplayers"

- Server passes the filter if the player count is greater than zero.

"noplayers"

- Server passes the filter if it doesn't have any players.

"linux"

- Server passes the filter if it's a linux server

Get details on a given server in the list, you can get the valid range of index

values by calling GetServerCount(). You will also receive index values in

ISteamMatchmakingServerListResponse::ServerResponded() callbacks

static bool Steamworks.SteamMatchmakingServers.IsRefreshing ( HServerListRequest  hRequest)
inlinestatic

Returns true if the list is currently refreshing its server list

static HServerQuery Steamworks.SteamMatchmakingServers.PingServer ( uint  unIP,
ushort  usPort,
ISteamMatchmakingPingResponse  pRequestServersResponse 
)
inlinestatic

--------------------------------------------------------------------------—

Queries to individual servers directly via IP/Port

--------------------------------------------------------------------------—

Request updated ping time and other details from a single server

static HServerQuery Steamworks.SteamMatchmakingServers.PlayerDetails ( uint  unIP,
ushort  usPort,
ISteamMatchmakingPlayersResponse  pRequestServersResponse 
)
inlinestatic

Request the list of players currently playing on a server

static void Steamworks.SteamMatchmakingServers.RefreshQuery ( HServerListRequest  hRequest)
inlinestatic

Ping every server in your list again but don't update the list of servers

Query callback installed when the server list was requested will be used

again to post notifications and RefreshComplete, so the callback must remain

valid until another RefreshComplete is called on it or the request

is released with ReleaseRequest( hRequest )

static void Steamworks.SteamMatchmakingServers.RefreshServer ( HServerListRequest  hRequest,
int  iServer 
)
inlinestatic

Refresh a single server inside of a query (rather than all the servers )

static void Steamworks.SteamMatchmakingServers.ReleaseRequest ( HServerListRequest  hServerListRequest)
inlinestatic

Releases the asynchronous request object and cancels any pending query on it if there's a pending query in progress.

RefreshComplete callback is not posted when request is released.

static HServerListRequest Steamworks.SteamMatchmakingServers.RequestFavoritesServerList ( AppId_t  iApp,
MatchMakingKeyValuePair_t[]  ppchFilters,
uint  nFilters,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic
static HServerListRequest Steamworks.SteamMatchmakingServers.RequestFriendsServerList ( AppId_t  iApp,
MatchMakingKeyValuePair_t[]  ppchFilters,
uint  nFilters,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic
static HServerListRequest Steamworks.SteamMatchmakingServers.RequestHistoryServerList ( AppId_t  iApp,
MatchMakingKeyValuePair_t[]  ppchFilters,
uint  nFilters,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic
static HServerListRequest Steamworks.SteamMatchmakingServers.RequestInternetServerList ( AppId_t  iApp,
MatchMakingKeyValuePair_t[]  ppchFilters,
uint  nFilters,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic

Request a new list of servers of a particular type. These calls each correspond to one of the EMatchMakingType values.

Each call allocates a new asynchronous request object.

Request object must be released by calling ReleaseRequest( hServerListRequest )

static HServerListRequest Steamworks.SteamMatchmakingServers.RequestLANServerList ( AppId_t  iApp,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic
static HServerListRequest Steamworks.SteamMatchmakingServers.RequestSpectatorServerList ( AppId_t  iApp,
MatchMakingKeyValuePair_t[]  ppchFilters,
uint  nFilters,
ISteamMatchmakingServerListResponse  pRequestServersResponse 
)
inlinestatic
static HServerQuery Steamworks.SteamMatchmakingServers.ServerRules ( uint  unIP,
ushort  usPort,
ISteamMatchmakingRulesResponse  pRequestServersResponse 
)
inlinestatic

Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side)


The documentation for this class was generated from the following file: