Resumo no browser. Tutorial completo em arquivo: TADA-API/TUTORIAL.md (abra no editor).
cd "C:\Users\pedro\Desktop\Nova pasta\TADA-API" copy .env.example .env npm install npm start # Browser: http://localhost:5757/demo
| URL | Função |
|---|---|
/demo | Launcher visual — busca e joga |
/doc | Esta página |
/api/health | Status da API + qtd de jogos |
/api/games | JSON com todos os jogos indexados |
POST /api/launch | Cria sessão e devolve launch_url |
/api/session/:id | Saldo e stats da sessão |
POST /sso-login.api | Login do client Cocos |
POST /:game/plainreq?ack=N | Info (1) / Spin (0) em protobuf |
WS /lifeservice/ws2 | Keep-alive do jogo |
npm start rodando no terminal40049, Super Ace)POST /api/launch
Content-Type: application/json
{
"gameId": "40049",
"balance": 10000,
"currency": "BRL",
"user_id": "jogador_demo"
}
Resposta:
{
"status": 1,
"launch_url": "http://localhost:5757/fullhouse/?sip=localhost:5757&ssoKey=...",
"session": "sess_...",
"balance": 10000
}
Abra o launch_url no navegador. Não abra só o index.html sem query params — o client precisa de sip e ssoKey.
$r = Invoke-RestMethod -Method POST http://localhost:5757/api/launch `
-ContentType "application/json" `
-Body '{"gameId":"40049","balance":10000}'
Start-Process $r.launch_url
# Ver saldo depois de jogar:
Invoke-RestMethod http://localhost:5757/api/session/$($r.session)
| Variável | Padrão | Nota |
|---|---|---|
PORT | 5757 | WG usa 5656 |
BASE_URL | http://localhost:5757 | Deve bater com a URL do browser |
GAMES_DIR | ./games | Jogos dentro da API (40xxx_*) |
DEFAULT_BALANCE | 10000 | Saldo demo |
/api/launch cria sessão e URL/fullhouse/ (exemplo)/sso-login.api/lifeservice/ws2plainreq?ack=1 (info) e ack=0 (spin)TADA-API/games e GAMES_DIR=./gameslaunch_url, não o HTML soltoPORT e BASE_URL no .env
Tutorial completo (instalação, rede local, WG lado a lado, checklist):
arquivo TUTORIAL.md na pasta do projeto.