Guia de Simulacao de RTP
O que e RTP?
RTP (Return to Player) e a porcentagem do dinheiro apostado que retorna aos jogadores ao longo do tempo.
| RTP | Significado | Exemplo |
|---|---|---|
| 100% | Break Even | Jogador aposta R$ 100, recebe R$ 100 em media |
| 95% | Casa lucra 5% | Jogador aposta R$ 100, recebe R$ 95 em media |
| 80% | Casa lucra 20% | Jogador aposta R$ 100, recebe R$ 80 em media |
| 120% | Casa perde 20% | Jogador aposta R$ 100, recebe R$ 120 em media |
House Edge = 100% - RTP (margem da casa)
RTPs Tipicos da Industria
| Tipo de Jogo | RTP Tipico |
|---|---|
| Slots Online | 94-98% |
| Blackjack | 99%+ |
| Roleta | 94-97% |
| Sites de Caixas CS | 70-85% |
Metodologia do Teste
Parametros da Simulacao
Simulacoes por caixa: 1.000
Total de caixas testadas: 10
Total de aberturas simuladas: 10.000
Range do Provably Fair: 1 a 10.000.000Processo de Simulacao
Para cada caixa ativa no banco de dados:
- Executa 1.000 aberturas simuladas
- Cada abertura gera seeds aleatorios (serverSeed + clientSeed)
- Calcula o roll usando HMAC-SHA256
- Verifica se FLIP e ativado (roll >= flipThreshold)
- Seleciona o item baseado no roll e hashRanges
- Acumula valores apostados e ganhos
Calculo do Roll:
typescript
function calculateRoll(serverSeed, clientSeed, nonce) {
const combined = `${serverSeed}:${clientSeed}:${nonce}`;
const hash = crypto.createHmac('sha256', serverSeed).update(combined).digest('hex');
return (parseInt(hash.substring(0, 8), 16) % 10000000) + 1;
}- Selecao de Item:
typescript
function selectItem(caseItems, roll) {
return caseItems.find(item =>
roll >= item.hashRangeStart && roll <= item.hashRangeEnd
);
}- Sistema FLIP:
typescript
const flipThreshold = Math.min(...rareItems.map(item => item.hashRangeStart));
const isFlip = roll >= flipThreshold;Como Executar
Pre-requisitos
- Node.js instalado
- Banco de dados PostgreSQL configurado
- Caixas com itens e ranges configurados
Comando
bash
cd /caminho/para/csgoflip
node scripts/rtp-simulation.jsSaida
O script gera:
- Output no console com progresso
- Relatorio completo com todas as metricas
Interpretacao dos Resultados
RTP Saudavel
Para sites de caixas CS, um RTP entre 70-85% e considerado saudavel:
- Oferece margem suficiente para a casa
- Mantem jogadores engajados com wins ocasionais
- Permite big wins que geram marketing organico
Alertas
| Situacao | Acao Recomendada |
|---|---|
| RTP > 100% | URGENTE: Ajustar probabilidades imediatamente |
| RTP > 95% | ATENCAO: Margem muito baixa, considerar ajuste |
| RTP < 60% | CUIDADO: Pode afugentar jogadores, considerar melhorar |
Arquivos Relacionados
| Arquivo | Descricao |
|---|---|
scripts/rtp-simulation.js | Script de simulacao |
docs/testing/rtp-results.md | Resultados da ultima simulacao |
src/application/services/provably-fair.service.ts | Servico Provably Fair |
