diff --git a/Facepunch.Steamworks/SteamMatchmaking.cs b/Facepunch.Steamworks/SteamMatchmaking.cs
index 8a3e2ec..e93bc18 100644
--- a/Facepunch.Steamworks/SteamMatchmaking.cs
+++ b/Facepunch.Steamworks/SteamMatchmaking.cs
@@ -37,7 +37,7 @@ namespace Steamworks
{
LobbyInvite_t.Install( x => OnLobbyInvite?.Invoke( new Friend( x.SteamIDUser ), new Lobby( x.SteamIDLobby ) ) );
- LobbyEnter_t.Install( x => OnLobbyEntered?.Invoke( new Lobby(x.SteamIDLobby ) ) );
+ LobbyEnter_t.Install( x => OnLobbyEntered?.Invoke( new Lobby( x.SteamIDLobby ) ) );
LobbyDataUpdate_t.Install( x =>
{
diff --git a/Facepunch.Steamworks/Structs/LobbyQuery.cs b/Facepunch.Steamworks/Structs/LobbyQuery.cs
index 36146d1..a765a67 100644
--- a/Facepunch.Steamworks/Structs/LobbyQuery.cs
+++ b/Facepunch.Steamworks/Structs/LobbyQuery.cs
@@ -43,6 +43,24 @@ namespace Steamworks.Data
}
#endregion
+ #region String key/value filter
+ internal MatchMakingKeyValuePair_t? stringFilter;
+
+ ///
+ /// Filter by specified key/value pair
+ ///
+ public LobbyQuery FilterStringKeyValue( string nKey, string nValue )
+ {
+ stringFilter = new MatchMakingKeyValuePair_t
+ {
+ Key = nKey,
+ Value = nValue
+ };
+
+ return this;
+ }
+ #endregion
+
#region Slots Filter
internal int? slotsAvailable;
@@ -71,7 +89,6 @@ namespace Steamworks.Data
#endregion
-
void ApplyFilters()
{
if ( distance.HasValue )
@@ -88,6 +105,11 @@ namespace Steamworks.Data
{
SteamMatchmaking.Internal.AddRequestLobbyListResultCountFilter( maxResults.Value );
}
+
+ if( stringFilter.HasValue )
+ {
+ SteamMatchmaking.Internal.AddRequestLobbyListStringFilter( stringFilter.Value.Key, stringFilter.Value.Value, LobbyComparison.Equal );
+ }
}
///