Functions | Matchmaking Servers

Here is a list of all the functions available in the GodotSteam module. The descriptions are pulled from the official Steamworks SDK documentation with modifications made to fit GodotSteam's implementation of the functions. Naturally, any GodotSteam-specific functions will be noted as such.


cancelQuery( int server_list_request ) cancelQuery( uint64_t server_list_request )

  • Cancel an outstanding server list request.
  • You should call this to cancel any in-progress requests before destructing a callback object that may have been passed to one of the below 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.
  • Returns nothing; void.

cancelServerQuery( int server_query )

  • Cancel an outstanding individual server query.
  • The calls that create this type of query are: pingServer, playerDetails, and serverRules. 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.
  • Returns nothing; void.

getServerCount( int server_list_request ) getServerCount( uint64_t server_list_request )

  • Gets the number of servers in the given list. This is used for iterating with getServerDetails.
  • Returns an int.

getServerDetails( int server_list_request, int server ) getServerDetails( uint64_t server_list_request, int server )

  • Get the details of 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 serverResponded callbacks.
  • Returns a dictionary:
    • ping (int)
    • success_response (bool)
    • no_refresh (bool)
    • game_dir (string)
    • map (string)
    • description (string)
    • app_id (int)
    • players (int)
    • max_players (int)
    • bot_players (int)
    • password (bool)
    • secure (bool)
    • last_played (int)
    • server_version (int)
    • ping (int)
    • success_response (bool)
    • no_refresh (bool)
    • game_dir (string)
    • map (string)
    • description (string)
    • app_id (uint32)
    • players (int)
    • max_players (int)
    • bot_players (int)
    • password (bool)
    • secure (bool)
    • last_played (uint32)
    • server_version (int)

isRefreshing( int server_list_request ) isRefreshing( uint64_t server_list_request )

  • Checks if the server list request is currently refreshing.
  • Returns a bool.

pingServer( string ip, int port ) pingServer( string ip, uint port )

  • Queries an individual game server directly via IP/Port to request an updated ping time and other details from the server.
  • You must inherit from the ISteamMatchmakingPingResponse object to receive this callback.
  • Currently not enabled.
  • Returns an int.

playerDetails( string ip, int port ) playerDetails( string ip, uint16 port )

  • Queries an individual game server directly via IP/Port to request the list of players currently playing on the server.
  • You must inherit from the ISteamMatchmakingPlayersResponse object to receive this callback.
  • Currently not enabled.
  • Returns an int.

refreshQuery( int server_list_request ) refreshQuery( uint64_t server_list_request )

  • Ping every server in your list again but don't update the list of servers.
  • The query callback installed when the server list was requested will be used again to post notifications and refreshComplete will be called again, so the callback must remain valid until it completes or the request is released with releaseRequest.
  • Returns nothing; void.

refreshServer( int server_list_request, int server ) refreshServer( uint64_t server_list_request, int server )

  • Refreshes a single server inside of a query.
  • If you want to refresh all of the servers then you should use refreshQuery.
  • Returns nothing; void.

releaseRequest( int server_list_request ) releaseRequest( uint64_t server_list_request )

  • Releases the asynchronous server list request object and cancels any pending query on it if there's a pending query in progress.
  • The refreshComplete callback will not be posted when request is released.
  • Returns nothing; void.

requestFavoritesServerList( int app_id, array filters ) requestFavoritesServerList( uint32 app_id, array filters )

  • Request a new list of game servers from the 'favorites' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns nothing; void.

requestFriendsServerList( int app_id, array filters ) requestFriendsServerList( uint32 app_id, array filters )

  • Request a new list of game servers from the 'friends' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns an int.

requestHistoryServerList( int app_id, array filters ) requestHistoryServerList( uint32 app_id, array filters )

  • Request a new list of game servers from the 'history' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns an int.

requestInternetServerList( int app_id, array filters ) requestInternetServerList( uint32 app_id, array filters )

  • Request a new list of game servers from the 'internet' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns an int.

requestLANServerList( int app_id ) requestLANServerList( uint32 app_id )

  • Request a new list of game servers from the 'LAN' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns an int.

requestSpectatorServerList( int app_id, array filters ) requestSpectatorServerList( uint32 app_id, array filters )

  • Request a new list of game servers from the 'spectator' server list.
  • See MatchMakingKeyValuePair_t for more information.
  • Returns an int.

serverRules( string ip, int port ) serverRules( string ip, uint16 port )

  • Queries an individual game server directly via IP/Port to request the list of rules that the server is running. (See ISteamGameServer::SetKeyValue to set the rules on the server side.)
  • You must inherit from the ISteamMatchmakingRulesResponse object to receive this callback.
  • Returns an int.