Einleitung

StreamPlay ist eine Multi-Streamer Gaming-Plattform die Twitch-Zuschauer direkt in Live-Spiele einbindet. Streamer verbinden ihren Dart-Board-Setup per Connector-Worker und steuern das Spiel über Chat-Commands.

Voraussetzungen

  • Twitch-Konto mit Streamer-Rolle auf der Plattform
  • Autodarts-kompatibler Dartboard-Sensor
  • Netzwerkverbindung zum StreamPlay Server

Installation Worker

Der StreamPlay Pi Worker ist ein .NET-Dienst der als systemd-Service auf dem Raspberry Pi läuft.

1. Worker herunterladen

Lade die aktuelle Version von der Download-Seite herunter.

2. Konfiguration

Erstelle /etc/streamplay/worker.json mit folgendem Inhalt:

{
  "StreamPlayUrl": "https://deine-domain.example.com",
  "StreamerKey": "sp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Den StreamerKey findest du in deinem Dashboard → Connector.

3. Dienst starten

sudo systemctl enable streamplay-worker
sudo systemctl start streamplay-worker
sudo systemctl status streamplay-worker

Streamer-Setup

Nach der Registrierung auf der Plattform musst du dir die Rolle Streamer vom Admin zuweisen lassen. Anschließend erscheint das Dashboard und du kannst dein Profil unter Dashboard → Profil einrichten.

Zugangscodes

Zuschauer treten deinem Stream-Bereich über einen Zugangscode bei. Erstelle Codes unter Dashboard → Zugangscodes. Teile den Code im Chat, z.B.: Gebt !join MAX-DART-2026 ein um mitzuspielen!

Spielablauf

  1. Streamer öffnet Registrierungsphase mit !Neu
  2. Zuschauer registrieren sich mit !teilnehmen
  3. Streamer startet das Spiel mit !start
  4. Darts werden automatisch vom Worker erkannt und verarbeitet
  5. Sieger wird automatisch ermittelt und im Chat bekannt gegeben

Chat-Commands

Command Wer Beschreibung
!NeuAdmin / StreamerNeues Spiel vorbereiten, Registrierung öffnen
!startAdmin / StreamerRegistrierung schließen, Spiel starten
!teilnehmenZuschauerFür aktuelle Runde anmelden
!dartenAktueller SpielerWürfe manuell melden (ohne Sensor)
!AnleitungAlleSpielregeln im Chat ausgeben

API-Referenz

Worker → Platform

Der Worker sendet Events per HTTP POST:

POST /api/autodarts/event
Authorization: Bearer <StreamerKey>
Content-Type: application/json

{
  "eventType": "autodarts.throw",
  "payload": { ... }
}

Worker-Steuerung

GET /api/worker/command
→ "run" | "stop"
An unhandled error has occurred. Reload 🗙