Devlog #10 · Primeira conexão viva
Esse foi o marco que muda tudo: o cliente UE5 real se conectou ao servidor e entrou no mundo.
Não um cliente de teste sintético. Não loopback. Um cliente Unreal Engine rodando de verdade, autenticando no auth server, completando o handshake UDP e recebendo entidades do mundo em frames binários reais.
Protocolo v4
O protocolo chegou à versão 4 com mensagens binárias definidas: MSG_SPAWN_BASELINE (entidade entrou na visão pela primeira vez), MSG_DELTA (posição ou estado mudou), MSG_DESPAWN (entidade saiu do campo de visão). O servidor empacota entidades visíveis nesses frames. Um cliente v3 não consegue decodificar v4 — a versão é verificada no handshake.
O loop vivo
O cliente enviou movimentos WASD via MSG_INPUT_MOVEMENT. O servidor aplicou movimento autoritativo e ecoou a posição canônica de volta. Do lado do cliente: entidades aparecendo na tela, posição respondendo ao input.
Login → conexão → spawn → movimento → eco de posição canônica.
Esse é o loop mínimo de um MMO funcionando de ponta a ponta. A partir daqui, tudo que entra é gameplay construído em cima de uma base provada.
Bench / validação
— Soak Phase 9: 1h / 100k entidades / protocolo v4 / movimento e eco de posição
— replication_framing_errors_total = 0
— position_echo_sent_total = 153.702 ecos enviados no soak
— Verificação humana: cliente UE5 real conectando, entidades visíveis, WASD respondendo
Próximo: controladores adaptativos — o servidor que aprende a se proteger sob carga.