Skip to main content

Welcome to Spectra Server

Spectra Server is the central data processing hub for creating professional Valorant tournament overlays. It ingests real-time game data from observer clients and streams processed game state to broadcast frontends, enabling organizers to display live information like held weapons, available credits, player stats, and more.

Quickstart

Get Spectra Server running in minutes with Docker Compose

API Reference

Explore REST endpoints and WebSocket connections

Configuration

Configure SSL, authentication, and backend integration

Deployment

Deploy to production with SSL certificates and authentication

The Spectra Ecosystem

Spectra is a complete three-part system designed for Valorant tournament broadcasts:
1

Spectra Client

Runs on an in-game observer’s machine with Overwolf integration. Captures real-time game data and sends it to the server via WebSocket on port 5100.View on GitHub →
2

Spectra Server (You are here)

Ingests data from observer clients, processes and validates game state, and manages multiple concurrent matches. Streams processed data to frontends via WebSocket on port 5200.Provides REST API on port 5101 for match previews, status checks, and team information.
3

Spectra Frontend

Receives processed game state from the server every 100ms and renders beautiful, broadcast-ready overlays for viewers.View on GitHub →

Key Features

Dual WebSocket Architecture

Incoming (Port 5100)

Receives real-time game data from observer clients with authentication, version compatibility checking, and automatic reconnection support.

Outgoing (Port 5200)

Streams processed game state to frontends at 100ms intervals with efficient compression and room-based routing.

Match Management

  • Multi-match support: Track multiple concurrent tournament matches with unique group codes
  • Automatic cleanup: Matches are automatically cleaned up after completion
  • State persistence: Group codes maintain team information for reconnection
  • Replay capability: Built-in replay system for testing and review

Security & Authentication

  • Key-based authentication: Validate clients with API keys (configurable via REQUIRE_AUTH_KEY)
  • Organization management: Backend integration for multi-org support with USE_BACKEND=true
  • SSL/TLS support: Optional HTTPS and WSS for secure production deployments
  • Version compatibility: Automatic client version checking to prevent incompatible connections

Tournament Tools

  • Preview mode: Test overlay configurations with 6-digit preview codes
  • Team information: Store and retrieve team data (name, tricode, logo URLs, side selection)
  • Match tracking: Backend integration for supporter verification and match analytics
  • Status monitoring: Real-time server health and active match counts

Architecture Overview

┌─────────────────┐                ┌─────────────────┐
│  Spectra Client │                │  Spectra Client │
│   (Observer 1)  │                │   (Observer 2)  │
└────────┬────────┘                └────────┬────────┘
         │                                  │
         │ WebSocket :5100                  │
         │ (Game Data)                      │
         │                                  │
         └──────────────┬───────────────────┘

              ┌─────────────────┐
              │ Spectra Server  │
              │                 │
              │  - Port 5100 ← │  Incoming WS
              │  - Port 5101 ← │  REST API
              │  - Port 5200 → │  Outgoing WS
              └────────┬────────┘

         ┌─────────────┴─────────────┐
         │                           │
         ↓                           ↓
┌─────────────────┐         ┌─────────────────┐
│ Spectra Frontend│         │ Spectra Frontend│
│   (Match 1)     │         │   (Match 2)     │
└─────────────────┘         └─────────────────┘
Spectra Server uses Socket.IO for WebSocket connections with automatic compression (perMessageDeflate) for optimal performance.

REST API Endpoints

The server exposes several HTTP endpoints on port 5101:
EndpointMethodPurpose
/statusGETServer health and active match count
/createPreviewPUTCreate a preview match for testing
/preview/:codeGETRetrieve preview match data by 6-digit code
/getOrgForKeyGETValidate API key and get organization info
/getTeamInfoForCodeGETRetrieve team information for a group code
All REST endpoints include CORS headers (Access-Control-Allow-Origin: *) for easy frontend integration.

What’s Next?

Get Started

Follow the quickstart guide to run Spectra Server with Docker Compose

Configuration Guide

Learn about environment variables and advanced configuration
Spectra Client isn’t endorsed by Riot Games and doesn’t reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

Build docs developers (and LLMs) love