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
Metadata
Release files for fellowship-recorder 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fellowship_recorder-0.6.0.tar.gz | 48.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fellowship_recorder-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 90.0 kB
Release files / fellowship_recorder-0.6.0.tar.gz
| Download URL | fellowship_recorder-0.6.0.tar.gz |
|---|---|
| Size | 48.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f4ab10e8ce8b7b00cacd728cd017a530024ee718a248eb063a55273aedab379
|
|
BLAKE2b-256 checksum How to use checksums |
770c11dabf169092925e9c7f92994cae3c0d4dcc7ae095414a57a55745106710
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / fellowship_recorder-0.6.0-py3-none-any.whl
| Download URL | fellowship_recorder-0.6.0-py3-none-any.whl |
|---|---|
| Size | 41.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1896dc26c860d91168c3458a84454524909681e39cf189467bf6faac646eb754
|
|
BLAKE2b-256 checksum How to use checksums |
eee19da8a39635d3bf944492ea46febe1e5c7278bfd8288594adb861a1f3e62d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|