Skip to main content

Automatic Fellowship dungeon recorder

Project description

Fellowship Recorder

Automatically record your Fellowship dungeon runs with automatic detection, chapter markers, and rich metadata.

  • This currently only works on Linux
  • "Enable Advanced Combat Logs" needs to be enabled within the Gameplay options in Fellowship

TUI Dashboard

Features

  • Automatic recording - Detects dungeon start/end from combat logs
  • Smart naming - 20251125_090352_Urrak_Markets_Eternal_26.mkv
  • Chapter markers - Boss encounters and player deaths (requires FFmpeg)
  • Rich metadata - Party composition, deaths, affixes, difficulty tiers (JSON)
  • Configurable filters - Record only specific difficulties or skip Quick Play
  • TUI dashboard - Live status, events, and recordings in a terminal interface
  • Lightweight - Minimal resource usage, runs in background

Quick Start

1. Install

Install uv (if you don't have it):

curl -LsSf https://astral.sh/uv/install.sh | sh

Install fellowship-recorder:

uv tool install fellowship-recorder

This automatically handles Python and creates an isolated environment.

Uninstall:

uv tool uninstall fellowship-recorder

System requirements:

  • Linux
  • gpu-screen-recorder (AUR: yay -S gpu-screen-recorder)
  • FFmpeg (optional, for chapter markers: sudo pacman -S ffmpeg)
  • Fellowship via Steam/Proton

2. Configure

Create a config file at ~/.config/fellowship-recorder/config.toml:

mkdir -p ~/.config/fellowship-recorder
curl -o ~/.config/fellowship-recorder/config.toml \
  https://raw.githubusercontent.com/trenchtoaster/fellowship-recorder/main/config.toml.example

Edit to set your monitor (find with hyprctl monitors or xrandr):

[recording]
monitor = "DP-1"

3. Run

fellowship-recorder

The TUI dashboard will:

  • Monitor your combat logs
  • Auto-start recording on dungeon entry
  • Auto-stop when complete
  • Save with descriptive filename + metadata JSON

CLI Commands

# Start the TUI (default)
fellowship-recorder

# Run without TUI (headless mode)
fellowship-recorder --headless

# Parse combat logs (useful for processing existing logs)
parse-log CombatLog.txt --list

# Generate video description from metadata
generate-description video.mkv --output description.txt

TUI Dashboard

The default interface for monitoring recordings in real-time.

Features:

  • Live recording status with elapsed time
  • Current dungeon name and difficulty
  • Real-time log events (boss fights, deaths, zone changes)
  • Recent recordings list with the ability to open video or metadata files
  • Ability to delete a recording and the associated metadata files directly
  • Config summary

Key bindings:

Key Action
q Quit
r Refresh recordings
c Clear event log
o Open selected video
m Open metadata JSON
f Open folder
d Delete recording and metadata files

Output Files

Each recording creates two files:

Video file (.mkv or .mp4):

  • Embedded chapter markers for boss fights and deaths
  • Metadata tags (dungeon name, difficulty, result)

Metadata file (.json):

See CLI Reference for complete documentation.

How It Works

  1. Watches your Fellowship CombatLogs directory for changes
  2. Parses combat log events (DUNGEON_START, DUNGEON_END, ENCOUNTER_START, ALLY_DEATH, etc.)
  3. Controls gpu-screen-recorder to start/stop recording
  4. Enriches metadata by scanning logs for party info, deaths, and affixes
  5. Embeds chapter markers and metadata tags using FFmpeg

Configuration

Config file locations (searched in order):

  1. ~/.config/fellowship-recorder/config.toml (recommended for installed users)
  2. ./config.toml (project directory, for development)

Edit your config to customize:

Essential settings:

  • log_directory - Fellowship combat logs path
  • monitor - Display to record (find with hyprctl monitors or xrandr)

Recording settings:

  • resolution, quality, fps, format
  • audio_device - Audio source to record (omit or set to null to disable audio)

Filters:

  • min_difficulty - Only record dungeons above this difficulty (0 = all)
  • record_quick_play - Record Quick Play mode (default: false)

Timing:

  • dungeon_overrun - Extra seconds after dungeon ends (default: 5)
  • inactivity_timeout - Stop after N seconds of no activity (default: 300)

Chapters:

  • boss_markers - Add chapters for boss encounters
  • death_markers - Add chapters for player deaths
  • chapter_offset - Offset death markers backward in seconds

See config.toml.example for complete documentation.

Desktop Entry

To add Fellowship Recorder to your app launcher:

cp contrib/fellowship-recorder.desktop ~/.local/share/applications/

Troubleshooting

See TROUBLESHOOTING.md for help with common issues.

Documentation

Credits

Inspired by Warcraft Recorder for Windows.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fellowship_recorder-0.4.0.tar.gz (47.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fellowship_recorder-0.4.0-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file fellowship_recorder-0.4.0.tar.gz.

File metadata

  • Download URL: fellowship_recorder-0.4.0.tar.gz
  • Upload date:
  • Size: 47.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fellowship_recorder-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e16135739597bb8c8c51289ac4076a343cf3aa5a8e3a8ffbe456539f74fcaae5
MD5 f10dbffe0dfc8f6b5bdb490cc0ad12f3
BLAKE2b-256 3d5e16ec6e640d055e55791a8bce936d9fccd9b40b7fee69de222ed4d76ff9a8

See more details on using hashes here.

File details

Details for the file fellowship_recorder-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: fellowship_recorder-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fellowship_recorder-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57ad1a3f12cf5ac88b0579754eed3c00a028e941230fd87de48046e37bf00f35
MD5 2ed1f81f98a2517d163eca26515baba5
BLAKE2b-256 672332ebc44abbe90366baf7f6097d46d116fd4108459ec6764cda0a15a95094

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page