Guia de Testes - Simulação de RTP
Índice
- Introdução
- O que é RTP?
- Metodologia do Teste
- Resultados da Simulação
- Análise Detalhada por Caixa
- Sistema FLIP
- Distribuição de Raridades
- Análise de Lucratividade
- Como Executar o Teste
- Interpretação dos Resultados
Introdução
Este documento descreve o teste de simulação de RTP (Return to Player) executado no sistema CSGOFlip. O objetivo é validar que as probabilidades configuradas nas caixas estão funcionando corretamente e analisar a lucratividade do sistema.
Data do Teste: 09/12/2025 Ambiente: Desenvolvimento Range Provably Fair: 1 a 10.000.000
O que é RTP?
RTP (Return to Player) é 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 média |
| 95% | Casa lucra 5% | Jogador aposta R$ 100, recebe R$ 95 em média |
| 80% | Casa lucra 20% | Jogador aposta R$ 100, recebe R$ 80 em média |
| 120% | Casa perde 20% | Jogador aposta R$ 100, recebe R$ 120 em média |
House Edge = 100% - RTP (margem da casa)
RTPs Típicos da Indústria
| Tipo de Jogo | RTP Típico |
|---|---|
| Slots Online | 94-98% |
| Blackjack | 99%+ |
| Roleta | 94-97% |
| Sites de Caixas CS | 70-85% |
Metodologia do Teste
Parâmetros da Simulação
Simulações 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 Simulação
Para cada caixa ativa no banco de dados:
- Executa 1.000 aberturas simuladas
- Cada abertura gera seeds aleatórios (serverSeed + clientSeed)
- Calcula o roll usando HMAC-SHA256
- Verifica se FLIP é ativado (roll >= flipThreshold)
- Seleciona o item baseado no roll e hashRanges
- Acumula valores apostados e ganhos
Cálculo do Roll:
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;
}- Seleção de Item:
function selectItem(caseItems, roll) {
return caseItems.find(item =>
roll >= item.hashRangeStart && roll <= item.hashRangeEnd
);
}- Sistema FLIP:
const flipThreshold = Math.min(...rareItems.map(item => item.hashRangeStart));
const isFlip = roll >= flipThreshold;Resultados da Simulação
Resumo Executivo
| Métrica | Valor |
|---|---|
| Total Apostado | R$ 13.609.390,00 |
| Total Ganho (Players) | R$ 10.817.646,82 |
| Lucro da Casa | R$ 2.791.743,18 |
| RTP Geral | 79.49% |
| House Edge | 20.51% |
Visualização do RTP por Caixa
RTP (Return to Player) - Quanto % volta para os jogadores
100% = Break Even | <100% = Casa lucra | >100% = Casa perde
🟡 Invisible | █████████████████████████████████████████████████ 98.8%
✅ Gamma Era | ██████████████████████████████████████████ 84.9%
✅ Audemars Piguet | ████████████████████████████████████████ 80.5%
✅ Chrome Hearts | ████████████████████████████████████████ 79.8%
✅ Mona Lisa | ████████████████████████████████████████ 79.2%
✅ Fever knives | ███████████████████████████████████████ 78.4%
✅ Haze Mining | █████████████████████████████████████ 73.6%
✅ Blue gem mania | █████████████████████████████████████ 73.2%
✅ Doppler Era | ██████████████████████████████████ 68.7%
✅ Flora mining | ██████████████████████████████ 60.4%
Legenda:
🟡 = Margem baixa (RTP > 95%)
✅ = Margem saudável (RTP 60-95%)
❌ = Casa perde (RTP > 100%)Análise Detalhada por Caixa
Tabela Completa
| Caixa | Preço | RTP | House Edge | Apostado (1000x) | Retornado | Lucro Casa |
|---|---|---|---|---|---|---|
| Invisible | R$ 100,00 | 98.85% | 1.15% | R$ 100.000,00 | R$ 98.849,29 | R$ 1.150,71 |
| Gamma Era | R$ 185,80 | 84.88% | 15.12% | R$ 185.800,00 | R$ 157.699,32 | R$ 28.100,68 |
| Audemars Piguet | R$ 4.986,09 | 80.49% | 19.51% | R$ 4.986.090,00 | R$ 4.013.521,29 | R$ 972.568,71 |
| Chrome Hearts | R$ 499,09 | 79.80% | 20.20% | R$ 499.090,00 | R$ 398.288,24 | R$ 100.801,76 |
| Mona Lisa | R$ 5.835,69 | 79.18% | 20.82% | R$ 5.835.690,00 | R$ 4.620.601,50 | R$ 1.215.088,50 |
| Fever knives | R$ 1.428,39 | 78.36% | 21.64% | R$ 1.428.390,00 | R$ 1.119.334,54 | R$ 309.055,46 |
| Haze Mining | R$ 8,44 | 73.61% | 26.39% | R$ 8.440,00 | R$ 6.212,73 | R$ 2.227,27 |
| Blue gem mania | R$ 334,48 | 73.23% | 26.77% | R$ 334.480,00 | R$ 244.951,99 | R$ 89.528,01 |
| Doppler Era | R$ 222,97 | 68.66% | 31.34% | R$ 222.970,00 | R$ 153.094,35 | R$ 69.875,65 |
| Flora mining | R$ 8,44 | 60.35% | 39.65% | R$ 8.440,00 | R$ 5.093,57 | R$ 3.346,43 |
Análise por Faixa de RTP
RTP Alto (>95%) - ATENÇÃO
| Caixa | RTP | Risco |
|---|---|---|
| Invisible | 98.85% | Margem muito baixa, quase break even |
RTP Médio-Alto (80-95%) - SAUDÁVEL
| Caixa | RTP | Status |
|---|---|---|
| Gamma Era | 84.88% | OK |
| Audemars Piguet | 80.49% | OK |
| Chrome Hearts | 79.80% | OK |
| Mona Lisa | 79.18% | OK |
| Fever knives | 78.36% | OK |
RTP Médio-Baixo (60-80%) - MUITO LUCRATIVO
| Caixa | RTP | Status |
|---|---|---|
| Haze Mining | 73.61% | Muito lucrativo |
| Blue gem mania | 73.23% | Muito lucrativo |
| Doppler Era | 68.66% | Muito lucrativo |
| Flora mining | 60.35% | Extremamente lucrativo |
Sistema FLIP
O sistema FLIP dá aos jogadores uma "segunda chance" quando o roll cai na faixa de itens raros.
Como Funciona
- Cada caixa tem um
flipThreshold= menorhashRangeStartdos itens raros - Se
roll >= flipThreshold, FLIP é ativado - Uma segunda roleta é exibida apenas com itens raros
- Um segundo roll determina qual item raro o jogador ganha
Resultados do FLIP
| Caixa | Flip Threshold | FLIPs (1000 aberturas) | % Real | Chance Teórica |
|---|---|---|---|---|
| Mona Lisa | 8.678.555 | 138 | 13.8% | 13.21% |
| Audemars Piguet | 8.805.506 | 128 | 12.8% | 11.94% |
| Doppler Era | 8.629.256 | 127 | 12.7% | 13.71% |
| Chrome Hearts | 9.185.292 | 85 | 8.5% | 8.15% |
| Invisible | 9.323.950 | 64 | 6.4% | 6.76% |
| Gamma Era | 9.319.015 | 60 | 6.0% | 6.81% |
| Haze Mining | 9.964.305 | 4 | 0.4% | 0.36% |
| Flora mining | 9.999.886 | 0 | 0.0% | 0.00% |
| Fever knives | N/A | 0 | 0.0% | N/A |
| Blue gem mania | N/A | 0 | 0.0% | N/A |
Observação: Caixas sem itens marcados como isRare não ativam FLIP.
Validação
Os resultados reais estão muito próximos das chances teóricas, validando que o sistema Provably Fair está funcionando corretamente.
Distribuição de Raridades
Drops Globais (10.000 aberturas)
| Raridade | Quantidade | Porcentagem |
|---|---|---|
| CONSUMER | 1.463 | 14.63% |
| INDUSTRIAL | 1.627 | 16.27% |
| MIL_SPEC | 3.725 | 37.25% |
| RESTRICTED | 701 | 7.01% |
| CLASSIFIED | 1.928 | 19.28% |
| COVERT | 481 | 4.81% |
| EXTRAORDINARY | 75 | 0.75% |
Visualização
CONSUMER ████████████████ 14.63%
INDUSTRIAL ██████████████████ 16.27%
MIL_SPEC █████████████████████████████████████████ 37.25%
RESTRICTED ████████ 7.01%
CLASSIFIED █████████████████████ 19.28%
COVERT █████ 4.81%
EXTRAORDINARY █ 0.75%Análise de Lucratividade
Top 5 Caixas Mais Lucrativas (por House Edge)
| Rank | Caixa | House Edge | Lucro/1000 aberturas |
|---|---|---|---|
| 1 | Flora mining | 39.65% | R$ 3.346,43 |
| 2 | Doppler Era | 31.34% | R$ 69.875,65 |
| 3 | Blue gem mania | 26.77% | R$ 89.528,01 |
| 4 | Haze Mining | 26.39% | R$ 2.227,27 |
| 5 | Fever knives | 21.64% | R$ 309.055,46 |
Top 5 Caixas com Maior Volume de Lucro
| Rank | Caixa | Lucro Absoluto | Motivo |
|---|---|---|---|
| 1 | Mona Lisa | R$ 1.215.088,50 | Preço alto (R$ 5.835) |
| 2 | Audemars Piguet | R$ 972.568,71 | Preço alto (R$ 4.986) |
| 3 | Fever knives | R$ 309.055,46 | Preço médio-alto + bom HE |
| 4 | Chrome Hearts | R$ 100.801,76 | Preço médio + bom HE |
| 5 | Blue gem mania | R$ 89.528,01 | House Edge alto (26.77%) |
Maiores Ganhos (Big Wins)
| Caixa | Item | Valor | Lucro do Jogador |
|---|---|---|---|
| Gamma Era | Karambit Gamma Doppler | R$ 16.167,52 | +R$ 15.981,72 |
| Gamma Era | Karambit Gamma Doppler | R$ 16.167,52 | +R$ 15.981,72 |
| Gamma Era | Butterfly Knife Gamma Doppler | R$ 13.586,22 | +R$ 13.400,42 |
| Invisible | AWP The Prince | R$ 12.020,09 | +R$ 11.920,09 |
| Gamma Era | M9 Bayonet Gamma Doppler | R$ 10.743,14 | +R$ 10.557,34 |
Como Executar o Teste
Pré-requisitos
- Node.js instalado
- Banco de dados PostgreSQL configurado
- Caixas com itens e ranges configurados
Comando
cd /caminho/para/csgoflip
node scripts/rtp-simulation.jsParâmetros Configuráveis
No arquivo scripts/rtp-simulation.js:
const SIMULATIONS_PER_CASE = 1000; // Número de simulações por caixa
const TOTAL_RANGE = 10000000; // Range do Provably Fair (NÃO ALTERAR)Saída
O script gera:
- Output no console com progresso
- Arquivo
docs/RTP_ANALYSIS.mdcom relatório completo
Interpretação dos Resultados
RTP Saudável
Para sites de caixas CS, um RTP entre 70-85% é considerado saudável:
- Oferece margem suficiente para a casa
- Mantém jogadores engajados com wins ocasionais
- Permite big wins que geram marketing orgânico
Alertas
| Situação | Ação Recomendada |
|---|---|
| RTP > 100% | URGENTE: Ajustar probabilidades imediatamente |
| RTP > 95% | ATENÇÃO: Margem muito baixa, considerar ajuste |
| RTP < 60% | CUIDADO: Pode afugentar jogadores, considerar melhorar |
Caixa "Invisible" (RTP 98.85%)
Esta caixa tem margem extremamente baixa. Recomendações:
- Revisar se os preços dos itens estão corretos
- Considerar aumentar o preço da caixa
- Ou ajustar as probabilidades dos itens de alto valor
Conclusão
O sistema de probabilidades está funcionando corretamente:
- Provably Fair validado: Rolls estão dentro do range 1-10.000.000
- FLIP funcionando: Porcentagens reais próximas das teóricas
- Distribuição correta: Raridades seguem as probabilidades configuradas
- RTP geral saudável: 79.49% está dentro do esperado para a indústria
Pontos de Atenção
- Invisible precisa de ajuste (RTP 98.85% muito alto)
- Flora mining pode ser agressiva demais (RTP 60.35%)
Relatório gerado automaticamente pelo script rtp-simulation.jsÚltima atualização: 09/12/2025
