Royal Roulette — 3D casino table render
02JEU & TEMPS RÉEL2026EN DÉVELOPPEMENT

ROYAL ROULETTE

Un écosystème de jeu en temps réel.

Une plateforme de casino complète — 15 jeux à autorité serveur, salons vidéo et vocaux en direct, une économie de cadeaux façon TikTok, un portefeuille crypto multi-chaînes et un back-office opérateur — sur ASP.NET Core .NET 10, PostgreSQL, Redis, SignalR et Next.js 16.

Royal Roulette est une plateforme de casino multijoueur dotée d'une couche sociale de diffusion en direct. L'API .NET 10 est organisée en couches — API, Application, Domaine, Infrastructure — avec 55 contrôleurs, quatre hubs SignalR et 27 migrations EF Core. Quinze modules de jeu (roulette, crash aviator, blackjack, baccarat, machines à sous, vidéo poker, dés, keno, mines, plinko, hi-lo, pile ou face, chicken cross, roue de la fortune, machine à sous western) tirent leur aléa de System.Security.Cryptography.RandomNumberGenerator derrière une abstraction ISecureRandom ; les jeux à manches continues tournent comme workers d'arrière-plan qui poussent les manches vers les hubs.

Les salons en direct publient et s'abonnent via LiveKit WebRTC avec un fournisseur simulé pour le développement hors ligne ; les salons vocaux disposent de sièges d'intervenants et d'une file d'attente « main levée » ; un catalogue de 14 cadeaux à six niveaux de rareté est mis en file côté serveur et rendu en vidéo plein mouvement avec replis SVG. Le portefeuille gère les dépôts et retraits multi-chaînes avec des soldes versionnés par ligne et des clés d'opération client idempotentes. Le frontend est en Next.js 16 avec le React Compiler, une CSP stricte, three.js, GSAP et Framer Motion.

01

Vue d'ensemble

Luxe sombre, tables, salons en direct, systèmes de jeu, portefeuille et administration — un écosystème où chaque manche fait autorité sur le serveur et chaque cadeau est mis en file, idempotent et animé.

02

Architecture

  1. 01
    NEXT.JS
    Pages router · React Compiler · CSP
  2. 02
    API
    Réécritures proxy /api et /hubs
  3. 03
    .NET 10
    55 contrôleurs · FluentValidation · Serilog
  4. 04
    POSTGRESQL
    EF Core · 27 migrations · versions de ligne
  5. 05
    MOTEUR RNG
    ISecureRandom · RandomNumberGenerator
  6. 06
    SERVICES DE JEU
    15 modules · workers d'arrière-plan · état Redis
  7. 07
    TEMPS RÉEL
    4 hubs SignalR · LiveKit WebRTC
  1. NGINX
    80 / 443
  2. rr-frontend
    Next.js :3000
  3. rr-backend
    .NET :5001
  4. postgres:16
    pgdata
  5. redis:7
    état de jeu
  6. LiveKit
    WebRTC :7880
03

Ingénierie

Systèmes de jeu

  • 01Roulette et Aviator tournent comme workers d'arrière-plan côté serveur, les manches étant diffusées sur des hubs dédiés
  • 02L'état de jeu volatil d'Aviator, Mines, Chicken Cross, Slot, Hi-Lo, Blackjack et Video Poker vit dans Redis ; la production refuse le repli en mémoire
  • 03Chaque adaptateur tire son aléa de System.Security.Cryptography.RandomNumberGenerator derrière ISecureRandom
  • 04Concurrence du portefeuille : versions de ligne, contraintes d'intégrité financière et clés d'opération client pour des dépôts et retraits idempotents
  • 05CSP stricte avec caméra et microphone limités à self ; jetons de requête SignalR désactivés en production
royal-roulette.com/admin
Console d'administration opérateur
Back-office d'administration
04

Salons en direct & cadeaux

Salons en direct sur bureau et mobile
Salon en direct — expérience spectateur sur bureau
Salon en direct — expérience spectateur sur bureau
Superposition d'animation de cadeau dans un salon en direct
Superposition d'animation de cadeau dans un salon en direct
  1. 01

    Publication via LiveKit

    Les hôtes passent en direct via un fournisseur média LiveKit ; un fournisseur simulé garde tout le flux testable hors ligne.

  2. 02

    14 cadeaux, 6 niveaux de rareté

    De Commun à Mythique. La durée d'affichage va de 5,0 s → 12,0 s et le nombre de particules de 15 → 100 selon la rareté ; six cadeaux sont livrés en vidéo plein mouvement 720×1280, les autres utilisent des replis SVG.

  3. 03

    File d'attente à autorité serveur

    Les cadeaux sont idempotents et mis en file sur le serveur avant que le client ne les affiche, de sorte qu'une rafale de tapotements ne facture jamais deux fois ni ne désynchronise les spectateurs.

  4. 04

    Crédits live

    Une monnaie de cadeaux distincte avec demandes de recharge par l'utilisateur et file d'approbation administrateur.

05

Design

Chaque jeu a reçu une passe cinématographique : une roue et une table de roulette 3D composées, un Mines en coffre d'obsidienne, un observatoire Royal Plinko, une grille de crash Aviator avec son propre atlas de matériaux 4K. Dix-neuf couvertures de jeux partagent un même langage en 960×540.

06

Résultats

91 / 91
TESTS
SOURCE · rapport de découverte
15
JEUX
SOURCE · GameModules
14 · 6 NIVEAUX
CADEAUX
SOURCE · TIKTOK_GIFTS_SUMMARY_AR.md
47+
PAGES STATIQUES
SOURCE · build du frontend
  1. 2026-03
    Première migration EF — versions de ligne du portefeuille
  2. 2026-04
    KYC, défis, tickets de support, jeu responsable
  3. 2026-05
    Book of Golden Sheba déployé
  4. 2026-06
    Thunder Reels déployé
  5. 2026-07
    Schéma du système live
  6. 2026-08
    Salons en direct terminés — 88/100 ; référence git et portes de CI
Projet suivant
AQUAFINITY