Skip to content

FoggyBytes/StreamTweak

Repository files navigation

streamtweak StreamTweak

Platform Framework Downloads Built with Claude Code

StreamTweak is a host-side companion for Moonlight game streaming. It automates the technical setup that makes streaming reliable — NIC throttling, spatial audio, HDR, game library sync — so you can focus on playing.

✅ Compatibility

Works with Moonlight, Sunshine, Apollo, Vibeshine, and Vibepollo on Windows 10 and 11.

⚠️ Installer warning: Windows SmartScreen may flag the installer because it lacks a commercial code-signing certificate. Choose Keep / Keep anyway. Full source code is available in this repository.

🔗 StreamLight — The Companion Client

StreamLight is the official FoggyBytes Moonlight fork with native StreamTweak integration:

  • NIC control from the client — send the speed-change command before connecting, with a built-in countdown and auto-revert
  • Host metrics in overlay (StreamLight 1.2.0+) — live GPU %, encoder %, GPU temp, VRAM, CPU %, and network TX in the performance overlay
  • Store badges on game covers (StreamLight 2.0.0+) — per-game store badge (Steam, Epic, GOG, Ubisoft Connect, Xbox, Battle.net, EA App) pulled from StreamTweak via the APPSTORES command
  • Session quality report (StreamLight 2.0.0+) — client-side metrics (FPS, drops, RTT, decode latency, bitrate) streamed to StreamTweak for grading and sparkline display

StreamLight is Windows-only and requires StreamTweak on the host. Store badges and host metrics require StreamLight 2.0.0 or later.

🔥 Features

🌐 Network

  • Auto Streaming Mode — monitors Sunshine/Apollo/Vibeshine/Vibepollo logs and throttles the host NIC to 1 Gbps on client connect; restores original speed on disconnect
  • Manual streaming control — one-click throttle/restore without waiting for log events
  • UAC-free — a LocalSystem Windows Service handles all speed changes via Named Pipe; no prompts ever
  • Tailscale detection — if Tailscale is running, the Network tab shows the host's Tailscale IP with a copy button. Useful for remote streaming: instead of the local LAN address, connect StreamLight to the Tailscale IP to reach your PC from outside your home network — no port forwarding needed

🖥️ Display

  • HDR toggle — enable or disable HDR per monitor from StreamTweak, without opening Windows Settings
  • Auto HDR toggle — enable or disable Windows Auto HDR system-wide; change broadcast instantly to all running apps

🎧 Audio

  • Auto spatial audio — activates Dolby Atmos for Headphones or Windows Sonic 30 seconds after session start, on the output device of your choice
  • Output device selector — any audio render device; Steam Streaming Speakers pre-selected when present
  • Live availability indicators — green/red dot per format per device before activation

🗂️ Streaming App Manager

  • Auto kill & relaunch — define apps to terminate at session start and relaunch at session end (e.g. Hue Sync)
  • Per-app AutoManage toggle — exclude individual apps from automation without removing them from the list

🎮 Game Library Sync

  • Multi-store discovery — Steam, Epic Games, GOG, Ubisoft Connect, Xbox/Game Pass, EA App, Battle.net
  • Native cover art — fetched from each store's CDN and cached as PNG; no third-party services; displayed in a 4-column grid with store badge overlays
  • Safe sync — manually created Sunshine entries are never touched; uninstalled games removed on next sync
  • Manual game management — Add any exe not auto-detected; remove individual entries with the Remove button

📋 Session History & Telemetry

  • Full session log — every session recorded with NIC throttle state, duration, and end reason
  • Quality report — click any session row to open a telemetry overlay: CLIENT stats, HOST stats, four sparkline charts (RTT, drops, bitrate, decode latency), and a quality grade (Excellent / Good / Poor)
  • Home dashboard — real-time status tiles for all six managed settings at a glance

✨ What's New in 5.3.1

  • Tailscale detection — if Tailscale is running, the Network tab shows the host's Tailscale IP with a copy-to-clipboard button
5.3.0 — The "Cover Art Update"
  • Game Library redesigned — 4-column cover art grid replaces the text DataGrid; each card shows the cover image, store badge overlay, sync toggle, and Remove button
  • Store badge overlays — per-game store icon + name (Steam, Epic, GOG, Ubisoft, Xbox, Battle.net, EA) rendered as SVG geometry, same assets as StreamLight
  • 2:3 aspect ratio normalization — all covers normalized to Steam's portrait ratio; wider covers (other stores) center-cropped left/right for a uniform grid
  • Fluent Emoji 3D icons — all Segoe MDL2 Assets glyphs replaced with Microsoft Fluent Emoji 3D PNGs throughout the UI
  • App Manager exe icons — each entry in the Streaming App Manager now shows the app's own .exe icon
  • Session chart duration fixed — sparklines and session headers showed "10m 00s" for any session longer than 10 minutes due to the downsampled point count being interpreted as seconds; now uses the real EndTime − StartTime
  • Removed games no longer re-added on startup — games removed via the Remove button are now blacklisted in a persisted exclusion list; auto-sync at startup skips them; a manual Sync Now clears the list and restores full discovery

For full version history see changelog.txt.

🏗️ Architecture

StreamTweak consists of two processes: StreamTweak.exe (WPF tray app, unprivileged) and StreamTweakService.exe (Windows Service, LocalSystem), communicating via a Named Pipe. All NIC speed changes go through the service — no UAC ever appears in the tray app.

StreamLight communicates with StreamTweak over a plain TCP bridge on port 47998 (LAN). Commands: PREPARE, RESTORE, STATUS, STATS, APPSTORES. The same bridge is used by StreamLight to send NIC commands from the client side and to receive host metrics and store data.

📝 Installation

  1. Go to the Releases page of this repository.
  2. Download the latest StreamTweak_5.3.1_Installer.exe and run it.

🙏 Support the Project

Donate with PayPal

🤝 Acknowledgements

  • Moonlight — the open-source streaming client that inspired this project
  • Sunshine — the streaming host that started it all
  • Apollo — community-driven Sunshine fork
  • Vibeshine and Vibepollo — fully supported since v2.5.2

License

License: GPL v3

Packages

 
 
 

Contributors