A C++ console application for managing and analyzing player data, specifically focusing on linking Player IDs (SteamID64), IP addresses, and Player Names. This tool is designed to help identify alternate accounts ("alts") by tracking shared IP usage using a MySQL backend.
- Data Insertion: Import large datasets of IDs, IPs, and Names from text files.
- Link Analysis: Automatically creates relationships between IDs and IPs.
- Advanced Search:
- Search by ID: Find all IPs used by a specific ID, and then find all other IDs that have used those IPs (potential alts).
- Search by IP: Find all IDs associated with a specific IP.
- Web Search (Recursive): Deep search that recursively follows links to find extended networks of alts.
- Database Management: Options to clear or delete the database.
- Reporting: View new links created in the last 24 hours.
- Data Extraction: Export the entire database content to text files.
- Windows OS (Tested on Windows 10/11).
- Visual Studio 2022 (or compatible C++ IDE) with "Desktop development with C++" workload.
- MySQL Server (Version 8.0 or higher recommended) with X Plugin enabled.
- vcpkg: Microsoft C++ Package Manager.
This project uses the MySQL Connector/C++ (X DevAPI). You need to install it via vcpkg.
- Open your terminal (PowerShell or Command Prompt).
- Install the package for the x64 platform:
vcpkg install mysql-connector-cpp:x64-windows
- Integrate
vcpkgwith Visual Studio (if you haven't done so already):vcpkg integrate install
Ensure your MySQL Server is running and the X Plugin is active.
- Check Status: Run
SHOW PLUGINS;in your MySQL client and ensuremysqlxisACTIVE. - Default Port: The X Protocol uses port 33060 (distinct from the classic 3306 port).
- Open
PlayerDatabase.slnin Visual Studio. - Select the Release configuration and x64 platform.
- Build the solution (Build > Build Solution or
Ctrl + Shift + B).
-
Run the application once (
F5or run the.exe). -
It will detect that
ServerInfo.txtis missing and create it for you, then exit. -
Open the newly created
ServerInfo.txtfile (located in the project folder or next to the executable). -
Enter your MySQL credentials in the following format (3 lines):
tcp://127.0.0.1:33060 your_username your_password- Line 1: Connection string. Important: Ensure you use port 33060 (X Protocol). Do not use 3306.
- Line 2: Your MySQL username (e.g.,
root). - Line 3: Your MySQL password.
Run the application. The main menu provides the following options:
- (A) Insert Data: Parses
data.txt(if present) and imports IDs, IPs, and Names into the database. - (B) Search: Access the search menu to find alts by ID or IP.
- Select (W) for Web Search to perform a recursive lookup for the most comprehensive results.
- (E) Statistics: View total counts of IDs, IPs, and Links.
- (F) Recent Links: Show links created in the last 24 hours.
- (G) Sync/Update: Re-import data from update files.
- (H) Extract: Dump the entire database to
Data_Update_Sync_*.txtfiles.
To import data using Option (A), place a file named data.txt in the same directory. The application parses lines to extract:
- ID: 17-digit SteamID64.
- IP: IPv4 address.
- Name: Player name (extracted from quotes or context).
- "CDK Error: unexpected message":
- This indicates a protocol mismatch. You are likely trying to connect to the Classic MySQL port (3306) instead of the X Protocol port (33060). Update your
ServerInfo.txtto use33060.
- This indicates a protocol mismatch. You are likely trying to connect to the Classic MySQL port (3306) instead of the X Protocol port (33060). Update your
- "Cannot open include file: 'mysqlx/xdevapi.h'":
- Ensure
vcpkg integrate installhas been run. - Ensure you installed the package for the correct platform (
:x64-windows). - Ensure your Visual Studio project is set to use the x64 platform.
- Ensure
- C++: Core application logic.
- MySQL X DevAPI: Modern, NoSQL-like interface for MySQL interactions.
- vcpkg: Dependency management.