86fbdd39ed921975e8c5a96591cb366c40250594
Issue #1 - Bot vs Bot Turnierspiele: - triggerBotMove ruft sich rekursiv selbst auf wenn der nächste Spieler auch ein Bot ist (bot vs bot läuft jetzt vollautomatisch durch) - startNextRoundGames erstellt aktive Spiele für die nächste Runde wenn eine Runde endet; bot vs bot Spiele starten sofort ohne Spectator - updateRoundResult gibt jetzt die nächste Runden-Daten zurück statt void - Alle Handler (sendMove, claimAbandoned, claimTimeout, triggerBotMove) starten die nächste Runde automatisch Issue #2 - Bot-Schwierigkeit zu hoch: - randomChance zu StockfishLevel hinzugefügt: Level 1=80%, 2=50%, 3=15%, 4=3%, 5-6=0% zufällige Züge statt Stockfish-Best-Move - Gilt sowohl für Socket-Bot-Züge als auch /v1/ai/move REST-Endpoint Issue #3 - Turnier beenden + Zurück-Button: - POST /:code/cancel Endpoint (nur Host), setzt status='finished' - Turnier-Seite: 'Turnier beenden' Button für Host (rot, outline) - tournamentCode Feld im Game-Typ; wird beim Erstellen von Turnierspielen gesetzt (inkl. Folgerunden) - GamePage zeigt '← Zur Turnierübersicht' Link wenn tournamentCode gesetzt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MiChess
Eine selbst-gehostete Schachplattform, inspiriert von Lichess.org. Läuft als Docker-Container auf einer NAS — lokal, privat, ohne Cloud!
Basiert auf chessu (MIT) von dotnize — vielen Dank für die solide Basis.
Features
- Echtzeit-Multiplayer (Spieler vs. Spieler)
- Stockfish KI in 6 Schwierigkeitsgraden (Anfänger bis Meister)
- Nutzeraccounts mit E-Mail & Passwort
- Freundessystem mit Anfragen und Freundesliste
- Admin-Panel: Nutzerverwaltung, Sperren/Entsperren, Git-Update per Knopfdruck
- Spielarchiv & Statistiken
- Zuschauer & Chat
- Mobil-optimiert
Tech Stack
Next.js 14 · Tailwind CSS · daisyUI · react-chessboard · chess.js · Express.js · Socket.io · PostgreSQL · TypeScript · Docker
Deployment (NAS / Docker)
# 1. Repository klonen
git clone https://git.mischlabs.de/MrDiderot/MiChess.git michess
cd michess
# 2. Konfiguration anpassen
cp .env.example .env
nano .env # Passwörter, ADMIN_EMAIL etc. setzen
# 3. Starten
docker compose up -d --build
Frontend: http://deine-nas-ip:3000
Backend API: http://deine-nas-ip:3001
Update
# Manuell via Script
./scripts/update.sh
# Oder im Admin-Panel → "Jetzt aktualisieren"
Entwicklung (lokal)
pnpm install
pnpm dev
Lizenz
MIT · Copyright © 2024-present Tom Misch
Languages
TypeScript
98.4%
JavaScript
0.9%
Dockerfile
0.4%
Shell
0.2%