Em uma estrutura de rede com proxy, existe um detalhe técnico frequentemente ignorado: sem configuração adicional, o servidor de jogo por trás do proxy enxerga apenas o IP do próprio proxy, não o IP real de cada jogador conectado. O Proxy Protocol resolve exatamente isso.
Por que esse problema acontece
Como já foi coberto em outro artigo deste blog sobre proxies (BungeeCord, Waterfall, Velocity), todas as conexões de jogadores passam primeiro pelo proxy antes de chegar ao servidor de jogo real. Do ponto de vista do servidor de jogo, tecnicamente, toda conexão parece vir do próprio proxy — o IP original do jogador se perde nesse processo, a menos que uma solução específica seja implementada.
Por que isso importa na prática
- Sistemas de banimento por IP deixam de funcionar corretamente, já que todos os jogadores parecem vir do mesmo endereço (o do proxy)
- Plugins de detecção de comportamento suspeito baseados em geolocalização ou análise de IP perdem precisão
- Estatísticas e logs ficam menos úteis para investigação, sem o IP real de origem de cada ação registrada
O que é o Proxy Protocol
Proxy Protocol é um padrão técnico que permite que o proxy transmita o IP real do jogador junto com a conexão, de forma que o servidor de jogo por trás dele consiga identificar corretamente quem realmente está se conectando, mesmo com o tráfego passando por um intermediário.
Precisa ser ativado nos dois lados: tanto o proxy quanto o servidor de jogo por trás dele precisam ter essa configuração ativada e compatível entre si. Ativar apenas de um lado, ou com configuração incompatível, geralmente resulta em erro de conexão em vez de simplesmente ignorar a informação extra.
Onde configurar
Servidores Paper (e forks) têm suporte nativo a essa configuração, geralmente através de uma opção específica no arquivo de configuração do próprio Paper. Do lado do proxy (Velocity, por exemplo), existe uma configuração equivalente que precisa ser ativada de forma compatível.
Riscos de configurar incorretamente
Se o Proxy Protocol for ativado no servidor de jogo, mas o proxy não estiver enviando essa informação corretamente (ou se alguém tentar se conectar diretamente ao servidor de jogo, contornando o proxy, tema já coberto em outro artigo deste blog sobre whitelist de IP interna), a conexão pode falhar completamente ou apresentar comportamento inesperado.
Testando se está funcionando
Depois de configurar, verificar os logs do servidor de jogo para confirmar se o IP registrado para cada jogador corresponde ao IP real dele (não ao IP do proxy) é a forma mais direta de confirmar que a configuração está funcionando como esperado.
Isso é necessário em toda estrutura com proxy?
Não é estritamente obrigatório para o funcionamento básico da rede, mas é fortemente recomendado sempre que sistemas de banimento por IP, análise de comportamento, ou qualquer funcionalidade que dependa do IP real do jogador forem relevantes para a administração do seu servidor.