SteamMatchmaking

This handler is used for creating, joining and obtaining lobby information.

Author

Lossy

Since

2025-05-21

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard
fun createLobby(appId: Int, lobbyType: ELobbyType, maxMembers: Int, lobbyFlags: Int = 0, metadata: Map<String, String>? = null): AsyncJobSingle<CreateLobbyCallback>?

Sends a request to create a lobby.

Link copied to clipboard
fun getLobby(appId: Int, lobbySteamId: SteamID): Lobby?

Obtains a Lobby by its SteamID, if the data is cached locally. This method does not send a network request.

Link copied to clipboard

Sends a request to obtain a lobby's data.

Link copied to clipboard
fun getLobbyList(appId: Int, filters: List<Filter>? = null, maxLobbies: Int = -1): AsyncJobSingle<GetLobbyListCallback>?

Sends a request to obtain a list of lobbies matching the specified criteria.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun handleLobbyData(packetMsg: IPacketMsg)
Link copied to clipboard
open override fun handleMsg(packetMsg: IPacketMsg)

Handles a client message. This should not be called directly.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun inviteToLobby(appId: Int, lobbySteamId: SteamID, userSteamId: SteamID)

Sends a lobby invite request. NOTE: Steam provides no functionality to determine if the user was successfully invited.

Link copied to clipboard
fun joinLobby(appId: Int, lobbySteamId: SteamID): AsyncJobSingle<JoinLobbyCallback>?

Sends a request to join a lobby.

Link copied to clipboard

Sends a request to leave a lobby.

Link copied to clipboard
fun <T : GeneratedMessage.Builder<T>> send(msg: ClientMsgProtobuf<T>, appId: Int)

Sends a matchmaking message for a specific app.

Link copied to clipboard
fun setLobbyData(appId: Int, lobbySteamId: SteamID, lobbyType: ELobbyType, maxMembers: Int, lobbyFlags: Int = 0, metadata: Map<String, String>? = null): AsyncJobSingle<SetLobbyDataCallback>

Sends a request to update a lobby.

Link copied to clipboard

Sends a request to update the current user's lobby metadata.

Link copied to clipboard
fun setLobbyOwner(appId: Int, lobbySteamId: SteamID, newOwner: SteamID): AsyncJobSingle<SetLobbyOwnerCallback>

Sends a request to update the owner of a lobby.

Link copied to clipboard
fun setup(client: SteamClient)