Callback Interfaces

Note

These are pure-virtual C++ interfaces that you implement in Lua by providing a table of callback functions to the constructor.

Example — browsing LAN servers with MatchmakingServers.RequestLANServerList():

local response_iface = Steam.newISteamMatchmakingServerListResponse {
    ServerResponded = function(hRequest, iServer)
        local info = Steam.MatchmakingServers.GetServerDetails(hRequest, iServer)
        print('Found server:', info.m_szServerName, info.m_nPlayers .. '/' .. info.m_nMaxPlayers)
    end,
    ServerFailedToRespond = function(hRequest, iServer) end,
    RefreshComplete = function(hRequest, response)
        print('Server list refresh complete, response:', response)
    end,
)
local hRequest = Steam.MatchmakingServers.RequestLANServerList(Steam.Utils.GetAppID(), response_iface)

ISteamMatchmakingServerListResponse

Steam.newISteamMatchmakingServerListResponse(callbacks)

🤖 Constructor — creates a new callback interface userdata.

Parameters:

callbacks (table) –

Table of callback functions:

  • ServerResponded function(hRequest: HServerListRequest, iServer: int)

  • ServerFailedToRespond function(hRequest: HServerListRequest, iServer: int)

  • RefreshComplete function(hRequest: HServerListRequest, response: int)

Returns:

(ISteamMatchmakingServerListResponse) New callback interface userdata.

ISteamMatchmakingPingResponse

Steam.newISteamMatchmakingPingResponse(callbacks)

🤖 Constructor — creates a new callback interface userdata.

Parameters:

callbacks (table) –

Table of callback functions:

  • ServerResponded function(server: gameserveritem_t)

  • ServerFailedToRespond function()

Returns:

(ISteamMatchmakingPingResponse) New callback interface userdata.

ISteamMatchmakingPlayersResponse

Steam.newISteamMatchmakingPlayersResponse(callbacks)

🤖 Constructor — creates a new callback interface userdata.

Parameters:

callbacks (table) –

Table of callback functions:

  • AddPlayerToList function(pchName: str, nScore: int, flTimePlayed: float)

  • PlayersFailedToRespond function()

  • PlayersRefreshComplete function()

Returns:

(ISteamMatchmakingPlayersResponse) New callback interface userdata.

ISteamMatchmakingRulesResponse

Steam.newISteamMatchmakingRulesResponse(callbacks)

🤖 Constructor — creates a new callback interface userdata.

Parameters:

callbacks (table) –

Table of callback functions:

  • RulesResponded function(pchRule: str, pchValue: str)

  • RulesFailedToRespond function()

  • RulesRefreshComplete function()

Returns:

(ISteamMatchmakingRulesResponse) New callback interface userdata.