Skip to content

kelleyblackmore/starparse

Repository files navigation

StarParse — SWTOR Live Combat Log Parser

A real-time combat log parser for Star Wars: The Old Republic. Reads your local game logs and streams live DPS/HPS meters, encounter history, and ability breakdowns to a local web UI — no game overlay required.


Features

  • Live DPS & HPS meters with per-player class icons
  • DPS-over-time chart with smooth curves and peak labels
  • Encounter history — auto-detects boss fights, shows duration and total damage
  • Ability breakdown — per-player hit counts, damage share, and ability table
  • Player / NPC filter — toggle between players-only, NPCs-only, or everyone
  • Event feed — color-coded log of every combat event in real time
  • Log directory settings — auto-detects your SWTOR install; supports custom paths and pinning a specific log file

Quick Start (run from source)

Prerequisites

  • Python 3.10+python.org
  • SWTOR with Combat Logging enabled in-game:
    Preferences → Game → Enable Combat Logging

1. Clone or download

git clone https://github.com/kelleyblackmore/starparse.git
cd starparse

2. Install dependencies

pip install -r requirements.txt

3. Run

Browser mode (always works):

python server.py

Then open http://localhost:3000 in your browser.

Desktop window (requires pywebview):

python app.py

Opens a native desktop window directly — no browser needed.


Building a Standalone Executable

No Python install required on the target machine.

Windows

build.bat

Output: dist\StarParse.exe — double-click to run.

macOS / Linux

chmod +x build.sh
./build.sh

Output: dist/StarParse (or dist/StarParse.app on macOS).

Linux note: Requires WebKit2GTK for the native window.
Ubuntu/Debian: sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.0
Fedora: sudo dnf install webkit2gtk4.0


Log Directory

StarParse auto-detects your SWTOR combat logs. The default location is:

OS Default path
Windows Documents\Star Wars - The Old Republic\CombatLogs
macOS ~/Documents/Star Wars - The Old Republic/CombatLogs

If your game is installed in a non-standard location, click the gear icon in the app header to open the Log Directory settings. You can:

  • Edit the path manually and click Save
  • Auto-detect to scan common install locations across all drives
  • Pin a specific log file instead of always using the latest one

Settings are saved to ~/.starparse/config.json and persist across restarts.


Enabling Combat Logging in SWTOR

  1. Launch SWTOR and log in
  2. Open Preferences (Escape → Preferences)
  3. Go to Game tab
  4. Check Enable Combat Logging
  5. Log files appear in Documents\Star Wars - The Old Republic\CombatLogs\

A new combat_YYYY-MM-DD_HH_MM_SS_*.txt file is created each session. StarParse automatically picks up the newest one.


Project Structure

starparse/
├── server.py          # Python HTTP server + SSE log watcher
├── parser.py          # SWTOR combat log line parser
├── app.py             # Desktop launcher (pywebview)
├── public/
│   └── index.html     # Single-file frontend (vanilla JS)
├── create_icon.py     # Generates icon.ico / icon.png with Pillow
├── icon.ico           # Windows application icon
├── icon.png           # 256px PNG (macOS/Linux source)
├── build.bat          # Windows build script
├── build.sh           # macOS / Linux build script
└── requirements.txt   # Python dependencies

Dependencies

Package Purpose
pywebview Native desktop window wrapper
pyinstaller Packages into a standalone executable
Pillow Icon generation (create_icon.py)

All standard library — no Node.js, no Electron, no database.


Regenerating the Icon

python create_icon.py

Produces icon.ico (all sizes: 16–256 px) and icon.png. Requires Pillow (pip install Pillow).


License

MIT

About

Real-time SWTOR combat log parser — live DPS/HPS meters, encounter history, ability breakdowns, and export

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors