EQL ORACLE
EverQuest Legends parsing & progression assistant

Everything happening in your
fight, finally on screen.

A live combat meter, an in-game overlay, drop tracking, navmesh maps, and automatic class detection — all read straight off your own log. Free, open source, runs entirely on your machine.

View releases on GitHub

current release: 0.14.0 · September 2, 2026 · Windows and Linux

your log is parsed locally — nothing is ever uploaded

EQL Oracle's Combat tab: a raid fight with per-ally damage share, DPS, hits and crit rate

Take the tour

Scroll, or pick a tab. Every screenshot is the real app on a real log.

Combat
01 · Combat

A meter that knows what a fight is

Every fight is found in the log itself: pulls open on the first hit, adds fold in, a kill or a wipe closes it, a mezz keeps it alive. Nothing to start or stop.

  • Per-ally DPS on each ally's own clock, so a late joiner's number is honest.
  • Team and incoming damage, ability breakdowns, cast outcomes, a scrubbable timeline.
  • Past parses against the same target, per loadout, with your best on record.
02 · Overlay

Widgets over the game, out of the way

Separate always-on-top, click-through windows: DPS meter, Skill Tracker, Drop Watch, CC Tracker, Session. Each has its own position and opacity, and they stay put over borderless fullscreen on Windows.

  • Skill Tracker — your status effects, cooldowns, and what's on the target.
  • Session — AA, levels and plat per hour, next-level ETA, motes by tier.
  • Drop Watch — a heads-up the moment the current fight can drop something you track.
03 · Maps

Routes over the server's own navmesh

Zone maps with the NPC list on the side. Click a mob, get a path from where you stand — computed over EQEmu's navigation meshes, collision, and water volumes, so it goes around geometry and swims where you'd swim.

  • Cross-zone GPS with teleporter pads, portal rings, and only the spells you actually know.
  • Underwater zones route through shafts and doorways, Kedge Keep included.
  • Follow me switches the map when you zone; /loc places you on it.
04 · Character

Class, gear, spells, bags — all inferred

Your class trio is detected from what you cast and which AAs you use, per zone visit. The gear planner understands tiers and exalts; the spellbook builder suggests damage spells rank-aware.

  • Inventory from /outputfile inventory — every bag, bank slot, and "where is my X".
  • AA log and known spells straight from the lines that granted them.
05 · Endgame

Raids, bosses, and Sky quests

Boss and miniboss kill counts, drop tables against what you've actually looted, solo and group tiers kept apart, fastest clears. Plane of Sky class unlocks and quest tracking with confirmed turn-ins.

  • Demand-aware materials — an item three quests need gets one line with the real remaining count.
06 · Tradeskill

Your skill levels and what you've made

Current level in each tradeskill, parsed from skill-ups, a recipe catalog, and a craft log built from your own combines.

07 · Game Data

Zones, items, NPCs, AAs, spells — cross-linked

A local reference with your own history folded in: every NPC page shows your encounters and loot with it, every zone page your visits.

08 · Overview

The session at a glance

Character, current session rates, motes by tier, recent loot. Resets when you come back from AFK or when you say so.

Is this safe to run?

Fair question for a download from a site you've never heard of. Here is exactly what you're getting.

Windows will warn you first expected

The installer is not code-signed — a signing certificate costs a few hundred dollars a year, and this is a free tool by one player. So SmartScreen shows "Windows protected your PC" with an unknown publisher. Click More info, then Run anyway. That warning is about the missing certificate, not about what the file does.

What it touches on your machine read-only log

  • Reads eqlog_<Character>_<Server>.txt — read-only, never modified.
  • Reads /outputfile inventory dumps if you make them.
  • Writes its own settings and cache under your user profile, nothing in the game folder.
  • No account, no login, no telemetry, no analytics.

Every network call it makes two hosts

  • GitHub — checks for a new release; the update payload is signature-checked before it's installed.
  • EQEmu maps on GitHub — public navigation meshes for a zone the first time you open its map.
  • That's all. Your log, your character, your chat never leave the machine.

Check it yourself open source

What's new

Updates land as public releases; the app checks for them on launch and asks before installing.

0.14.0

September 2, 2026
  • Routing everywhere — every zone uses the navmesh, collision mesh, and water volume. Underwater zones route through shafts and doorways; all of Kedge Keep's spawn points path.
  • Spawn points without a height — map-pack labels place named mobs in 3D; anything still ambiguous lists its candidate floors instead of guessing.
  • Evac clears the fight — a fight that ended at the last zone line is no longer "current".
  • Same-named mobs — a fight that hits a slain name again gets six seconds of grace before it closes, so a raid chain stays one fight.
  • Session overlay — AA, levels, and plat per hour with next-level ETA and motes by tier.
  • Windows overlay fixed — windowed-fullscreen overlays that never appeared now do.
  • Maps fill the window; Drop Watch lists wrap; zone routes only use teleports you know.

Full changelog →

Under the hood

The short version. The long version is in the repo.

eqlog_*.txt→tail @ 100ms→frame→classify→typed action→ingest→columnar store→query→UI

tail

The newest eqlog_*.txt is polled every 100 ms by byte offset and file identity. Rotation, truncation, and replacement are all handled; the log is only ever opened read-only.

classify

Two stages: a single multi-pattern anchor pass narrows each line to candidate rules, then per-rule regex extracts fields. The result is one of ~160 typed actions — every line accounted for, matched or not.

store

Append-only columnar event store with interned names; encounters are row ranges over it, not copies. A full multi-month raid log replays in seconds inside a few hundred MB.

encounters

A streaming fight graph decides boundaries: idle windows close fights, mezz keeps them alive, resets link to re-engagements, and a corpse from a merged pull is folded into its keeper. Kill and reset are distinct outcomes, never guessed.

routing

EQEmu's Detour navmesh per zone, its collision mesh for line of sight, its water volumes for where swimming is allowed. Mesh islands are bridged only through water; an underwater zone adds swim nodes for shafts the mesh can't carry.

replay

Deterministic: the same log always produces the same state. History backfills in parallel across cores, then live lines apply in order — restart the app and it rebuilds everything from the file alone.