GatekeepCLUB-MatchFilter icon

MatchFilter

Configurable lobby browser filters, score-descending sorting, compact rank/score format, friend bypass, and smart auto-refresh for STRAFTAT.

Last updated a day ago
Total downloads 20
Total rating 0 
Categories Mods AI Generated
Dependency string GatekeepCLUB-MatchFilter-1.2.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

MatchFilter

MatchFilter is a client-side, vanilla-compatible BepInEx mod for STRAFTAT that allows you to filter the lobby list in Browse Lobbies based on game rules and host statistics, displays host rank and score in the lobby name, and automatically refreshes the lobby browser at a configurable interval.


Features

  • Host Rank & Score in Lobby Name: Automatically queries Steam Leaderboards and appends the host's rank and score directly to the lobby name (e.g. Player's lobby rank #5 score: 1850).
  • Friends Protection: Optional bypass setting (AlwaysShowFriends = true) to ensure lobbies hosted by your Steam friends are always visible, ignoring all active filters.
  • Comprehensive Filters: Filter out lobbies in the browse list that don't match your criteria:
    • Mid Match (Any, Yes, No): Hide matches in progress to avoid joining as a spectator.
    • Using Swapper (Any, Yes, No): Filter lobbies using custom weapon swapper.
    • Using Randomizer (Any, Yes, No): Filter lobbies using weapon randomizer.
    • Using Outlines (Any, Yes, No): Filter lobbies with player outlines enabled/disabled.
    • Friendly Fire (Any, Yes, No): Filter lobbies with friendly fire enabled/disabled.
    • Max Host Kicks (number, -1 to disable): Filter out toxic hosts with high kick counts.
    • Max Host Bans (number, -1 to disable): Filter out hosts with high player ban counts.
    • Hide Full Lobbies (true/false): Hide lobbies that have reached their player limit.
  • Smart Auto-Refresh: Automatically refreshes the lobby browser every N seconds while the browser window is open. With OnlyWhenEmpty = true, auto-refresh pauses once matching lobbies are found so the list stays stable while browsing.
  • Enhanced Tooltip: Formats the hover tooltip on lobbies to show clear Yes / No, Host Bans, Steam friend indicator, and host leaderboard rank/score in English.
  • Live Configuration Updates: Updating settings in BepInEx ConfigurationManager (F1) immediately refreshes the lobby list in real time.
  • Vanilla-Compatible: Marked with [assembly: StraftatMod(true)] so you are never placed into modded matchmaking isolation.

Configuration (com.balu.straftat.matchfilter.cfg)

All settings and descriptions are in English:

[1. General]

## Enable or disable the MatchFilter mod completely.
# Setting type: Boolean
# Default value: true
Enabled = true

[2. Lobby Filters]

## Always show lobbies hosted by Steam friends, bypassing all active filter criteria.
# Setting type: Boolean
# Default value: true
AlwaysShowFriends = true

## Filter lobbies by Mid Match status.
## Any = Allow all lobbies
## Yes = Only show lobbies with match in progress
## No = Only show lobbies waiting in lobby / match not started
# Setting type: FilterOption
# Default value: Any
# Acceptable values: Any, Yes, No
MidMatch = Any

## Filter lobbies by Weapon Swapper usage.
## Any = Allow all lobbies
## Yes = Only show lobbies with custom swapper enabled
## No = Only show lobbies without custom swapper
# Setting type: FilterOption
# Default value: Any
# Acceptable values: Any, Yes, No
UsingSwapper = Any

## Filter lobbies by Weapon Randomizer usage.
## Any = Allow all lobbies
## Yes = Only show lobbies with randomizer enabled
## No = Only show lobbies without randomizer
# Setting type: FilterOption
# Default value: Any
# Acceptable values: Any, Yes, No
UsingRandomizer = Any

## Filter lobbies by Player Outlines setting.
## Any = Allow all lobbies
## Yes = Only show lobbies with player outlines enabled
## No = Only show lobbies without player outlines
# Setting type: FilterOption
# Default value: Any
# Acceptable values: Any, Yes, No
UsingOutlines = Any

## Filter lobbies by Friendly Fire setting.
## Any = Allow all lobbies
## Yes = Only show lobbies with friendly fire enabled
## No = Only show lobbies without friendly fire
# Setting type: FilterOption
# Default value: Any
# Acceptable values: Any, Yes, No
FriendlyFire = Any

## Maximum allowed host kicks count. Lobbies where the host has kicked more players than this will be hidden. Set to -1 to allow any amount.
# Setting type: Int32
# Default value: -1
MaxHostKicks = -1

## Maximum allowed banned players count by host. Lobbies where the host has banned more players than this will be hidden. Set to -1 to allow any amount.
# Setting type: Int32
# Default value: -1
MaxHostBans = -1

## Hide lobbies that are currently full (e.g. 2/2 or 4/4 players).
# Setting type: Boolean
# Default value: false
HideFullLobbies = false

[3. Auto Refresh]

## Automatically refresh the browse lobbies list at regular intervals while the browser is open.
# Setting type: Boolean
# Default value: true
Enabled = true

## Only auto-refresh when there are no lobbies in the browse list that match your filter criteria. Once matching lobbies are found, auto-refresh pauses to keep the list stable.
# Setting type: Boolean
# Default value: true
OnlyWhenEmpty = true

## Interval in seconds between automatic lobby list refreshes. Recommended minimum is 2-3 seconds to prevent Steam rate limits.
# Setting type: Single
# Default value: 5
# Acceptable value range: From 1 to 60
IntervalSeconds = 5

[4. Lobby Tooltip]

## Format hover tooltip on lobbies to show 'Yes / No' and 'Host Bans: n' instead of 'true / false' and 'Banned Players: n'.
# Setting type: Boolean
# Default value: true
FormatTooltipYesNo = true

## Include host's leaderboard rank and score in the lobby hover tooltip.
# Setting type: Boolean
# Default value: true
ShowRankInTooltip = true

[5. Host Rank & Score]

## Append host's leaderboard rank and score to the lobby name in the browse lobby list.
# Setting type: Boolean
# Default value: true
ShowHostRankInLobbyName = true

## Sort lobbies in Browse Lobbies from highest to lowest host score (highest score at the top).
# Setting type: Boolean
# Default value: true
SortByScore = true

## Format for displaying rank and score in the lobby name. Available placeholders: {name}, {rank}, {score}.
# Setting type: String
# Default value: {name} #{rank} ({score})
LobbyNameRankFormat = {name} #{rank} ({score})

## Format for displaying the lobby name when the host has no leaderboard entry. Available placeholders: {name}.
# Setting type: String
# Default value: {name} (Unranked)
LobbyNameUnrankedFormat = {name} (Unranked)