Pular para o conteúdo

Range.network

Módulo Range.network da Anastacio Engine. Também acessível como bge.network.

Estes itens existem na engine mas não estavam na documentação da Range. Os marcados novo na Anastacio foram adicionados pela Anastacio Engine.

novo na Anastacio função

Chama uma RPC do jogo registrada com @rpc. Com obj, vira chamada do objeto (alvo 'owner' e owner_only usam o dono dele). False quando recusada aqui (sem sessão, alvo errado…).

Retorna: bool

novo na Anastacio função

Só o servidor: troca a cena da sessão durante a partida. Os clientes carregam a mesma cena e recebem tudo de novo quando ela termina de carregar.

novo na Anastacio função

Só o servidor: remove um objeto replicado em todos os jogadores.

Retorna: bool

novo na Anastacio função

Sai da sessão. No host, fecha a sala para todos.

novo na Anastacio função

Procura salas na rede local sem travar o jogo. Chame cerca de uma vez por segundo; cada item é um dict com os dados da sala.

Retorna: list

host(port=0, max_players=0, room_name=‘’, password=‘’, dedicated=False, websocket_port=-1, transport=‘enet’)

Seção intitulada “host(port=0, max_players=0, room_name=‘’, password=‘’, dedicated=False, websocket_port=-1, transport=‘enet’)”

novo na Anastacio função

Abre um servidor (sala). Valores zero ou vazios usam o painel Network da cena. dedicated=True não cria jogador local; websocket_port aceita clientes Web; transport é 'enet' (LAN/IP) ou 'steam'.

Retorna: bool

novo na Anastacio função

Só o servidor: input do cliente aplicado neste tick (0 = host), ou None.

Retorna: bytes

novo na Anastacio função

Só o servidor: como os inputs do cliente chegaram (atrasados, repetidos, faltando…), ou None.

Retorna: dict

novo na Anastacio função

True se este jogador é o dono do objeto.

Retorna: bool

join(address, password=‘’, transport=‘enet’)

Seção intitulada “join(address, password=‘’, transport=‘enet’)”

novo na Anastacio função

Entra numa sala. address aceita 'host', 'host:porta' ou '[ipv6]:porta'. O resultado chega por on_connect ou on_reject.

Retorna: bool

novo na Anastacio função

Id de rede do objeto; 0 quando ele não é replicado.

Retorna: int

novo na Anastacio função

Registra fn(client_id, text), chamada a cada mensagem do chat do lobby.

novo na Anastacio função

Registra fn(client_id), chamada ao conectar (cliente) ou quando a sala abre (host, com 0).

novo na Anastacio função

Registra fn(reason, detail), chamada ao sair da sessão. reason é uma constante DISCONNECT_* (1 a 5).

novo na Anastacio função

Registra fn(), chamada quando o host volta a sessão para o lobby.

novo na Anastacio função

Só o servidor: registra fn(client_id, name), chamada quando um jogador entra.

novo na Anastacio função

Só o servidor: registra fn(client_id), chamada quando um jogador sai.

novo na Anastacio função

Registra fn(reason, detail), chamada quando o servidor recusa a entrada. reason é uma constante REJECT_* (1 a 6).

novo na Anastacio função

Registra fn(scene_name), chamada quando a sessão trocou de cena e ela terminou de carregar (servidor e clientes).

novo na Anastacio função

Registra fn(), chamada quando o host começa a partida.

novo na Anastacio função

Id do cliente dono do objeto, ou None se ele não é replicado.

Retorna: int

novo na Anastacio função

fn(obj, input) move o objeto por um tick com o input do dono (bytes): no servidor a cada tick e no cliente dono à frente do servidor (predição, corrigida pelos snapshots). Registre em todos os jogadores; None desliga.

Retorna: bool

novo na Anastacio função

Só no cliente: estatísticas da predição do objeto (correções etc.), ou None.

Retorna: dict

raycast_past(origin, direction, distance=100.0, client=-1, ignore=None, max_rewind_ms=400)

Seção intitulada “raycast_past(origin, direction, distance=100.0, client=-1, ignore=None, max_rewind_ms=400)”

novo na Anastacio função

Só o servidor: raio contra as hitboxes como o cliente as via (compensação de lag, até 1 s atrás); client=-1 usa o momento atual. Retorna (obj, ponto, distância) ou None.

Retorna: tuple

replicate(obj, props, transform=True, velocity=False, angular_velocity=False, always_relevant=False, priority=1.0, quantize=None)

Seção intitulada “replicate(obj, props, transform=True, velocity=False, angular_velocity=False, always_relevant=False, priority=1.0, quantize=None)”

novo na Anastacio função

Faz o mesmo que a caixa Replicate: sincroniza o objeto pela rede. Chame antes de host()/join(), na mesma ordem em todos os jogadores. props lista as propriedades de jogo enviadas (pode ser vazia); quantize={nome: (min, max, bits)} manda propriedades Float com menos bits. Retorna o id de rede.

Retorna: int

novo na Anastacio função

Só o host: encerra a partida, zera o “pronto” dos jogadores e avisa os clientes (on_lobby). Trocar de cena fica por conta do jogo.

Retorna: bool

novo na Anastacio função

Envia uma mensagem no chat do lobby, até 200 bytes em UTF-8. Recebida por on_chat.

Retorna: bool

novo na Anastacio função

Só o servidor: centro (objeto ou posição) e raio de relevância de um cliente; objetos fora do raio não são enviados. Raio 0 envia tudo. Sem centro, usa o primeiro objeto do cliente. Tudo None volta ao Relevance Radius da cena.

novo na Anastacio função

Só o servidor: esfera (ou cápsula no Z local) guardada por 1 s de histórico para raycast_past(). Raio 0 remove.

Retorna: bool

novo na Anastacio função

Input do jogador local (bytes, até 57), enviado a cada tick até mudar, junto com o instante em que os objetos remotos estavam sendo desenhados (compensação de lag). Chame todo frame.

novo na Anastacio função

Só o servidor: passa o objeto para outro dono (id do cliente; 0 = host).

Retorna: bool

novo na Anastacio função

No lobby, marca este jogador como pronto (True) ou não (False).

set_simulation(latency_ms, jitter_ms, loss_percent)

Seção intitulada “set_simulation(latency_ms, jitter_ms, loss_percent)”

novo na Anastacio função

Simula uma rede ruim (atraso, variação e perda de pacotes) no próximo host()/join(). Útil para testar.

spawn(prototype, owner=0, position=None, orientation=None)

Seção intitulada “spawn(prototype, owner=0, position=None, orientation=None)”

novo na Anastacio função

Só o servidor: cria uma cópia do objeto inativo prototype (nome) e a replica para todos. owner é o id do cliente dono (0 = host).

Retorna: KX_GameObject

novo na Anastacio função

Só o host: começa a partida. Retorna False se algum jogador não está pronto. Os clientes recebem on_start.

Retorna: bool

novo na Anastacio função

No cliente: o instante (tick, alpha) em que os objetos remotos são desenhados. No servidor: o instante que o cliente mandou com o último input. None sem sessão.

Retorna: tuple