Table of Contents

Class ISteamMatchmaking

Namespace
MarymoorStudios.Core.Steamworks
Assembly
MarymoorStudios.Core.Steamworks.dll
public sealed class ISteamMatchmaking : SteamNativeObject
Inheritance
ISteamMatchmaking
Inherited Members

Fields

INTERFACE_VERSION

public const string INTERFACE_VERSION = "SteamMatchMaking009"

Field Value

string

Methods

AddFavoriteGame(AppId, uint, ushort, ushort, uint, uint)

public int AddFavoriteGame(AppId appId, uint ip, ushort connPort, ushort queryPort, uint flags, uint rTime32LastPlayedOnServer)

Parameters

appId AppId
ip uint
connPort ushort
queryPort ushort
flags uint
rTime32LastPlayedOnServer uint

Returns

int

AddRequestLobbyListCompatibleMembersFilter(CSteamID)

public void AddRequestLobbyListCompatibleMembersFilter(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

AddRequestLobbyListDistanceFilter(ELobbyDistanceFilter)

public void AddRequestLobbyListDistanceFilter(ELobbyDistanceFilter lobbyDistanceFilter)

Parameters

lobbyDistanceFilter ELobbyDistanceFilter

AddRequestLobbyListFilterSlotsAvailable(int)

public void AddRequestLobbyListFilterSlotsAvailable(int slotsAvailable)

Parameters

slotsAvailable int

AddRequestLobbyListNearValueFilter(string, int)

public void AddRequestLobbyListNearValueFilter(string keyToMatch, int valueToBeCloseTo)

Parameters

keyToMatch string
valueToBeCloseTo int

AddRequestLobbyListNumericalFilter(string, int, ELobbyComparison)

public void AddRequestLobbyListNumericalFilter(string keyToMatch, int valueToMatch, ELobbyComparison comparisonType)

Parameters

keyToMatch string
valueToMatch int
comparisonType ELobbyComparison

AddRequestLobbyListResultCountFilter(int)

public void AddRequestLobbyListResultCountFilter(int maxResults)

Parameters

maxResults int

AddRequestLobbyListStringFilter(string, string, ELobbyComparison)

public void AddRequestLobbyListStringFilter(string keyToMatch, string valueToMatch, ELobbyComparison comparisonType)

Parameters

keyToMatch string
valueToMatch string
comparisonType ELobbyComparison

CreateLobby(ELobbyType, int)

public Promise<LobbyCreated> CreateLobby(ELobbyType lobbyType, int maxMembers)

Parameters

lobbyType ELobbyType
maxMembers int

Returns

Promise<LobbyCreated>

DeleteLobbyData(CSteamID, string)

public bool DeleteLobbyData(CSteamID steamIDLobby, string key)

Parameters

steamIDLobby CSteamID
key string

Returns

bool

GetFavoriteGame(int, out AppId, out uint, out ushort, out ushort, out uint, out uint)

public bool GetFavoriteGame(int game, out AppId appId, out uint ip, out ushort connPort, out ushort queryPort, out uint flags, out uint rTime32LastPlayedOnServer)

Parameters

game int
appId AppId
ip uint
connPort ushort
queryPort ushort
flags uint
rTime32LastPlayedOnServer uint

Returns

bool

GetFavoriteGameCount()

public int GetFavoriteGameCount()

Returns

int

GetLobbyByIndex(int)

public CSteamID GetLobbyByIndex(int lobby)

Parameters

lobby int

Returns

CSteamID

GetLobbyChatEntry(CSteamID, int, out CSteamID, Span<byte>, out EChatEntryType)

public int GetLobbyChatEntry(CSteamID steamIDLobby, int chatID, out CSteamID steamIDUser, Span<byte> data, out EChatEntryType chatEntryType)

Parameters

steamIDLobby CSteamID
chatID int
steamIDUser CSteamID
data Span<byte>
chatEntryType EChatEntryType

Returns

int

GetLobbyChatEntry(CSteamID, int, out CSteamID, out string, out EChatEntryType)

public bool GetLobbyChatEntry(CSteamID steamIDLobby, int iChatID, out CSteamID pSteamIDUser, out string pvData, out EChatEntryType peChatEntryType)

Parameters

steamIDLobby CSteamID
iChatID int
pSteamIDUser CSteamID
pvData string
peChatEntryType EChatEntryType

Returns

bool

GetLobbyData(CSteamID, string)

public string GetLobbyData(CSteamID steamIDLobby, string key)

Parameters

steamIDLobby CSteamID
key string

Returns

string

GetLobbyDataByIndex(CSteamID, int, Span<byte>, Span<byte>)

public bool GetLobbyDataByIndex(CSteamID steamIDLobby, int lobbyData, Span<byte> key, Span<byte> value)

Parameters

steamIDLobby CSteamID
lobbyData int
key Span<byte>
value Span<byte>

Returns

bool

GetLobbyDataCount(CSteamID)

public int GetLobbyDataCount(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

int

GetLobbyGameServer(CSteamID, out uint, out ushort, out CSteamID)

public bool GetLobbyGameServer(CSteamID steamIDLobby, out uint gameServerIP, out ushort gameServerPort, out CSteamID psteamIDGameServer)

Parameters

steamIDLobby CSteamID
gameServerIP uint
gameServerPort ushort
psteamIDGameServer CSteamID

Returns

bool

GetLobbyMemberByIndex(CSteamID, int)

public CSteamID GetLobbyMemberByIndex(CSteamID steamIDLobby, int member)

Parameters

steamIDLobby CSteamID
member int

Returns

CSteamID

GetLobbyMemberData(CSteamID, CSteamID, string)

public string? GetLobbyMemberData(CSteamID steamIDLobby, CSteamID steamIDUser, string key)

Parameters

steamIDLobby CSteamID
steamIDUser CSteamID
key string

Returns

string

GetLobbyMemberLimit(CSteamID)

public int GetLobbyMemberLimit(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

int

GetLobbyOwner(CSteamID)

public CSteamID GetLobbyOwner(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

CSteamID

GetNumLobbyMembers(CSteamID)

public int GetNumLobbyMembers(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

int

InviteUserToLobby(CSteamID, CSteamID)

public bool InviteUserToLobby(CSteamID steamIDLobby, CSteamID steamIDInvitee)

Parameters

steamIDLobby CSteamID
steamIDInvitee CSteamID

Returns

bool

JoinLobby(CSteamID)

public Promise<LobbyEnter> JoinLobby(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

Promise<LobbyEnter>

LeaveLobby(CSteamID)

public void LeaveLobby(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

OnFavoritesListAccountsUpdated(CallbackAction<FavoritesListAccountsUpdated>)

public IDisposable OnFavoritesListAccountsUpdated(CallbackAction<FavoritesListAccountsUpdated> func)

Parameters

func CallbackAction<FavoritesListAccountsUpdated>

Returns

IDisposable

OnFavoritesListChanged(CallbackAction<FavoritesListChanged>)

public IDisposable OnFavoritesListChanged(CallbackAction<FavoritesListChanged> func)

Parameters

func CallbackAction<FavoritesListChanged>

Returns

IDisposable

OnLobbyChatMsg(CallbackAction<LobbyChatMsg>)

public IDisposable OnLobbyChatMsg(CallbackAction<LobbyChatMsg> func)

Parameters

func CallbackAction<LobbyChatMsg>

Returns

IDisposable

OnLobbyChatUpdate(CallbackAction<LobbyChatUpdate>)

public IDisposable OnLobbyChatUpdate(CallbackAction<LobbyChatUpdate> func)

Parameters

func CallbackAction<LobbyChatUpdate>

Returns

IDisposable

OnLobbyDataUpdate(CallbackAction<LobbyDataUpdate>)

public IDisposable OnLobbyDataUpdate(CallbackAction<LobbyDataUpdate> func)

Parameters

func CallbackAction<LobbyDataUpdate>

Returns

IDisposable

OnLobbyGameCreated(CallbackAction<LobbyGameCreated>)

public IDisposable OnLobbyGameCreated(CallbackAction<LobbyGameCreated> func)

Parameters

func CallbackAction<LobbyGameCreated>

Returns

IDisposable

OnLobbyInvite(CallbackAction<LobbyInvite>)

public IDisposable OnLobbyInvite(CallbackAction<LobbyInvite> func)

Parameters

func CallbackAction<LobbyInvite>

Returns

IDisposable

OnLobbyKicked(CallbackAction<LobbyKicked>)

public IDisposable OnLobbyKicked(CallbackAction<LobbyKicked> func)

Parameters

func CallbackAction<LobbyKicked>

Returns

IDisposable

RemoveFavoriteGame(AppId, uint, ushort, ushort, uint)

public bool RemoveFavoriteGame(AppId appId, uint ip, ushort connPort, ushort queryPort, uint flags)

Parameters

appId AppId
ip uint
connPort ushort
queryPort ushort
flags uint

Returns

bool

RequestLobbyData(CSteamID)

public bool RequestLobbyData(CSteamID steamIDLobby)

Parameters

steamIDLobby CSteamID

Returns

bool

RequestLobbyList()

public Promise<LobbyMatchList> RequestLobbyList()

Returns

Promise<LobbyMatchList>

SendLobbyChatMsg(CSteamID, ReadOnlySpan<byte>)

public bool SendLobbyChatMsg(CSteamID steamIDLobby, ReadOnlySpan<byte> msgBody)

Parameters

steamIDLobby CSteamID
msgBody ReadOnlySpan<byte>

Returns

bool

SendLobbyChatMsg(CSteamID, string)

public bool SendLobbyChatMsg(CSteamID steamIDLobby, string pvMsgBody)

Parameters

steamIDLobby CSteamID
pvMsgBody string

Returns

bool

SetLinkedLobby(CSteamID, CSteamID)

public bool SetLinkedLobby(CSteamID steamIDLobby, CSteamID steamIDLobbyDependent)

Parameters

steamIDLobby CSteamID
steamIDLobbyDependent CSteamID

Returns

bool

SetLobbyData(CSteamID, string, string)

public bool SetLobbyData(CSteamID steamIDLobby, string key, string value)

Parameters

steamIDLobby CSteamID
key string
value string

Returns

bool

SetLobbyGameServer(CSteamID, uint, ushort, CSteamID)

public void SetLobbyGameServer(CSteamID steamIDLobby, uint gameServerIP, ushort gameServerPort, CSteamID steamIDGameServer)

Parameters

steamIDLobby CSteamID
gameServerIP uint
gameServerPort ushort
steamIDGameServer CSteamID

SetLobbyJoinable(CSteamID, bool)

public bool SetLobbyJoinable(CSteamID steamIDLobby, bool lobbyJoinable)

Parameters

steamIDLobby CSteamID
lobbyJoinable bool

Returns

bool

SetLobbyMemberData(CSteamID, string, string)

public void SetLobbyMemberData(CSteamID steamIDLobby, string key, string value)

Parameters

steamIDLobby CSteamID
key string
value string

SetLobbyMemberLimit(CSteamID, int)

public bool SetLobbyMemberLimit(CSteamID steamIDLobby, int maxMembers)

Parameters

steamIDLobby CSteamID
maxMembers int

Returns

bool

SetLobbyOwner(CSteamID, CSteamID)

public bool SetLobbyOwner(CSteamID steamIDLobby, CSteamID steamIDNewOwner)

Parameters

steamIDLobby CSteamID
steamIDNewOwner CSteamID

Returns

bool

SetLobbyType(CSteamID, ELobbyType)

public bool SetLobbyType(CSteamID steamIDLobby, ELobbyType lobbyType)

Parameters

steamIDLobby CSteamID
lobbyType ELobbyType

Returns

bool