Player Queries
July 20, 2024 at 1:00 AM UTC
Overview
Player queries are intended to help you find related players. At this time the primary use is finding alternate player profiles (“alts”). Alts are commonly used by ban evaders, cheaters, and other bad actors.
The system helps you find alts by scoring player profiles based on player queries you create. Player queries evaluate conditions built using a similar interface to triggers and schedules. Many of the player conditions found in triggers are available for player queries.
Along with player queries we have added the Global Player Matching database. Organizations may opt in to this database and contribute their player data to help match players.
The Global Player Matching database is opt in. However you must opt in to make use of the new player query features.
Private identifiers (Steam64ID, IP, etc) in the Global Player Matching database are only used for matching. The actual identifier is never revealed and only non-identifying metadata is available. Our intention is to provide a secure alternative to mass data sharing agreements. The alt detection will be superior in accuracy, scope, and security compared to any organization to organization agreement.
Organization Settings
Global Player Matching
The opt in for Global Player Matching is found on your organization page - https://www.battlemetrics.com/rcon/orgs. The setting is located in the same area as the GeoIP, 2FA, and API Key disclosure settings. Opting in allows your player data to be used for player matching. After you opt in, you may opt out at any time and remove your organization’s data from the Global Player Matching database.
Private identifiers will not be revealed to other organizations.
All matching is done on our servers and only the following data is available to other organizations:
- Type of identifier matched (Name, IP, etc.)
- The number of matches (e.g. 3 names, 2 IPs)
- IP metadata such as:
- Geo IP Country
- ASN
- If the IP is a known proxy
- Steam ID metadata:
- Game, Rust, and VAC ban information
- Limited account, private profile, and profile state information
- Profile country
- Game count
Permissions
There are four new permissions for Player Queries. Users may create personal queries, but to interact with organization-created queries they must have the appropriate permission.
The new permissions are:
- View Player Queries: Allows the user to view and use Player Queries.
- Create Player Query: Allows the user to create a new Player Query for the organization.
- Update Player Query: Allows the user to update an existing Player Query.
- Delete Player Query: Allows the user to delete a Player Query.
Player Query Features
Match Types
You can match on any non-unique identifier. In addition to the standard name and IP identifiers we have added 3 new types that are based on the player name.
For each player name up to four variations will be generated and made available for matching. These are the Sanitized Name, Tag, and Tag Name types.
We will look for anything resembling a clan or team tag in a player’s name and generate a Sanitized Name with and without it. Additionally the Tag type will be generated with the exact tag including all surrounding characters (-= TAG -=
) and Tag Name without the extra characters (TAG
).
A Sanitized Name is case-insensitive, has lookalike characters standardized, common leetspeak translated, whitespace standardized, and Zalgo removed. If a tag is detected in the player name then a version without the tag is also created.
Initial Scoring
An initial score for a player is created by running each rule you created. For each identifier match the associated rules will be run and generate a score for that identifier. The scores generated are then summed and used to rank the player match.
Score Modifiers
You can modify the final score with a Score Modifier. You can use this to modify the total score based on common, non identifier specific criteria.
For example, if you are looking for ban evaders you might want to multiply the final score by 1.5 if the matching player is banned.
Scores
When building your rules you may add, multiply and raise (exponent) the score. Results are sorted from highest score to lowest score.
Identifiers start with a score of 0. You should include at least one addition rule. Addition rules are processed first followed by multiply and finally exponent. Matches with a resulting score of 0 will not be returned.
Player vs Match
Most of the conditions are available for both Player and Match. Player is the player that you are currently looking at. Player is not included in the results. Match is another player who shares an identifier with Player and will be returned in results.
Results
Match results are returned in the order of highest to lowest score. Each page contains up to 50 results and the results along with the pages are color coded to help you easily identify large changes in scores. The highest score will be green and the lowest score will be red.
A score breakdown is provided to show the final score and how different identifier types contributed to the final score.
The values of conditions used in your rules are visible in the results and a full condition breakdown for each identifier matched is available by clicking on “View Condition Evaluation”.
Information about current and past Steam/game bans and limited profiles is displayed if the player’s Steam ID is available through Global Player Matching.
Unique identifiers and flags for the matched player are included. This is limited to your access and does not interact with the Global Player Matching database.
Pinned Queries
You may pin Player Queries that have been saved. Both organization and personal queries may be pinned. Queries are pinned in the order in which they were selected so you can customize which ones you want to be prominent. Pinned queries are account specific: they do not apply to other users in the organization.
The queries you pin will be available directly on the player page navigation under related players.
Sample Queries
We have created a few sample queries to get you started. These will likely change as we gather feedback and implement new features.
Sharing Queries
You are able to copy Player Queries and share them with other users. This is very similar to sharing triggers, but there are two links you can choose from with Player Queries.
The “With Player” links to the player you are looking at currently. You can use this link to share the query and the player you were running it on. Results are specific to you and may be different for the person you share the link with. Different organization membership and permissions can change the results.
The “Without Player” option links to the player search page. After following the link the user will be prompted to search for a player. The player results will link to and run the query instead of the standard action of directing them to the player overview.