Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Online-Kartenspiel nach dem Vorbild von „Der Große Dalmuti“ für Freundesrunden: Live-Tische für 2–8 Spieler, Bots, Revolution & Große Revolution, Steuern, Hofzeremonie, optionale Kniffe (Schnapp!, Bombe, Königssturz, Narrenverbot, Hofgeflüster-Ereignisse, Kartengedächtnis), Zugzeit, eigene Decks mit Fotos, Chat, Emoji-Reaktionen, Freunde mit Online-Status, Einladungen, Revanche, Profilbilder, Abzeichen, Spielverlauf und Bestenliste. Dazu: Kampagne, tägliche Herausforderung, Monatsliga, Elo und offene Online-Lobby, Zuschauen, Wiederholungen, Höfe (Clans mit eigener Tabelle), Deck-Galerie mit Likes, Rivalitäten, König der Woche, ausführliche Statistiken, ein interaktives Tutorial mit lokalem Übungsspiel sowie Installation als App (PWA) mit Push-Benachrichtigungen.
Stack: Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · motion · Supabase (Auth, Postgres, Realtime, Storage) · Vitest · Playwright
Wie du das Spiel online stellst, steht in ANLEITUNG.md. Der Plan liegt in docs/PLAN.md.
Voraussetzungen: Node 24, pnpm, Docker Desktop (läuft).
pnpm install
pnpm db:start # Supabase lokal (Ports 55321–55327, parallel zu Kniffel)
pnpm env:local # schreibt .env.local mit den lokalen Schlüsseln
pnpm dev --port 3002
Supabase Studio: http://127.0.0.1:55323 · Zugangsfrage: „Peschel“
pnpm test # Unit: Regeln, Engine (komplette Spiele mit Bots), Gate, Hilfsfunktionen
pnpm test:integration # gegen lokales Supabase: geheime Hände (RLS), Realtime, Spielablauf, Decks
pnpm test:e2e # Playwright: Gate → Registrierung → Tisch mit Bots → Ziehen → Hofzeremonie
pnpm lint && pnpm typecheck
src/lib/jakob/ Karten, Regeln, Zustandsmaschine, Bots, Texte (reines TypeScript, getestet)
src/lib/decks.ts Deck-Schema (zod) und Vorlagen (Hofstaat, Rettungswache, Tierreich, Piraten, Heraldik, Kosmos, Schatzkammer)
src/server/*-service Spiel-, Deck-, Freundes-, Profil- und Chat-Logik (Service-Role, prüft jede Aktion)
src/server/*-actions Server Actions (Login + Zugangsfrage prüfen, Eingaben validieren)
src/hooks/use-game Live-Spielzustand, eigene Hand, Presence, Reaktionen, Bot- und Zeit-Anstöße
src/components/ UI (Tisch, Hand, Phasen, Lobby, Deck-Editor, Ergebnis …)
supabase/migrations/ Schema, RLS, commit_game, Statistik-Views, Storage, Realtime-Regeln
Fairness & Geheimnisse: games.state enthält nur den öffentlichen Stand (Kartenanzahl statt Karten).
Alle Hände liegen in game_secrets (für Clients unlesbar); jede menschliche Hand wird zusätzlich nach game_hands
gespiegelt, wo RLS nur die eigene Zeile freigibt. Gemischt wird auf dem Server (crypto.randomInt), gespeichert
atomar mit Versionsprüfung; Züge tragen eine Zugnummer, damit Doppelklicks nur einmal zählen.