Sobre o projeto

Croupier é um sistema de backend GM genérico voltado para a operação de jogos, atendendo a cenários de múltiplos jogos e múltiplos ambientes dentro de uma única empresa de jogos. O sistema adota uma arquitetura de três camadas: Console Web → Server (plano de controle, com suporte a alta disponibilidade) → Agent (implantado na VPC do jogo) → Servidor de Jogo/SDK. Entre o Agent e o Server, utiliza-se sessões TCP (TLS habilitado por padrão); entre o SDK e o Agent, utilizam-se sessões TCP (TLS desabilitado por padrão). Ambas as rotas compartilham a mesma base de transporte de sessão, distinguindo-se apenas nas mensagens de handshake e na semântica de negócio através de subprotocolos. O escopo de negócio é definido por gameId (identificador do jogo) e env (identificador de ambiente, como dev/staging/prod), sendo separado da localização de implantação física. As capacidades principais incluem um modelo unificado de registro e agendamento de funções, transporte de sessão leve (requisições bidirecionais em conexão única, reconexão, backpressure, remoção de fluxo), formato de mensagem com dados de negócio JSON + envelope Protobuf, e um console Ant Design Pro impulsionado por contratos de capacidade JSON Schema. Suporta bancos de dados SQLite (desenvolvimento e teste), MySQL (recomendado para produção), PostgreSQL e SQL Server. Fornece SDKs oficiais para Go, C#, Java, C++, Python, JS/TS, com documentação abrangendo design de arquitetura, modelo de escopo, protocolo de transporte e guias de uso do SDK.