Saltar para o conteúdo

Cloud & Infraestrutura

As bases de servidores de jogo que se compram vêm abertas

· 5 min de leitura

Comprar uma base pronta poupa meses. Também herda os problemas de quem a montou — e, às vezes, de quem lha vendeu antes.

O padrão que se repete

  • Ficheiros ofuscados que ninguém consegue ler, precisamente nas zonas que mexem em dinheiro, inventário e permissões.
  • Webhooks que enviam dados dos jogadores para servidores que não são os teus, montados em tempo de execução para não aparecerem numa procura de texto.
  • Eventos de rede que aceitam o que o jogador enviar: a quantidade de um item, o preço de uma peça, o número da casa em que entra.
  • Identificadores de administrador de terceiros deixados no código, que dão acesso total a alguém que já nem faz parte do projeto.

O erro de fundo é sempre o mesmo

O servidor valida tudo corretamente — e depois acredita na viagem de volta do cliente. Verifica o pagamento, e a seguir aceita que o jogador diga qual é a peça a instalar. Verifica a permissão, e a seguir aceita que o jogador diga em que casa entra.

A correção é sempre a mesma frase: o cliente diz o que quer, o servidor decide o que acontece.

O que fazer antes de pôr online

  • Procurar chamadas de rede que saiam para domínios que não controlas — incluindo as construídas por concatenação.
  • Listar todos os eventos que o cliente pode disparar e perguntar, um a um: o que acontece se o valor for outro?
  • Compilar todos os ficheiros, não só os do servidor. Os erros do lado do cliente nunca aparecem no registo do servidor.
  • Trocar todas as chaves e identificadores que vieram na base. Vieram para toda a gente que a comprou.