Introdução ao CSGOFlip
CSGOFlip é uma plataforma completa de gambling baseada em skins de Counter-Strike 2, oferecendo múltiplos modos de jogo com sistema Provably Fair verificável.
O que é o CSGOFlip?
O CSGOFlip permite que jogadores:
- Abram caixas com itens de diferentes raridades e valores
- Participem de batalhas PvP em times (1v1 até 3v3)
- Façam upgrades combinando itens e/ou saldo para obter itens mais valiosos
- Troquem itens de menor valor para um de maior valor com o site
- Participem de sorteios com sistema de tickets
Principais Características
Sistema Provably Fair
Todos os resultados são gerados de forma transparente e verificável:
roll = HMAC-SHA256(serverSeed + clientSeed + nonce)O jogador pode verificar qualquer resultado após o jogo, garantindo que não houve manipulação.
Sistema FLIP
Uma mecânica exclusiva que ativa uma segunda roleta apenas com itens raros quando o roll cai na faixa dos itens raros da caixa, dando ao jogador uma chance extra de ganhar big. A probabilidade varia por caixa.
Batalhas em Tempo Real
Batalhas PvP onde jogadores competem abrindo as mesmas caixas simultaneamente. O time com maior valor total vence e divide os itens de forma justa.
Sistema Financeiro Robusto
Double-entry bookkeeping garante que toda transação financeira seja rastreável e auditável. Impossível ter inconsistências de saldo.
Arquitetura do Sistema
O sistema é dividido em três aplicações principais:
┌─────────────────────────────────────────────────────────────┐
│ CLIENTS │
├──────────────────────────────┬──────────────────────────────┤
│ Frontend │ Admin Panel │
│ (Next.js 14) │ (Next.js 16) │
│ Port: 3002 │ Port: 3001 │
└──────────────┬───────────────┴───────────────┬──────────────┘
│ │
│ REST API + WebSocket │
│ │
┌────────▼─────────────────▼───────────────────▼──────────────┐
│ BACKEND API │
│ (NestJS + Fastify) │
│ Port: 3000 │
├──────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Controllers │ │ Use Cases │ │ Services │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└────────┬─────────────────┬───────────────────┬───────────────┘
│ │ │
┌────────▼────────┐ ┌──────▼──────┐ ┌──────────▼──────────────┐
│ PostgreSQL │ │ Redis │ │ External APIs │
│ (Database) │ │ (Cache/Pub) │ │ (Steam, Payments, S3) │
└─────────────────┘ └─────────────┘ └─────────────────────────┘Módulos do Sistema
O backend é organizado em 17 módulos principais:
| # | Módulo | Descrição |
|---|---|---|
| 1 | Auth | Autenticação Steam OAuth + Sessões |
| 2 | User | Perfis e estatísticas de usuários |
| 3 | Payment | Depósitos, saques e transações |
| 4 | Case | Catálogo de caixas e itens |
| 5 | CaseOpening | Abertura de caixas + Provably Fair |
| 6 | Battle | Batalhas PvP em tempo real |
| 7 | Upgrade | Sistema de upgrade de itens |
| 8 | Inventory | Gestão do inventário do usuário |
| 9 | Swap | Trocas P2P e com o site |
| 10 | Raffle | Sistema de sorteios |
| 11 | Event | Battle Pass e eventos |
| 12 | Notification | Notificações in-app |
| 13 | LiveDrops | Drops em tempo real |
| 14 | ProvablyFair | Verificação de resultados |
| 15 | Audit | Logs de auditoria |
| 16 | Admin | Painel administrativo |
| 17 | WebSocket | Comunicação tempo real |
Próximos Passos
Arquivos Fonte Relacionados
Principais Arquivos
src/main.ts- Entry point da aplicaçãosrc/app.module.ts- Módulo raiz com todos os importsprisma/schema.prisma- Schema do banco de dados.env- Variáveis de ambiente
