Sobre el proyecto

Croupier es un sistema de backend de GM general orientado a la operación de juegos, diseñado para escenarios de múltiples juegos y múltiples entornos dentro de una sola empresa de juegos. El sistema adopta una arquitectura de tres capas: Consola Web → Server (plano de control, admite alta disponibilidad) → Agent (desplegado en la VPC del juego) → Servidor de juego/SDK. Entre el Agent y el Server se utiliza una sesión TCP (TLS habilitado por defecto), y entre el SDK y el Agent se utiliza una sesión TCP (TLS deshabilitado por defecto); ambas rutas comparten la misma base de transporte de sesión, diferenciándose únicamente en los mensajes de saludo y la semántica del negocio a través de subprotocolos. El alcance del negocio está definido por el gameId (identificador del juego) y el env (identificador del entorno, como dev/staging/prod), independientemente de la ubicación del despliegue físico. Sus capacidades principales incluyen un modelo unificado de registro y programación de funciones, transporte de sesión ligero (solicitudes bidireccionales en una sola conexión, reconexión, backpressure, eliminación de flujo), un formato de mensaje compuesto por datos de negocio JSON + envoltorio Protobuf, y una consola Ant Design Pro impulsada por contratos de capacidad de JSON Schema. Admite bases de datos SQLite (desarrollo y prueba), MySQL (recomendado para producción), PostgreSQL y SQL Server. Proporciona SDKs oficiales para Go, C#, Java, C++, Python y JS/TS, con documentación que abarca el diseño de arquitectura, el modelo de alcance, el protocolo de transporte y guías de uso del SDK.