Biblioteca

Ações e métodos

Tudo o que o host pode fazer: sala, partida, moderação, equipas e host.

Todos os métodos abaixo são fire-and-forget: enviam o pacote ao servidor e retornam. Para saber o resultado, ouça os eventos correspondentes (veja Estado e eventos).

Sala

ts
room.setRoomName('Novo Nome');
room.setRoomPassword('nova_senha');  // '' remove a senha
room.chat('Olá!');

Partida

ts
room.startGame();              // veja "Partidas e IS blob" para o estado inicial
room.stopGame();               // volta todos ao lobby
room.startCountdown(3);        // contagem de 3 s (padrão: 3)
room.abortCountdown();

room.setMode('b', 'b');        // engine, mode
room.setRounds(5);
room.setMap(lzStringBlob);     // troca o mapa da sala
room.setReady(true);           // marca o próprio bot como pronto
room.allReadyReset();          // reseta o "pronto" de todos

Moderação

ts
room.kickPlayer(id);   // expulsa sem banir
room.banPlayer(id);    // ban permanente

Equipas e host

ts
// equipa: 0 spec · 1 ffa · 2 vermelho · 3 azul · 4 verde · 5 amarelo
room.setTeam(id, 3);            // move OUTRO jogador (só o host)
room.joinTeam(0);               // move o PRÓPRIO bot

room.lockTeams();               // bloqueia: jogadores não trocam de equipa sozinhos
room.unlockTeams();
room.setTeamsEnabled(true);     // liga/desliga o modo de equipas

room.giveHost(id);              // passa o host
room.setNoHostSwap(true);       // impede a troca automática de host

Detalhes sobre bloquear equipas em Equipas e lock.

Anti-AFK

ts
room.enableAntiAfk({ thresholdMs: 12_000 });
room.isAfk(playerId);
room.disableAntiAfk();

Veja Anti-AFK.

Desconectar

ts
room.disconnect();   // idempotente: limpa timers, listeners internos e estado

Limites de taxa

O servidor limita a frequência de vários comandos (troca de equipa, lock, mudança de modo, contagem decrescente). Quando isso acontece você recebe um status-message com um código como rate_limit_tl. A biblioteca já evita rajadas onde é possível (por exemplo, chamar lockTeams() repetidas vezes envia o pacote uma única vez), mas se você dispara comandos num ciclo, espace as chamadas.