Skip to content

SuperMilkers/fellowship_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fellowship Log Parser

Fellowship Parser Logo

Fellowship Log Parser is a public reverse-engineering project for Fellowship combat logs. The goal is to document packet structure, validate captured schemas, and make the log format easier to analyze.

Join us on Discord: https://discord.gg/cd5wNTj6

Features

  • Parses Fellowship combat logs into structured events
  • Documents packet layouts and field mappings
  • Validates parser behavior against documented schemas
  • Decodes combat, encounter, dungeon, resource, and character data
  • Includes schema conformance tests and validation tools
  • Supports research and analysis of combat log data

Combat Log Locations

Windows (Steam)

Default combat log location:

C:\Program Files\Steam\steamapps\common\Fellowship\fellowship\Saved\CombatLogs

Common alternate Steam library locations:

D:\SteamLibrary\steamapps\common\Fellowship\fellowship\Saved\CombatLogs
E:\SteamLibrary\steamapps\common\Fellowship\fellowship\Saved\CombatLogs

Project Status

The parser currently supports all documented packet families in the project schema and includes automated schema conformance testing. Documentation and packet decoding continue to improve as additional game data is analyzed, but the project is intended to be usable today for log inspection, validation, and research.

Core Documentation

The main public references for this project are:

  • docs/schema/
  • docs/schema/canonical_combat_schema.json
  • docs/schema/combat_field_map.json
  • docs/research/

These documents track what has been decoded so far, what is still uncertain, and how the parser maps raw packets into structured events.

Supported Packet Families

The current documented packet families are:

  • ABILITY_ACTIVATED
  • ABILITY_CAST_FAIL
  • ABILITY_CAST_START
  • ABILITY_CAST_SUCCESS
  • ABILITY_CHANNEL_FAIL
  • ABILITY_CHANNEL_START
  • ABILITY_CHANNEL_SUCCESS
  • ABILITY_DAMAGE
  • ABILITY_DISPEL
  • ABILITY_HEAL
  • ABILITY_INTERRUPT
  • ABILITY_LIFESTEAL_HEAL
  • ABILITY_PERIODIC_DAMAGE
  • ABILITY_PERIODIC_HEAL
  • ALLY_DEATH
  • COMBATANT_INFO
  • DAMAGE_ABSORBED
  • DUNGEON_END
  • DUNGEON_START
  • EFFECT_APPLIED
  • EFFECT_REFRESHED
  • EFFECT_REMOVED
  • ENCOUNTER_END
  • ENCOUNTER_START
  • EVENT_INVALID
  • LOGGING_STARTED
  • MAP_CHANGE
  • MARKER_PLACED
  • MARKER_REMOVED
  • RESOURCE_CHANGED
  • RESURRECT
  • SWING_DAMAGE
  • UNIT_DEATH
  • UNIT_DESTROYED
  • WORLD_MARKER_PLACED
  • WORLD_MARKER_REMOVED
  • ZONE_CHANGE

Requirements

  • Python 3.10 or newer
  • pytest for test execution

The project metadata documents the interpreter requirement in pyproject.toml.

Installation

python3 -m venv .venv
.venv/bin/python -m pip install -U pip
.venv/bin/python -m pip install -e .

Public Entry Points

Stable public entrypoints are:

  • fellowship-log-parser
  • python -m fellowship_parser
  • fellowship_parser.FellowshipLogParser

Example:

.venv/bin/fellowship-log-parser path/to/combat.log
.venv/bin/python -m fellowship_parser path/to/combat.log --summary

In Python:

from fellowship_parser import parser

log_parser = parser.FellowshipLogParser()
events = list(log_parser.parse_file("path/to/combat.log"))

Testing

Canonical test command:

PYTHONPATH=src .venv/bin/python -m pytest -q

Schema validation tests live in tests/test_schema_conformance.py. Packet fixture and decoder behavior tests currently live in tests/test_combatant_info.py.

Schema Documentation

Documented schema references:

  • docs/schema/combat_field_map.json
  • docs/schema/canonical_combat_schema.json

The schema conformance tests compare the parser’s event definitions against the documented packet map.

License

Copyright (c) 2026 SuperMilkers

This repository is distributed under the MIT License. See LICENSE for details.

About

Fellowship Log Parser is an analysis toolkit for Fellowship combat logs.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages