The ultimate combat analysis suite for Dark Age of Camelot players.
Parse your chat.log, visualize your performance, track personal bests, and receive real-time alerts — all in one powerful, cross-platform application.
Class Detection, Meta Builds & Plugin Ecosystem — January 2026
CLASS DETECTION META BUILD TEMPLATES ENEMY DATABASE
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Styles Analyzed: 12│ │ Templates: 45+ │ │ Enemies: 128 │
│ Candidates: 3 │ │ Realms: All 3 │ │ Win Rate: 72% │
│ Confidence: 92% │ │ Roles: Tank/DPS/ │ │ Favorites: 8 │
│ Class: Infiltrator │ │ Healer/Support │ │ Notes: 24 │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
v1.9.0 – v1.9.4 Highlights:
- Combat Style Class Detection — Identify enemy classes from combat style patterns with confidence scoring
- Meta Build Templates — 45+ pre-built templates across all realms and roles
- Enemy Encounter Database — Track, search, and analyze all enemy encounters with win rates and statistics
- Discord Bot Integration — Webhook-based session summaries, PB announcements, and kill notifications
- Damage Breakdown Charts — Interactive pie/bar visualizations with hierarchical drill-down
- Enhanced Profile Export — Privacy controls, anonymization, and configurable export options
|
|
Real-Time Combat Alerts — Get notified when it matters most
| Condition | Triggers When... |
|---|---|
HealthBelow |
Health drops below threshold (e.g., 30%) |
DamageInWindow |
Burst damage exceeds amount in time window |
KillStreak |
Kill streak reaches milestone (3, 5, 10...) |
EnemyClass |
Targeting specific class (Minstrel, Cleric...) |
AbilityUsed |
Realm ability activated (self or enemy) |
DebuffApplied |
Specific debuff detected (Disease, Poison...) |
- Sound — Priority-based audio alerts
- Screen Flash — Visual notification with configurable color/duration
- Text-to-Speech — Spoken alerts with message templates
- Discord Webhook — Post alerts to your Discord channel
Rule: "Low Health Warning"
├── Priority: Critical
├── Conditions: Health < 25% AND InCombat
├── Notifications: Sound + ScreenFlash + TTS
└── Cooldown: 10 seconds
Session Comparison & Analytics — Track your improvement over time
┌─────────────────────────────────────────────────────────┐
│ SESSION COMPARISON │
├─────────────────────────────────────────────────────────┤
│ Metric Base Compare Change │
│ ───────────────────────────────────────────────────── │
│ Damage Per Second 142.3 168.7 +18.5% ↑ │
│ Healing Per Second 45.2 48.1 + 6.4% ↑ │
│ Kill/Death Ratio 2.1 2.8 +33.3% ↑ │
│ Deaths 8 5 -37.5% ↑ │
│ Critical Hit Rate 24.3% 27.1% + 2.8% ↑ │
└─────────────────────────────────────────────────────────┘
- Linear Regression — Detect performance trends (improving/declining)
- Rolling Averages — Smoothed visualization over time
- R² Coefficient — Measure trend reliability
- Predictions — Extrapolate expected future performance
┌──────────────────────────────────────┐
│ Goal: Reach 200 DPS │
│ ████████████████░░░░ 78% │
│ Current: 156 DPS | Target: 200 DPS │
│ Status: In Progress │
└──────────────────────────────────────┘
Death Analysis — Understand why you died and how to survive
| Category | Subcategory | Description |
|---|---|---|
| Burst | Alpha Strike | Overwhelming damage in <3 seconds |
| Burst | Coordinated | Multiple attackers in quick succession |
| Burst | CC Chain | Death during crowd control chain |
| Attrition | Healing Deficit | Damage outpaced healing over time |
| Attrition | Resource Exhaustion | Out of power/endurance |
| Execution | Low Health | Finished while already wounded |
| Execution | DoT Finish | Killed by damage over time |
T-15.0s ─┬─ Mezmerized by Sorcerer
│
T-12.2s ─┼─ Root applied
│
T-10.0s ─┼─ 450 damage from Infiltrator (backstab)
│
T-08.5s ─┼─ 380 damage from Infiltrator (critical)
│
T-06.0s ─┼─ Stun applied (3s)
│
T-03.0s ─┼─ 520 damage from Infiltrator (Purge)
│
T-00.0s ─┴─ DEATH - Killing blow: Infiltrator (892 damage)
Category: Burst (CC Chain)
Recommendation: Consider Purge timing and positioning
Realm Ability Tracking — Master your RAs for maximum impact
| Realm | Abilities | Examples |
|---|---|---|
| Albion | 35+ | Purge, IP, SoS, Determination |
| Midgard | 35+ | Purge, IP, SoS, Raging Power |
| Hibernia | 35+ | Purge, IP, SoS, Thornweed Field |
| Universal | 20+ | MOC, BAoD, AoM, First Aid |
- Activation Timeline — When and how often you use RAs
- Cooldown Efficiency — Are you using abilities optimally?
- Damage/Healing Attribution — Total impact per ability
- Era Gating — Classic, SI, ToA, NF, Live ability filtering
Buff/Debuff Tracking — Maximize your uptime
- Damage Buffs (STR/DEX buffs, damage adds)
- Defensive Buffs (AF, ABS, resistances)
- Speed Buffs (Sprint, Speed)
- Healing Buffs (HoTs, heal procs)
- Crowd Control Effects (Mez, Root, Stun)
- Debuffs (Disease, Poison, Stat debuffs)
┌─────────────────────────────────────────────────────────┐
│ BUFF UPTIME REPORT │
├─────────────────────────────────────────────────────────┤
│ Damage Add ████████████████████░ 95.2% │
│ AF Buff ██████████████████░░░ 87.3% │
│ Haste ████████████████░░░░░ 78.1% │
│ Resistance Buff ██████████░░░░░░░░░░░ 52.4% ⚠️ │
└─────────────────────────────────────────────────────────┘
⚠️ Critical gap detected!
Crowd Control Analysis — Track DR and optimize CC chains
| DR Level | Duration | After |
|---|---|---|
| Full | 100% | First CC |
| Reduced | 50% | Second CC |
| Minimal | 25% | Third CC |
| Immune | 0% | Fourth+ CC |
DR resets after 60 seconds without CC of that type
Target: EnemyPlayer
├── [00:00.0] Mez (9.0s) ── DR: Full
├── [00:08.5] Stun (4.5s) ── DR: Full (different type)
├── [00:13.0] Mez (4.5s) ── DR: Reduced
└── [00:17.0] Mez (2.3s) ── DR: Minimal
Chain Duration: 19.3s | Efficiency: 87%
Keep/Siege & RvR Tracking — Dominate the frontier
- Door/Structure Damage — Per-door damage aggregation with siege session detection
- Siege Phases — Approach, Outer Siege, Inner Siege, Lord Fight, Capture
- Contribution Scoring — Formula-based scoring: structure damage, player kills, healing, guard kills
- Keep Statistics — Aggregated outcomes per keep with timeline visualization
- Event Tracking — Pickup, drop, capture, and return events
- Carrier Statistics — Delivery success rates and contribution scoring
- Relic Database — All 6 realm relics with real-time status (Home, InTransit, Captured)
- Zone Detection — Thidranki, Molvik, Cathal Valley, Killaloe, Open RvR
- Per-Session Stats — Kills, deaths, damage, healing, K/D ratio
- Aggregated Analytics — Best performing BG, most played, total time, estimated realm points
Character Building & Profiles — Plan and track your builds
- Profile Management — Create, import/export, and share character profiles
- Build Snapshots — Immutable build versions with rollback history
- Session Attachment — Link combat sessions to profiles for performance correlation
- Complete spec line templates for all Albion, Midgard, and Hibernia classes
- DAoC point formulas:
(level × 2) + (level / 2) + 1= 126 points at 50 - Spec multiplier support for hybrid classes
┌─────────────────────────────────────────────────────────┐
│ BUILD COMPARISON │
├─────────────────────────────────────────────────────────┤
│ Spec Line Build A Build B Delta │
│ ───────────────────────────────────────────────────── │
│ Sword 50 39 -11 ↓ │
│ Shield 42 50 + 8 ↑ │
│ Parry 28 35 + 7 ↑ │
└─────────────────────────────────────────────────────────┘
- Realm Rank Progression — RR1–RR14 milestone tracking with estimated time to next rank
- Performance Trends — DPS and K/D trend analysis across sessions
Enemy Encounter Database — Know your enemies
- Automatic Classification — Players, Mobs, and NPCs detected via naming heuristics
- Per-Enemy Statistics — Damage dealt/taken, kills/deaths, win rate, average DPS
- Damage Breakdown — Ability-type analysis per enemy
- User Notes & Favorites — Annotate enemies and mark key targets
- Search & Filter — Find enemies by name, type, or realm
- Sort — By win rate, encounters, damage, or name
- Color-Coded Badges — Red (Players), Green (Mobs), Blue (NPCs)
- Export — JSON export of filtered enemy data
Class Detection & Meta Builds — Identify and optimize
- Analyze combat style patterns to identify enemy classes
- Confidence scoring based on style frequency and uniqueness
- Covers 45+ classes across all three realms
- 2–3 meta builds per class covering different playstyles
- Includes spec lines, realm abilities, role, and author
- Filter by realm and role (Tank, DPS, Healer, Support)
- Load templates directly into the Build Editor
Download the latest release for your platform from Releases:
| Platform | Download | Requirements |
|---|---|---|
| Windows | CamelotCombatReporter-win-x64.zip |
Windows 10+ |
| macOS (Intel) | CamelotCombatReporter-osx-x64.zip |
macOS 11+ |
| macOS (Apple Silicon) | CamelotCombatReporter-osx-arm64.zip |
macOS 11+ |
| Linux | CamelotCombatReporter-linux-x64.zip |
Ubuntu 20.04+ or equivalent |
Note: All releases are self-contained — no .NET runtime installation required.
# Clone the repository
git clone https://github.com/southpawriter02/camelot-combat-reporter.git
cd camelot-combat-reporter
# Build all projects
dotnet build
# Run tests
dotnet test
# Run the GUI application
dotnet run --project src/CamelotCombatReporter.GuiRequirements: .NET 9.0 SDK or later
# GUI (recommended)
dotnet run --project src/CamelotCombatReporter.Gui
# CLI
dotnet run --project src/CamelotCombatReporter.Cli -- <path_to_log_file>- Drag & Drop your
chat.logfile into the application - Or use File → Open to browse
| Tab | What You'll Find |
|---|---|
| Dashboard | Overview statistics and timeline |
| Damage | Dealt/received breakdown by source |
| Healing | Healing analysis with effectiveness |
| Deaths | Death analysis with recommendations |
| CC Analysis | Crowd control and DR tracking |
| Realm Abilities | RA usage statistics |
| Buff Tracking | Buff uptime and gap analysis |
| Alerts | Configure real-time notifications |
| Session Comparison | Compare sessions and track trends |
| Group Analysis | Composition analysis and role coverage |
| Siege Tracking | Keep siege sessions, phases, and contributions |
| Relic Tracking | Relic raid history and carrier statistics |
| Battlegrounds | BG performance by type with K/D charts |
| Character Building | Profiles, builds, spec templates, and progression |
| Enemy Browser | Encounter database with search, filter, and stats |
camelot-combat-reporter/
├── src/
│ ├── CamelotCombatReporter.Core/ # Core parsing and analysis
│ │ ├── Parsing/ # Log parser and event extraction
│ │ ├── Models/ # Data models and events
│ │ ├── DeathAnalysis/ # Death categorization
│ │ ├── CrowdControlAnalysis/ # CC and DR tracking
│ │ ├── RealmAbilities/ # RA database and tracking
│ │ ├── BuffTracking/ # Buff/debuff monitoring
│ │ ├── Alerts/ # Alert engine and conditions
│ │ ├── Comparison/ # Session comparison services
│ │ ├── GroupAnalysis/ # Group composition analysis
│ │ ├── RvR/ # Keep/siege, relic, BG tracking
│ │ ├── CharacterBuilding/ # Profiles, builds, spec templates
│ │ ├── Updates/ # Auto-update system
│ │ ├── ChatFiltering/ # Chat message filtering
│ │ ├── ServerProfiles/ # Era-based server profiles
│ │ ├── InstanceTracking/ # Instance/dungeon tracking
│ │ ├── Caching/ # Performance caching layer
│ │ └── Optimization/ # Performance optimizations
│ │
│ ├── CamelotCombatReporter.Gui/ # Avalonia UI application
│ │ ├── Views/ # XAML views
│ │ ├── ViewModels/ # MVVM view models
│ │ └── [Feature]/ # Feature-specific GUI
│ │
│ ├── CamelotCombatReporter.Cli/ # Command-line interface
│ ├── CamelotCombatReporter.Plugins/ # Plugin host infrastructure
│ └── CamelotCombatReporter.PluginSdk/# Plugin development SDK
│
├── plugins/ # Community plugins
│ ├── DamageBreakdownChart/ # Interactive damage visualizations
│ ├── DiscordIntegration/ # Discord webhook bot
│ └── EnemyEncounterDatabase/ # Enemy tracking database
│
├── tests/ # Unit tests (410 tests)
├── benchmarks/ # Performance benchmarks
├── installer/ # Platform-specific installers
├── data/ # Sample logs and resources
├── docs/ # Documentation
└── roadmap/ # Feature roadmap
| Version | Focus | Status |
|---|---|---|
| v1.0.0 | Core Parsing, GUI, Plugins, Loot Tracking | ✅ Released |
| v1.1.0 | Death Analysis, CC Tracking, Server Profiles | ✅ Released |
| v1.2.0 | Realm Abilities, Buff/Debuff Tracking | ✅ Released |
| v1.3.0 | Combat Alerts, Session Comparison, Trends | ✅ Released |
| v1.4.0 | Group Composition Analysis, Role Classification | ✅ Released |
| v1.5.0 | Keep/Siege Tracking, Relic Raids, Battlegrounds | ✅ Released |
| v1.6.0 | Installers (MSI, DMG, deb, rpm) & Auto-Update | ✅ Released |
| v1.8.0 | Character Building: Profiles, 48 Class Templates, RA Catalog | ✅ Released |
| v1.9.0 | Class Detection, Meta Builds, Enemy Database, Discord Plugin | ✅ Released |
| v2.0.0 | Combat Replay, Overlay HUD, ML Insights | 📋 Planned |
Progress: 21/24 major features complete
See the Full Roadmap for detailed feature specifications.
Extend Camelot Combat Reporter with custom plugins:
[Plugin("MyPlugin", "1.0.0", "Your Name")]
public class MyPlugin : PluginBase
{
public override void OnSessionLoaded(SessionData session)
{
// React to session data
var totalDamage = session.Events
.OfType<DamageEvent>()
.Sum(e => e.Amount);
Logger.Info($"Total damage: {totalDamage}");
}
}Plugin Capabilities:
- Access parsed combat data
- Register custom UI panels
- Export to custom formats
- Integrate with external services
See Plugin Development Guide for full documentation.
| Document | Description |
|---|---|
| Architecture | System design, data flow, component interaction |
| Contributing | Development setup, coding standards, PR process |
| Changelog | Version history and detailed release notes |
| Roadmap | Feature specifications and implementation status |
| Plugin Guide | Build and distribute custom plugins |
# Run all tests
dotnet test
# Run with coverage
dotnet test --collect:"XPlat Code Coverage"
# Run specific test project
dotnet test tests/CamelotCombatReporter.Core.TestsCurrent Status: 410 tests passing (381 Core + 29 GUI)
We welcome contributions! Please see our Contributing Guide for:
- Setting up your development environment
- Code style and conventions
- Submitting pull requests
- Reporting bugs and requesting features
This project is licensed under the MIT License — see the LICENSE file for details.