À propos du projet

Croupier est un système de backend GM universel orienté vers l'exploitation de jeux, servant des scénarios multi-jeux et multi-environnements au sein d'une seule société de jeux. Le système adopte une architecture à trois couches : Console Web → Server (plan de contrôle, supporte la haute disponibilité) → Agent (déployé dans le VPC du jeu) → Serveur de jeu/SDK. La communication entre l'Agent et le Server utilise des sessions TCP (TLS activé par défaut), tandis que celle entre le SDK et l'Agent utilise des sessions TCP (TLS désactivé par défaut). Les deux liaisons partagent la même base de transport de session, se distinguant uniquement par les messages de handshake et la sémantique métier des sous-protocoles. Le domaine métier est défini par gameId (identifiant du jeu) et env (identifiant d'environnement tel que dev/staging/prod), et est séparé de l'emplacement de déploiement physique. Les capacités centrales incluent un modèle unifié d'enregistrement et d'ordonnancement de fonctions, un transport de session léger (requêtes bidirectionnelles sur connexion unique, reconnexion, backpressure, retrait de flux), un format de message composé de données métier JSON + enveloppe Protobuf, et une console Ant Design Pro pilotée par des contrats de capacité JSON Schema. Il supporte les bases de données SQLite (développement et test), MySQL (recommandé pour la production), PostgreSQL et SQL Server. Des SDK officiels sont fournis pour Go, C#, Java, C++, Python, JS/TS, et la documentation couvre la conception architecturale, le modèle de domaine, le protocole de transport ainsi que les guides d'utilisation des SDK.