Skip to content

Nic-del/Broadcast-Archipelago

Repository files navigation

πŸš€ BroadCast Archipelago - Universal Premium Overlay

Python Node.js React Electron

BroadCast Archipelago is a premium notification suite designed for Archipelago Multiworld sessions. It provides real-time tracking of sent and received items with a modern, fluid aesthetic that is entirely customizable.


✨ Latest Features (v1.1.1)

πŸ–ΌοΈ Custom Avatars & Friends Library

  • Player Avatars: Personalize your notifications by uploading custom images for each player.
  • Friends Library: Save and reuse your favorite avatars across different slots or sessions.
  • Independent Customization: Toggle custom avatars separately for your Desktop Overlay and OBS Mode.

πŸ” Advanced Hint System

  • Smart Autocomplete: Search for items and groups with a real-time filtered list (appears below the search bar).
  • Hint Point Tracking: Live tracking of available points and hint costs directly in the UI.
  • Persistent Hint List: Organized history of all hints with visual "found/missing" status.

πŸ“ Item Location Tracking

  • Show Locations: Know exactly where an item was found with the new "Display Locations" toggle.
  • History Integration: Locations are preserved in the event history for full session tracking.

πŸ› οΈ Core Features

βš™οΈ Integrated Control Panel (Redesigned)

  • Multi-Tab Interface: dedicated tabs for Display, Settings, Hints, Room, and Custom.
  • Live Adjustments: Toggle sync modes (Global, Personal, Filtered) without restarting.
  • Timing Controls: Precisely adjust notification duration via sliders (separate for Overlay and OBS).

πŸ‘₯ Smart Filtering & Multi-Slot

  • Filtered Mode: Follow specific players or groups to reduce noise in massive Multiworlds.
  • Dynamic Multi-Slot: Connect to multiple slots simultaneously using the slot1:Pass, slot2:Pass syntax.
  • Instant Switching: Switch between active tracked players directly from the overlay.

πŸ“Ί Professional OBS Integration

  • OBS Auto-Hide: Optional fade-out for browser sources to keep your stream layout clean.
  • Independent Syncing: Set OBS to "Filtered" while keeping your Desktop Overlay on "Global".
  • Optimized Rendering: Framer Motion powered 60 FPS fluid animations.

πŸ—οΈ Technical Infrastructure

πŸ–₯️ Interactive Screen Preview

  • Visual Drag & Drop: Move the overlay window directly by dragging the preview in the Control Center.
  • Smart Handle (Auto-Flip): The control button automatically flips to the opposite side if it gets too close to the screen edge.

πŸ›‘οΈ Stability & Performance

  • Smart Slot Cache: The bridge remembers game links for slot names to eliminate "InvalidGame" errors.
  • Network Optimization: Enhanced WebSocket handling with compression and local traffic priority.
  • Diagnostic Tools: Real-time system logs and diagnostic indicators for quick troubleshooting.

🐧 Linux & Steam Deck (Bazzite) Support

This edition is fully optimized for Linux distributions, including immutable systems like Bazzite or SteamOS:

  • πŸ—οΈ Hybrid Mode: Native Python OBS server support if Node.js is unavailable.
  • πŸ›‘οΈ Sandbox Bypass: Pre-configured with --no-sandbox to avoid SUID errors on Linux.
  • πŸ“¦ AppImage Support: Automatic detection of AppImage builds for a dependency-free installation.

πŸ› οΈ System Architecture

  1. Control Center (BroadCast-Archipelago.py): The visual configuration interface to position the overlay and manage connections.
  2. The Bridge (broadcast/bridge.py): The core engine maintaining the connection to the Archipelago server and handling data filtering.
  3. Broadcast App (broadcast-app): The visual layer (Vite + React + Framer Motion) delivering smooth 60 FPS animations.

βš™οΈ Installation

Windows

  1. Run INSTALLATION.bat to install dependencies.
  2. Launch BroadCast-Archipelago.pyw to configure and start.

Linux / Steam Deck

  1. Grant permissions: chmod +x INSTALLATION.sh
  2. Run ./INSTALLATION.sh and launch via python3 BroadCast-Archipelago.py.

πŸš€ Quick Start

Tip

Headless Mode: Once configured, launch instantly without the UI by running python3 start_cli.py (Linux) or start_cli.bat (Windows).

Sync Modes:

  • Global: Displays every event in the Multiworld.
  • Filtered: Displays only items involving players in your "Tracked List".
  • Personal: Displays only items you send or receive.

πŸ“Ί OBS Integration

  • Browser Source URL: http://localhost:5173/?view=obs
  • Recommended Size: 400x600 (or match your Overlay dimensions)

Screenshot 1 Screenshot 2

About

A real-time notification system and transparent overlay for Archipelago sessions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors