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
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
- Watches your Fellowship
CombatLogsdirectory for changes - Parses combat log events (
DUNGEON_START,DUNGEON_END,ENCOUNTER_START,ALLY_DEATH, etc.) - Controls gpu-screen-recorder to start/stop recording
- Enriches metadata by scanning logs for party info, deaths, and affixes
- Embeds chapter markers and metadata tags using FFmpeg
Configuration
Config file locations (searched in order):
~/.config/fellowship-recorder/config.toml(recommended for installed users)./config.toml(project directory, for development)
Edit your config to customize:
Essential settings:
log_directory- Fellowship combat logs pathmonitor- Display to record (find withhyprctl monitorsorxrandr)
Recording settings:
resolution,quality,fps,formataudio_device- Audio source to record (omit or set tonullto 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 encountersdeath_markers- Add chapters for player deathschapter_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
- CLI Reference - Detailed CLI tools documentation
- Game Data Reference - Difficulty tiers, heroes, dungeons, and affixes
- Troubleshooting - Common issues and solutions
- Configuration - All configuration options
Credits
Inspired by Warcraft Recorder for Windows.
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fellowship_recorder-0.4.1.tar.gz.
File metadata
- Download URL: fellowship_recorder-0.4.1.tar.gz
- Upload date:
- Size: 47.2 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83a2b9ddaf5ba28b55f567155b1d60eef8223bdea116a3646c050668daf85038
|
|
| MD5 |
cbfe156553965be004f115237a42e3ae
|
|
| BLAKE2b-256 |
107fa74964baba4dbb5e33e1cd36aa1ebf57c8dec58501d05a7b511e72ba5ebe
|
File details
Details for the file fellowship_recorder-0.4.1-py3-none-any.whl.
File metadata
- Download URL: fellowship_recorder-0.4.1-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68e62104bb21ad0bce53138b3cc53d2c8502d348eff30ad69fbb8c9dcf741d18
|
|
| MD5 |
ce79a236e292b48b2d88c199f19f0ad3
|
|
| BLAKE2b-256 |
b03070bb417738bef3bffa106ed0cb8e5b7d8e20b15308433534ee92d7e29bad
|