Advanced Match Data Analysis and Player Relationship Tracking for Paladins
A comprehensive tool for analyzing Paladins match data, tracking player relationships, and generating detailed statistics from Paladins.Guru
- Features
- Screenshots
- Installation
- Quick Start
- Configuration
- Usage Examples
- Output Files
- Command Reference
- Troubleshooting
- Contributing
- License
- Automated Match Scraping: Extracts detailed match data from Paladins.Guru profiles
- Player Relationship Analysis: Tracks teammates and opponents across multiple matches
- Champion Performance Metrics: Analyzes performance statistics by champion
- Map-Based Statistics: Provides insights into performance on different maps
- Historical Match Tracking: Processes extensive match histories with pagination support
- SQLite Database: Persistent storage with automatic duplicate prevention
- CSV Export Options: Multiple export formats for different data types
- Configurable Analysis Depth: Control how many matches and pages to process
- Data Persistence: Avoids re-processing already analyzed matches
- Win Rate Calculations: Team-based and opponent-based win rate analysis
- KDA Analysis: Kill/Death/Assist ratio tracking and averages
- Damage & Healing Metrics: Comprehensive performance statistics
- Relationship Mapping: Detailed teammate and opponent interaction analysis

Real-time analysis output showing match processing, data extraction, and statistical calculations in progress

Comprehensive analysis results displaying processed matches, teammate/opponent relationships, and detailed performance statistics across 2,100+ matches
- Python 3.7 or higher
- Internet connection
- Paladins.Guru profile URL
# Clone repository
git clone https://github.com/optisebas/paladins-match-analyzer.git
cd paladins-match-analyzer
# Install dependencies
pip install -r requirements.txt
# Run the tool
python paladins.py --url https://paladins.guru/profile/123456-PlayerName
# Clone repository
git clone https://github.com/optisebas/paladins-match-analyzer.git
cd paladins-match-analyzer
# Install dependencies
pip3 install -r requirements.txt
# Run the tool
python3 paladins.py --url https://paladins.guru/profile/123456-PlayerName
# Clone repository
git clone https://github.com/optisebas/paladins-match-analyzer.git
cd paladins-match-analyzer
# Install dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install python3-pip
pip3 install -r requirements.txt
# Run the tool
python3 paladins.py --url https://paladins.guru/profile/123456-PlayerName
python paladins.py --url https://paladins.guru/profile/9256237-Makoichi
-
Copy example config:
cp config.example.json config.json
-
Edit config.json:
{ "players_to_track": { "PlayerName": "123456789" } }
-
Run analysis:
python paladins.py
The config.json
file controls all analysis parameters:
{
"general_settings": {
"request_delay_sec": 0.8,
"max_matches_to_analyze": null,
"max_history_pages_to_scan": 50,
"top_n_relations_to_show": 10
}
}
{
"csv_output_options": {
"generate_detailed_stats_csv": true,
"generate_relations_csv": true,
"generate_champ_stats_csv": true,
"generate_map_stats_csv": true
}
}
{
"database_options": {
"enable_sqlite": true,
"db_filename": "paladins_analysis.sqlite",
"force_full_reanalysis": false
}
}
{
"debugging": {
"log_level": "INFO"
}
}
Setting | Conservative | Balanced | Aggressive |
---|---|---|---|
request_delay_sec |
1.2 | 0.8 | 0.5 |
max_matches_to_analyze |
500 | null | null |
max_history_pages_to_scan |
25 | 50 | 100 |
# Analyze single player
python paladins.py --url https://paladins.guru/profile/9256237-Makoichi
{
"players_to_track": {
"Player1": "123456",
"Player2": "789012",
"Player3": "345678"
}
}
python paladins.py
- Set
"force_full_reanalysis": true
to ignore database cache - Increase
"request_delay_sec": 1.5
for slower connections - Enable all CSV exports by setting all
csv_output_options
totrue
stats_PlayerName.csv
: Complete match statisticsrelations_PlayerName.csv
: Teammate and opponent relationshipschamp_stats_PlayerName.csv
: Champion-specific performancemap_stats_PlayerName.csv
: Map-based performance analysispaladins_analysis.sqlite
: SQLite database with all data
Field | Description |
---|---|
MatchID | Unique match identifier |
PlayerName | Player's display name |
Champion | Champion used |
MapName | Map where match was played |
Kills/Deaths/Assists | Combat statistics |
KDA | Kill/Death/Assist ratio |
DamageDealt | Total damage output |
Healing/Shielding | Support statistics |
Field | Description |
---|---|
PlayedWith_Games | Games as teammate |
PlayedWith_WinRate | Win rate with player |
PlayedVs_Games | Games as opponent |
WinRateVs_ForMainPlayer | Win rate against player |
TotalInteractions | Total games together |
python paladins.py [OPTIONS]
Options:
--url TEXT Paladins.Guru profile URL to analyze
--help Show help message and exit
- Go to Paladins.Guru
- Search for player name
- Copy profile URL (format:
https://paladins.guru/profile/ID-Name
)
โ "No match URLs found"
- Verify the Paladins.Guru profile URL is correct
- Check that the profile is public and has match history
- Ensure you're using the correct Player ID format
โ "HTTP 429: Too Many Requests"
- Increase
request_delay_sec
in config.json to 1.0 or higher - The tool automatically handles rate limiting, but be patient
- Consider reducing
max_history_pages_to_scan
โ "SQLite database locked"
- Close any other instances of the tool
- Check file permissions in the project directory
- Try deleting the
.sqlite
file and re-running
โ "Module not found" errors
- Ensure all dependencies are installed:
pip install -r requirements.txt
- Use a virtual environment to avoid conflicts
- Verify Python version is 3.7 or higher
โ "Connection timeout" errors
- Check your internet connection
- Increase
request_delay_sec
to reduce server load - Verify Paladins.Guru is accessible from your location
# Check Python version
python --version
# Verify dependencies
pip list
# Test with minimal config
python paladins.py --url https://paladins.guru/profile/123456-TestPlayer
Set "log_level": "DEBUG"
in config.json for detailed output.
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
# Fork and clone
git clone https://github.com/optisebas/paladins-match-analyzer.git
cd paladins-match-analyzer
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
- Follow PEP 8 style guidelines
- Add docstrings to new functions
- Update documentation for new features
- Test changes with different player profiles
This project is licensed under the MIT License - see the LICENSE file for details.
- โ Commercial use - Use in commercial applications
- โ Modification - Modify and distribute changes
- โ Distribution - Share the software
- โ Private use - Use privately
- โ Limitation - No liability or warranty
- Paladins.Guru for providing comprehensive match data
- Hi-Rez Studios for creating Paladins
- Python Community for excellent libraries (requests, pandas, BeautifulSoup)
- Gaming Analytics Community for inspiration and feedback
Component | Minimum | Recommended |
---|---|---|
OS | Windows 10, macOS 10.14, Ubuntu 18.04 | Latest versions |
Python | 3.7+ | 3.9+ |
RAM | 512 MB | 2 GB+ |
Storage | 50 MB | 500 MB+ |
Internet | Stable connection | Broadband |
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Start a discussion
- ๐ง Contact: optisebasgym@gmail.com
- ๐ Location: Colombia, Santander
- GUI Interface - Desktop application with tkinter
- Real-time Monitoring - Live match tracking
- Advanced Visualizations - Charts and graphs
- API Integration - Direct Hi-Rez API support
- Multi-game Support - Extend to other Hi-Rez games
Made with โค๏ธ for the Paladins community
โญ Star this repo if you find it helpful!
๐ฎ Happy analyzing, Champions!