Dieses Projekt ist eine Kombination aus Kotlin, klassischem Javascript und Node.js. Gehostet wird die resultierende Seite in Docker Containern. Die Video-Dateien sind zum Schutz der Privatsphäre nicht in diesem Repository gespeichert. Das Kotlin backend erfragt eine Liste von Videos und served die URLs an das Frontend
Server bauen und starten im ./backend Verzeichnis
./gradlew run
Befehlt um den grpcWebProxy zu starten
./startProxy.sh
In der docker-compose.yaml
muss die video list url überschrieben werden
<videolist url> -> https://url to videolist file
# build all containers
docker-compose build
# run all containers
docker-compose up -d
docker build -t frontend -f docker/frontend/Dockerfile .
docker run -e BACKEND_URL=https://<server domain>:8443 -p 80:5000 frontend
- Version 1: anything to play (by @ApolloLV)
- Version 2: Distributed Client-Server Game with solid technical base and very loose Rule enforcement to allow easy recovering from faulty game states.
- Version 3: Enforcing Rules and extra features.
MP4-Videos in kleinere Webms mit VP9 rekodieren (Siehe FFMPEG-Wiki)
VIDEO=foldername/filename
ffmpeg -y -i $VIDEO.mp4 -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f webm /dev/null &&
ffmpeg -y -i $VIDEO.mp4 -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus $VIDEO.webm
- Hinzufügen von Siegesfeiervideos (Danke Basti)
- Stoppuhrbefehl ".stoppuhr ${"$"}Sekunden${"$"}"
- Schere-Stein-Papier-Minispiel .ssp
- Mehrere Spieler in einem Browsertab über die "Spieler hinzufügen"-Funktion
- Keine Strafbierveränderungen während eines aktiven Wurfs
- Urhebernotiz hinzugefügt
- Refactoring in Services insbesondere für Protokoll und Client.
- Clientauthentifizierung und Zuweisung von Spielern
- Clientonlinestatusanzeige und Wiederverbindungsversuche
- Unterscheidung von Chat- und Systemnachrichten
- Strafbiere haben auch Videos
- Gesamte Infrastruktur auf Docker-Images umgestellt
- Infrastruktur umgezogen
- Kleinere Fehlerbehebungen; richtige Teamnamen im Chat
- Abgaben können nur vom Gegnerteam abgenommen werden
- Sophies & Daniels Videos gespiegelt
- Erholungsphase nach Würfen eingeführt
- Spielername in Tabtitel, wenn dran mit Werfen
- Sicherheitsfrage beim Kicken und neuem Spiel
- Strafbierlimit, Strafbiericon
- Client/Server Applikation mit Basisfunktionalität
- Client only Webpage mit Basisfunktionalität