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
- Streamer öffnet Registrierungsphase mit
!Neu - Zuschauer registrieren sich mit
!teilnehmen - Streamer startet das Spiel mit
!start - Darts werden automatisch vom Worker erkannt und verarbeitet
- Sieger wird automatisch ermittelt und im Chat bekannt gegeben
Chat-Commands
| Command | Wer | Beschreibung |
|---|---|---|
!Neu | Admin / Streamer | Neues Spiel vorbereiten, Registrierung öffnen |
!start | Admin / Streamer | Registrierung schließen, Spiel starten |
!teilnehmen | Zuschauer | Für aktuelle Runde anmelden |
!darten | Aktueller Spieler | Würfe manuell melden (ohne Sensor) |
!Anleitung | Alle | Spielregeln 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"