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.