Diese Dokumentation enthält alle Schritte zur Installation sowie Erklärungen zur Tischansteuerung, UI-Logik, Training-Features und OBS-Integration.
sudo apt update sudo apt install nginx php8.3-fpm php8.3-sqlite3 -y
sudo mkdir -p /var/www/billard/assets/css sudo mkdir -p /var/www/billard/assets/js sudo mkdir -p /var/www/billard/logos
sudo chown -R www-data:www-data /var/www/billard sudo chmod -R 775 /var/www/billard
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 775 /var/www/html
Konfigurationspfad: /etc/nginx/sites-available/default
server {
listen 80;
root /var/www/billard;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}
}
sudo nginx -t sudo systemctl restart nginx
| Ansicht | URL | Beschreibung |
|---|---|---|
| Scoreboard | http://[IP]/ | Haupt-Anwendung für Spieler |
| Monitor | http://[IP]/monitor.php | Live-Anzeige aller Tische |
| Monitor Dark | http://[IP]/monitor.php?mode=dark | Dark Mode für Monitor |
| OBS Small | http://[IP]/obs_small.php?Tisch=1 | OBS Overlay klein - Style 1 |
| OBS Small 2 | http://[IP]/obs_small_2.php?Tisch=1 | OBS Overlay klein - Style 2 (schwarze Scores, roter Streifen) |
| OBS Small 3 | http://[IP]/obs_small_3.php?Tisch=1 | OBS Overlay klein - Style 3 (blaue Scores) |
| OBS Small 4 | http://[IP]/obs_small_4.php?Tisch=1 | OBS Overlay klein - Style 4 (Bordeaux/Maroon) |
| OBS Big | http://[IP]/obs_big.php?Tisch=1 | OBS Overlay groß - Style 1 |
| OBS Big 2 | http://[IP]/obs_big_2.php?Tisch=1 | OBS Overlay groß - Style 2 (geteilte Streifen, Logos) |
| OBS Big 3 | http://[IP]/obs_big_3.php?Tisch=1 | OBS Overlay groß - Style 3 (Logos, blaue Scores) |
| OBS Big 4 | http://[IP]/obs_big_4.php?Tisch=1 | OBS Overlay groß - Style 4 (Bordeaux/Maroon, Logos) |
| Hilfe | http://[IP]/help.html | Diese Dokumentation |
| Parameter | Verhalten |
|---|---|
| index.php | Freie Auswahl: Tisch 1-8 wählbar im Setup |
| index.php?Tisch=0 | Admin-Modus: Tisch-Auswahl ausgeblendet |
| index.php?Tisch=1 | Fixer Modus: Tisch fest vorgegeben (1-8) |
http://[SERVER-IP]/obs_big.php?Tisch=1| Version | Breite | Höhe | Verwendung |
|---|---|---|---|
| obs_small.php | 700 px | 100 px | Kompakte Anzeige, Ecke des Streams |
| obs_small_2.php | 700 px | 120 px | Getrennte Felder, schwarze Scores, roter Streifen |
| obs_small_3.php | 700 px | 120 px | Getrennte Felder, blaue Scores |
| obs_small_4.php | 500 px | 120 px | Bordeaux/Maroon Design, kompakt |
| obs_big.php | 1400 px | 150 px | Vollbreite, unterer Bildschirmrand |
| obs_big_2.php | 1400 px | 180 px | Geteilte Streifen (Name/Verein), Logos, rote Akzente |
| obs_big_3.php | 1400 px | 150 px | Logos, blaue Scoreboxen |
| obs_big_4.php | 1200 px | 150 px | Bordeaux/Maroon Design, Logos, gelbe Akzente |
Logos werden automatisch angezeigt, wenn eine PNG-Datei mit dem exakten Vereinsnamen existiert:
# Logo-Ordner erstellen sudo mkdir -p /var/www/billard/logos # Logos hochladen (Beispiele) /var/www/billard/logos/BC Berlin.png /var/www/billard/logos/BC Bremen.png /var/www/billard/logos/Imperium.png
Bei 8-Ball, 9-Ball und 10-Ball kann im Setup der Break-Modus gewählt werden:
| Modus | Verhalten |
|---|---|
| Wechselbreak | Der Anstoß wechselt nach jeder Aufnahme (+ oder -) zum anderen Spieler |
| Winnerbreak | Der Gewinner eines Racks behält den Anstoß (wechselt nur bei +) |
Alle Disziplinen (14/1, 8-Ball, 9-Ball, 10-Ball) haben einen Hilfe-Button (blaues Fragezeichen) in der Steuerungsleiste.
| Disziplin | Seiten | Besonderheiten |
|---|---|---|
| 14/1 Endlos | 5 Regelseiten + 7 Beispiele | Wiederaufbau-Beispiele mit Vorher/Nachher-SVGs |
| 8-Ball | 4 Regelseiten | Aufbaubild (SVG) direkt auf der "Aufbau & Anstoß"-Seite |
| 9-Ball | 4 Regelseiten | Aufbaubild (SVG) direkt auf der "Aufbau & Anstoß"-Seite |
| 10-Ball | 4 Regelseiten | Aufbaubild (SVG) direkt auf der "Aufbau & Anstoß"-Seite |
/regeln/. Das Popup ist scrollbar und hat Vor/Zurück-Buttons zur Navigation.
Der GD (Gesamtdurchschnitt = Punkte / Aufnahmen) wird bei 14/1-Spielen an mehreren Stellen angezeigt:
| Ort | Anzeige | Beschreibung |
|---|---|---|
| Laufendes Spiel | GD: X.XX | Live-GD in der Stats-Zeile unter dem Score (Aufn | Serie | HS | GD) |
| Spielerbilanz | Bester GD: X.XX | Höchster jemals erreichter GD auf der Spielerkarte |
| Champions | Bester GD | Neue Champion-Karte für den Spieler mit dem höchsten GD |
| Historie | Aufnahmen: X / HS: X / GD: X.XX | GD pro Spieler in jedem 14/1-Eintrag der Spielhistorie |
Jeder Spieler hat nun ein Verlaufsdiagramm für seine 14/1 Spiele. Das Diagramm zeigt die Entwicklung von Höchstserie und GD über die letzten 20 Partien.
| Element | Farbe | Y-Achse | Beschreibung |
|---|---|---|---|
| Höchstserie | Grün | Links (0-100) | Beste Serie pro Spiel |
| GD | Blau | Rechts (0-20) | Gesamtdurchschnitt pro Spiel |
| X-Achse | - | - | Letzte 20 Spiele (-20 bis 0) |
Unter dem Diagramm werden folgende Werte angezeigt:
Das Scoreboard unterstützt nun vollständige Mehrsprachigkeit. Die Sprache kann jederzeit in der Sidebar umgeschaltet werden.
| Sprache | Code | Datei |
|---|---|---|
| Deutsch | de | /assets/lang/de.json |
| Englisch | en | /assets/lang/en.json |
Während eines 14/1-Spiels kann jederzeit eine Übersicht aller bisherigen Aufnahmen angezeigt werden.
| Spalte | Beschreibung |
|---|---|
| Aufn. | Nummer der Aufnahme |
| Punkte (links) | Punkte von Spieler 1 in dieser Aufnahme |
| Stand | Aktueller Zwischenstand nach der Aufnahme |
| Punkte (rechts) | Punkte von Spieler 2 in dieser Aufnahme |
61 Punkte-Spiel mit der 3-Foul-Regel. Verliert ein Spieler 3 Fouls in Folge, verliert er das Spiel.
Kugeln in die eigene Tasche versenken. Standardziel: 8 Kugeln.
Nur Bankshots erlaubt. Ziel: 5 Kugeln.
Nur Bankshots mit allen 15 Kugeln. Ziel: 8 Kugeln.
8-Ball, 9-Ball und 10-Ball können als Doppel (2 vs 2) gespielt werden. Die Teamnamen werden automatisch kombiniert.
| Level | Fehler | GD | Ziel | Maximum |
|---|---|---|---|---|
| Level 1 | 2 | 4 | 120 | 150 |
| Level 2 | 1 | 6 | 120 | 150 |
| Level 3 | 0 | 12 | 120 | 150 |
| Level 4 | 0 | 17 | 170 | 200 |
| Level | Fehler | Startbälle | Ziel | Maximum |
|---|---|---|---|---|
| Level 1 | 2 | 4 | 40 | 90 |
| Level 2 | 1 | 6 | 60 | 90 |
| Level 3 | 0 | 9 | 90 | 90 |
Bowling-Wertung auf dem Pooltisch. Einzelspieler-Training mit klassischer Bowling-Punkteberechnung.
| Eigenschaft | Wert |
|---|---|
| Frames | 10 |
| Kugeln pro Frame | 10 |
| Max. Versuche pro Frame | 2 (Frame 10: bis zu 3) |
| Maximalpunktzahl | 300 (12 Strikes) |
| Ergebnis | Symbol | Punkte |
|---|---|---|
| Strike | X (rot) | 10 + nächste 2 Würfe |
| Spare | / (blau) | 10 + nächster 1 Wurf |
| Open | Zahl | Summe der versenkten Kugeln |
| PIN-Typ | Standard | Verwendung |
|---|---|---|
| Master-PIN | 12345 |
Spieler verwalten, Stats löschen, History-Einträge löschen |
| Spieler-PIN | 000000 |
Training starten |
assets/js/app.js (Zeile 7): masterPin: "12345"
| Endpunkt | Beschreibung |
|---|---|
api.php?action=load |
Alle Spielerdaten laden |
api.php?action=save |
Daten speichern (POST) |
api.php?action=get_tables |
Live-Tischdaten für Monitor/OBS |
api.php?action=update_table |
Tisch-Update senden (POST) |
| Problem | Lösung |
|---|---|
| HTTP 500 | Schreibrechte prüfen (Schritt 4) |
| OBS zeigt nichts | Browser-Quelle Breite erhöhen, CSS leer lassen |
| Logo nicht sichtbar | Dateiname muss exakt dem Vereinsnamen entsprechen |
| Training-Buttons reagieren nicht | Browser-Konsole (F12) prüfen, training.js vollständig? |
sudo tail -f /var/log/nginx/error.log - Fehler-Log
# Backup erstellen cd /var/www sudo tar -czf billard-backup-$(date +%Y%m%d).tar.gz billard/ # Backup wiederherstellen sudo tar -xzf billard-backup-20250127.tar.gz
Pro Billiard Scoreboard System v4.0 | Entwickelt für Billard-Spieler