Advanced combat log analysis tool for EVE Online pilots. Parse, visualize, and analyze your combat logs with professional-grade analytics and insights.
EVE Log Parser transforms raw EVE Online combat logs into actionable intelligence. Whether you're evaluating your PvP performance, analyzing fleet engagements, or tuning your ship fit, this tool provides the insights you need.
Key Features:
- 📊 Real-time DPS Analysis — Visualize damage application over time with interactive charts
- 🎯 Weapon Performance Metrics — Track hit quality, accuracy, and damage per weapon type
- 🛡️ Defensive Analysis — Monitor incoming damage, repair throughput, and tank effectiveness
- 🚁 Drone Intelligence — Separate drone performance from turret/missile effectiveness
- 🔍 Combat Timeline — See exactly when weapons fired, e-war applied, and repairs cycled
- 👥 EVE SSO Authentication — Sign in with your EVE Online account to persist logs across devices
- 🌙 Dark UI — EVE-faithful dark interface inspired by the in-game HUD
- Node.js 20+ (download)
- npm or yarn
- Optional: Docker & Docker Compose (for container deployment)
# Clone the repository
git clone https://github.com/chr1syy/eve-log-parser.git
cd eve-log-parser
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser.
-
Navigate to the Upload page
-
Drag & drop a
.txtcombat log file, or click to select one -
Parser automatically extracts:
- Damage dealt (by weapon/drone)
- Damage taken (incoming attacks)
- Electronic warfare (jams, neutralizers, webs)
- Repairs and support modules
- Combat timeline
-
View analysis across multiple tabs:
- Damage Application — Outgoing DPS and accuracy
- Damage Mitigation — Incoming threats and tank performance
- Kills — ISK destroyed and combat summary
- Capacitor — Energy management and neutralizer effects
- Repairs — Logistics and support analysis
eve-log-parser/
├── src/
│ ├── app/ # Next.js App Router pages & API routes
│ │ ├── api/auth/ # NextAuth (EVE SSO) route handler
│ │ ├── api/logs/ # Log CRUD API (authenticated)
│ │ ├── charts/ # Combined charts page
│ │ ├── fleet/ # Fleet analysis pages
│ │ ├── history/ # Log history page (authenticated)
│ │ ├── kills/ # Combat summary
│ │ ├── signin/ # EVE SSO sign-in page
│ │ ├── upload/ # Log upload page
│ │ └── layout.tsx # Root layout
│ ├── components/ # Reusable React components
│ │ ├── charts/ # Chart components (Recharts)
│ │ ├── fleet/ # Fleet analysis components
│ │ └── layout/ # Layout components (sidebar, topbar)
│ ├── contexts/ # React Context (logs, auth, fleet)
│ ├── lib/
│ │ ├── analysis/ # Cap, rep, and damage analysis utilities
│ │ ├── fleet/ # Fleet session management
│ │ ├── parser/ # EVE combat log parser
│ │ └── auth.ts # NextAuth configuration
│ └── __tests__/ # Unit & integration tests
├── data/user-logs/ # File-based log storage (per-user subdirs)
├── scripts/ # Changelog generation
├── public/ # Static assets
├── docker-compose.yml # Docker services (app container)
├── tsconfig.json # TypeScript config
├── vitest.config.ts # Test config
└── package.json
# Development server (hot reload)
npm run dev
# Production build
npm run build
# Start production server
npm start
# Run tests
npm test
# Run integration tests
npm run test:integration
# Lint code
npm run lint
# Initialize PostgreSQL (optional)
npm run db:init
# Generate changelog
npm run generate-changelogLog Parsing (src/lib/parser/eveLogParser.ts)
- Regex-based extraction of combat events
- Handles color tags, timestamps, and entity names
- Produces
LogEntry[]with structured data (damage, weapon, ship type, etc.)
Analysis (src/lib/analysis/)
- Time-series DPS calculation
- Hit quality breakdown (Misses, Grazes, Hits, Penetrates, Smashes, Wrecks)
- Per-weapon and per-target aggregation
- Bad hit percentage (Misses + Grazes / Total Hits)
UI (React + Next.js + Recharts)
- Interactive charts with zoom/pan
- Sortable tables with filtering
- Dark EVE-inspired design system (Tailwind CSS)
GET /api/version— Application version and build infoGET /api/changelog— Commit history and changesGET /api/logs— List authenticated user's logsPOST /api/logs— Upload a new logGET /api/logs/[id]— Fetch a specific logDELETE /api/logs/[id]— Delete a log
The application is fully containerized and can be deployed using Docker:
# Using Docker Compose
docker-compose up -dFor production deployments with automatic updates:
- See Deployment Guide
- See Watchtower Setup
GitHub Actions automatically:
- Tests and builds on pushes
- Creates releases on version tags
- Pushes Docker images to GitHub Container Registry
- Triggers automated updates via Watchtower
Create a .env.local file:
# Next.js
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<generate-with: openssl rand -base64 32>
# EVE SSO (for authentication)
EVE_SSO_CLIENT_ID=your_client_id_here
EVE_SSO_SECRET=your_secret_hereLogs are stored as JSON files under data/user-logs/ and core functionality does not require a database.
Optional PostgreSQL initialization is available via docker-compose.yml and npm run db:init for future or external integrations.
Register an EVE SSO application at https://developers.eveonline.com. Set the callback URL to <NEXTAUTH_URL>/api/auth/callback/eve-sso.
See DEPLOYMENT.md for production configuration.
npm testTests cover:
- Log parsing accuracy (damage, reps, e-war, shield/armor events)
- DPS calculations and damage aggregation
- Auth utilities and session handling
- NPC filtering logic
npm run test:integrationTests cover:
- Full upload → analysis flow
- UI interactions and chart updates
- Table sorting/filtering
- Authenticated and anonymous upload paths
Sample Log Files
Test logs are included in data/:
- Mixed weapon + drone damage
- NPC attacks + player attacks
- Remote repair events (armor and shield)
- Capacitor drain events
We welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Setting up a development environment
- Code style and standards
- Submitting issues and pull requests
- Reporting bugs
- Fleet combat log analysis
- Advanced e-war analytics (jam events, neut effectiveness)
- Alliance/coalition battle statistics
- Log comparison & before/after analysis
- Real-time combat overlay (external tool)
- Export to CSV/JSON for external analysis
Combat mechanics are documented in AGENTS.md, including:
- Damage types and resistances
- Weapon categories (turrets, missiles, drones)
- Accuracy models and range
- Electronic warfare module behavior
- Parsing guidance for agents
- Verify the file is a
.txtfile from EVE Online (Settings > Logs & Market Logs) - Check file format: each line should start with
[YYYY.MM.DD HH:MM:SS]
- Ensure combat log was captured in the correct location:
- Windows:
%LOCALAPPDATA%\CCP\EVE\logs\Chatlogs\ - macOS:
~/Library/Caches/CCP/EVE/logs/Chatlogs/ - Linux:
~/.ccp/eve/logs/Chatlogs/
- Windows:
- Issues: GitHub Issues
- Discussions: GitHub Discussions
This project is licensed under the MIT License — see LICENSE file for details.
EVE Online is a trademark of CCP Games ehf. All EVE Online imagery and lore are property of CCP Games. This tool is fan-made and not affiliated with, endorsed by, or connected to CCP Games.
Made by capsuleers, for capsuleers. 🚀