How it works¶
Services¶
- minecraft-spectator-bot: Mineflayer bot that joins server in spectator mode and follows players
- streaming-service: Captures bot's view via Puppeteer and streams to YouTube/Twitch using FFmpeg
- mumble-server: Mumble VoIP server for player voice communication
From the server to the stream¶
- Bot authenticates with Microsoft account (tokens cached in Docker volume)
- Bot joins your Minecraft server in spectator mode
- Bot detects active players from tab-list
- Camera positions behind player, looking at their face
- Spectator view rendered via prismarine-viewer web interface
- Puppeteer captures the viewer in headless Chrome
- FFmpeg encodes (with hardware acceleration if available) and streams
- Player name overlay added to stream
- When nobody is online, the bot marks the stream paused and the streaming service stops FFmpeg; it starts again when a player joins
What this looks like on the stream is in Usage.