v2.0.3-24

Multi-Host Setup

Connect multiple hosts to a single room for backup redundancy, synchronized multi-presentation control, or automatic failover.
This feature is included while in early access.

Cliqer supports multiple simultaneous hosts in a single room. Each host receives presenter commands via independent WebRTC connections, with graceful failover when hosts disconnect.

Key Features

  • Independent Connections: Each presenter establishes separate peer-to-peer connections to all hosts
  • Primary & Secondary Hosts: One host is elected Primary (it forwards clicks to the room and takes streaming priority); the rest are Secondary backups with automatic failover
  • Graceful Failover: When one host disconnects, presenters maintain connections to remaining hosts and a Secondary is promoted to Primary
  • Click Synchronization: All hosts receive presenter clicks and advance their own presentation; visual indicators shared across all participants
  • Same Serial Support: Multiple machines can use the same license serial for backup scenarios — each install registers as its own host, capped by the license's seat limit
  • Screen Share Per Host: Each host can stream independently; presenters see all available streams
  • Live Dashboard: The Host Orchestrator shows your hosts, their audiences, and who is clicking — in real time

Primary & Secondary Hosts

When two or more hosts share a room, Cliqer elects a Primary:

  • The host app's status line shows N hosts connected (Primary) or (Secondary)
  • The Primary forwards presenter clicks to the rest of the room and takes priority for screen streaming
  • A host that starts screen sharing is automatically promoted to Primary
  • If the Primary disconnects, a Secondary is elected within the same session — presenters notice nothing

Every host — Primary or Secondary — advances its own local presentation on every click, so a backup machine's deck is always on the correct slide when failover happens.

One machine, one driver. Two host instances on the same computer both drive the same focused window (and share one Google Slides extension bridge), so clicks would double-advance that one deck. Run backup hosts on separate machines — that is what the redundancy model is built for.

How Multi-Host Works

When multiple hosts join the same room:

  1. First host creates room - Generates room code, registered on server
  2. Additional hosts join - Enter existing room code to join
  3. Server notifies all - Broadcasts host presence to presenters
  4. WebRTC mesh forms - Each presenter connects to every host independently
  5. Clicks reach all - Commands sent to all connected hosts simultaneously

Connection Architecture

Host Join Flow

 Backup host joins existing room
              |
              v
 Server registers new host
              |
              v
 Server notifies all presenters
 of new host availability
              |
              v
 Server sends existing presenter
 list to backup host
              |
              v
 Backup host connects to
 each presenter
              |
              v
 Presenters now connected
 to both hosts

Disconnect Handling

 Host disconnects
         |
         v
 Server removes host
         |
         v
    +---------+
    | other   |-----> YES: Notify presenters
    | hosts?  |       Close only that host
    +---------+
         |
         | NO
         v
    Notify all hosts gone
    Presenter shows waiting

Click Distribution

Presenter clicks are sent via WebRTC data channels to ALL connected hosts simultaneously.

 Presenter clicks "Next"
           |
           v
 Click sent to all hosts
           |
     +-----+-----+
     |     |     |
     v     v     v
  Host   Host   Host
    A      B      C
     |     |     |
     v     v     v
  Slide  Slide  Slide
  Next   Next   Next

Use Case 1: Backup/Redundancy

Run identical presentations on separate machines for mission-critical events.

Setup

  1. Main host: Create room (e.g., code 847291)
  2. Backup host: Enter same room code
  3. Both run the same presentation file
  4. Each host receives clicks and executes slides independently

Failover Behavior

EventResult
Main host disconnectsPresenter keeps backup connection, closes main only
Backup starts screen sharePresenters see backup's stream
All hosts disconnectPresenters enter waiting state
Host reconnectsPresenters establish new connection

Best Practices

  • Network separation: Main on venue WiFi, backup on cellular hotspot
  • Same presentation: Ensure both hosts have identical slide decks
  • Pre-event testing: Disconnect main host, verify backup receives clicks
  • License sharing: Same serial can activate on multiple hosts for backup

Use Case 2: Multi-Display Control

Control multiple presentations across different screens from a single presenter interface.

Setup

HostRolePurpose
APrimaryMain projection, screen share to presenters
BSecondaryConfidence monitor for speaker
CTertiaryVideo playback machine
DQuaternaryLED wall control system

All hosts receive every click command simultaneously. Each executes on its own presentation.

Use Case 3: Synchronized Multi-Room

Single presenter controls identical presentations across multiple physical locations.

              +---------------+
              |    Server     |
              |  (signaling)  |
              +-------+-------+
                      |
        +-------------+-------------+
        |             |             |
        v             v             v
   +----------+  +----------+  +----------+
   |  Host A  |  |  Host B  |  |  Host C  |
   | Room 847 |  | Room 847 |  | Room 847 |
   |Main Hall |  | Conf Rm  |  |  Remote  |
   +----+-----+  +----+-----+  +----+-----+
        |             |             |
        +-------------+-------------+
                      |
               WebRTC connections
                      |
                +-----+-----+
                | Presenter |
                |  (phone)  |
                +-----------+

All hosts join the same room code. Presenter's phone connects to all three via separate WebRTC data channels.

Setting Up Multiple Hosts

Step 1: First Host Creates Room

  1. Launch Cliqer host app
  2. Log in with license serial
  3. Create room → note the 6-digit code (e.g., 847291)

Step 2: Additional Hosts Join

  1. Launch Cliqer on backup machine
  2. Log in with same or different license serial
  3. Enter existing room code
License Flexibility: Same serial can be used on multiple machines for backup scenarios — within the license's seat limit. Each machine consumes one seat while hosting; a machine beyond the limit is rejected until a seat frees up (or the license is upgraded). Extra instances on the same machine never consume additional seats, so local testing stays free.

Step 3: Verify Connections

Host App: Check that presenters appear in the connected list on ALL hosts.

Presenter App: Verify connection count matches number of hosts in browser developer tools.

Technical Overview

Command Routing

Presenters send clicks to ALL connected hosts via WebRTC data channels. Each host processes the click independently, triggering slide advance on its local presentation.

Click Visual Sharing

Click indicators can be shared across all participants:

     Presenter clicks
           |
           v
    Server receives
           |
     +-----+-----+
     |           |
     v           v
  To hosts   To clients
     |           |
     v           v
  +-----+     +-----+
  |     |     |     |
  v     v     v     v
 H1    H2    C1    C2
  Button indicators
     light up

Screen Share Handling

Each host can share screen independently:

 Host starts screen share
           |
           v
 Server notified
           |
           v
 Stream distributed
           |
     +-----+-----+
     |     |     |
     v     v     v
   P1     P2    P3
 All presenters
 receive stream

Presenters with multiple host streams see a grid view and can select individual streams.

Auto-Resume on Reconnect

Screen sharing automatically resumes when:

  • Client reconnects to an existing session
  • Host restarts with auto-resume enabled

New subscribers receive the cached keyframe immediately instead of waiting for the next periodic keyframe, enabling instant video display.

Video Quality Per Host

Each host can configure independent video encoding settings:

  • Codec: VP8, VP9, H.264/AVC, or AV1
  • Resolution: 720p to 4K
  • Bitrate: Auto or custom (0.5–20 Mbps)

See Screen Sharing & Video Encoding for configuration details.

Host Orchestrator Dashboard

The dashboard's Orchestrator page (/dash/orchestrator) is a live graph of your hosts:

  • Nodes are your connected hosts, with their room and connected presenters — updating the instant a host comes online, a presenter joins or leaves, or someone renames
  • Click activity: the presenter who clicks lights up on their host's node with the click direction; clicks from the host's own devices (DSAN, Stream Deck, keyboard) flash the node header
  • Dashed edges appear automatically between hosts sharing a room — they are natively synchronized, nothing to configure
  • Green edges are manual cross-room links: drag from one host's output handle to another host to mirror clicks between different rooms (e.g. main hall + overflow room running separate decks). Unlink from the host's side panel.

Same-room hosts never need a manual link; links are for synchronizing hosts in different rooms.

Monitoring & Debugging

Host App Indicators

  • Multi-host status line: N hosts connected (Primary/Secondary)
  • Connected presenters list (all hosts see same presenters)
  • Room code display
  • License type in header

Presenter App

Open browser developer tools to verify:

  • Number of active connections matches host count
  • Connection status for each host

Troubleshooting

Second Host Not Receiving Clicks

  1. Verify presenter has connection to second host
  2. If only 1 connection shows:
    • Try refreshing presenter's page after second host joins
    • Ensure second host successfully joined the room

Second Host Replaces the First Instead of Co-Hosting

Fixed: hosts are now identified per install, so a second machine on the same serial registers as an additional co-host. If you still see it, update both machines to the latest version — older versions treated every same-serial host as one reconnecting machine.

Presenter Disconnects When One Host Leaves

This issue has been fixed. When one host disconnects, presenters should maintain connections to remaining hosts.

If still occurring:

  • Ensure you're using the latest version
  • Check that presenter app properly handles partial disconnects

Clicks Not Showing on All Hosts

  • Verify all hosts are connected to the same room
  • Check that click visual sharing is enabled
  • Each host's button indicator should light up on clicks

Screen Share Not Visible

  • Verify presenter has connection to streaming host
  • Multiple hosts streaming: presenter sees grid view to select

Previous: Security & Networking

Return to Advanced Topics or explore Use Cases.