TVSync - Synchronized TV Playback
A Lethal Company mod that provides perfectly synchronized YouTube video playback on the ship television for all players in multiplayer.
Fork of YTTV / Television Controller with a complete rewrite of the networking layer.
Features
- Host-authoritative playback - the host controls everything; clients mirror the host state
- Drift correction - periodic sync broadcasts keep all clients within 150ms of the host
- Ready-check system - playback doesn't start until all players have downloaded and prepared the video
- Late join support - players joining mid-video automatically sync to the current position
- Pause/Resume/Seek/Stop/Restart - all synchronized across all players
- Client-side volume - each player controls their own volume independently
- Position memory - optionally remembers position when toggling TV off/on
- Multi-language - English and Russian support
Commands
| Command |
Description |
/tplay [URL] |
Play a YouTube video (host only) |
/ttime [TIME] |
Seek to timestamp, e.g. 1:30 or 1:02:30 (host only) |
/treset |
Restart from beginning (host only) |
/tpause |
Pause playback (host only) |
/tresume |
Resume playback (host only) |
/tstop |
Stop playback entirely (host only) |
/tvolume [0-100] |
Set your local volume |
/tposition [true/false] |
Toggle position memory |
/thelp |
Show help |
How Sync Works
- Host receives
/tplay command
- Host broadcasts the URL to all clients
- Each client downloads and prepares the video independently
- Each client reports "ready" back to the host
- Host waits until all clients are ready (or timeout expires)
- Host picks a future network timestamp and broadcasts "start at time X"
- All clients begin playback at exactly the same network moment
- Every 3 seconds, host broadcasts its current playback position
- Clients compare and apply drift correction (speed adjust or hard seek)
Installation
Drop the TVSync.dll into BepInEx/plugins/.
The mod will automatically create a TVSync/ folder in your game directory with language files and yt-dlp.
Configuration
Config file: BepInEx/config/TVSync.cfg
Language - en or ru
DriftThresholdMs - max drift before correction (default: 150ms)
SyncIntervalSec - how often host broadcasts sync (default: 3s)
ReadyTimeoutSec - max wait for all players (default: 30s)
MaxSeekThresholdMs - drift above this does hard seek (default: 500ms)
Credits
- Original: KoderTech (Television Controller)
- Fork: TheByteNinja (Television Controller Fix)
- Fork: MAR-Mods (YTTV)
- Sync rewrite: whelve13 (TVSync)
AI was used in the process of rewriting.