opolyx ist jetzt schneller
Würfelzahlen erscheinen jetzt fast sofort, Seiten laden überall schnell, und zwischen den Zügen wird deutlich weniger gewartet.

Kurz gesagt
Tempo ist ein Feature. Wir haben einen ganzen Arbeitsblock darauf verwendet, opolyx flott anfühlen zu lassen – und du solltest es in dem Moment merken, in dem du dich an einen Tisch setzt.
Tippe auf „Würfeln“, und die Würfel erwachen sofort zum Leben – früher brauchten die Zahlen anderthalb Sekunden, bis sie lagen, jetzt sind sie im Bruchteil eines Augenblicks da. Den Zug fortsetzen, ein Grundstück kaufen, Miete zahlen: All das reagiert in dem Augenblick, in dem du handelst.
- Würfelzahlen erscheinen fast sofort nach dem Wurf.
- Startseite und Leitfaden laden von überall auf der Welt schnell.
- Weniger Wartezeit zwischen den Zügen, sobald der Tisch in Fahrt kommt.
- Kein „Der Spielserver wacht gerade auf“ mehr, wenn du ein Brett öffnest.
Nichts davon ändert, wie gespielt wird – dieselben Regeln, dasselbe Brett. Es geht dir nur schneller aus dem Weg.
Für technisch Neugierige
Vom Klick bis zu den Würfelzahlen sind es statt ~1,5 s jetzt grob 0,3–0,75 s. Zwei Dinge lagen übereinander: eine ~700 ms lange Setzanimation nach Eintreffen der Antwort und ein langsamer Netzwerkpfad. Wir haben das Taumeln auf 250 ms gekürzt, und der handelnde Spieler spielt die Würfel jetzt optimistisch bei 0 ms ab und übernimmt anschließend den maßgeblichen Zustand und die Ereignisse des Daemons, sobald sie zurückkommen – ohne auf die langsamere Realtime-Übertragung zu warten.
Der größere Gewinn lag im Netzwerk. Der Spiel-Daemon autorisiert das eigene JWT des Spielers statt eines Servergeheimnisses, der Browser kann ihn also direkt aufrufen, statt über eine Vercel-Server-Action zu springen. Direkte Aufrufe prüfen das HS256-Token lokal auf dem Daemon (Signatur, exp, Audience) – die Authentifizierung ging von ~40 ms auf ~1–5 ms zurück – und fallen bei jedem Fehler auf das Server-Action-Relais zurück, sodass nie etwas doppelt abgeschickt wird.
# Browser → daemon directly (with a verified server-action fallback)
NEXT_PUBLIC_DAEMON_URL=https://opolyxgame-daemon-production.up.railway.app
# Daemon verifies the player's token locally (HS256), ~40ms → ~1-5ms
SUPABASE_JWT_SECRET=<legacy HS256 secret from Supabase → Settings → API>Darunter sitzen Daemon und Datenbank jetzt beieinander: Wir haben das produktive Supabase von Tokio nach Singapur umgezogen, an denselben Ort wie den Railway-Daemon, sodass Aufrufe zwischen Daemon und Datenbank lokal sind – Authentifizierung ~200 ms → ~40 ms und Spielarbeit ~250 ms → ~45 ms. Ein modulweiter node:https-Keep-Alive-Agent hält diese Verbindung zwischen den Zügen warm (der erste Wurf eines Zuges baut sie nicht mehr kalt neu auf). Und jede Marketing- und Inhaltsseite – Startseite, Spielanleitung, Regeln, Leitfaden, die Rechtstexte, die Anmeldung – wird jetzt pro Sprache in allen zehn Sprachen vorgerendert, sodass sie ohne kalt startende Lambda-Funktion aus dem Edge-Cache ausgeliefert wird.
