Servidores de Jogos

Compilando scripts Lua com luac para proteger seu código

Compilando scripts Lua com luac para proteger seu código

Scripts de cliente são enviados aos jogadores — e, sem proteção, qualquer um pode copiar o trabalho de meses do seu time. Compilar os scripts é a forma mais comum de dificultar isso.

O que é compilar

Compilar transforma o código Lua legível em bytecode: um formato que o MTA executa normalmente, mas que é muito mais difícil de ler e modificar.

O MTA oferece um compilador oficial (luac.mtasa.com), que também pode aplicar níveis de ofuscação, tornando a descompilação ainda mais difícil.

Como usar

  1. Acesse o compilador oficial do MTA;
  2. Envie o arquivo .lua;
  3. Escolha o nível de ofuscação;
  4. Baixe o arquivo compilado (geralmente com extensão .luac);
  5. Atualize o meta.xml para apontar para o arquivo compilado:
<script src="client.luac" type="client" cache="false" />

O compilador também pode ser usado por linha de comando/API, o que permite automatizar a compilação em um script de build.

cache="false"

Com cache="false", o script de cliente não é salvo no disco do jogador — ele fica apenas na memória enquanto o jogador está conectado. Combinado com a compilação, dificulta bastante a cópia.

O que a compilação NÃO faz

  • Não torna o código impossível de copiar — dificulta, mas pessoas determinadas podem tentar;
  • Não protege segredos: nunca coloque senhas, tokens ou chaves em scripts de cliente, compilados ou não;
  • Não substitui validação no servidor: o cliente continua não sendo confiável.

E os scripts de servidor?

Scripts de servidor não são enviados aos jogadores. Compilar só faz sentido se você entrega o resource para terceiros (venda de resources, por exemplo) ou quer proteger contra acesso indevido aos arquivos.

Boas práticas

  • Mantenha sempre o código-fonte original (em repositório Git privado) — o compilado não serve para editar;
  • Compile apenas na hora do deploy;
  • Mantenha versões do compilado e do fonte sincronizadas;
  • Teste o resource compilado antes de colocar em produção.

Hospede seu servidor com a VittHost

No MTASA-BR da VittHost, você envia seus scripts compilados pelo painel Pterodactyl, e eles chegam aos jogadores rapidamente com downloads acelerados por nginx dedicado. Servidores no Brasil, proteção DDoS, MySQL incluso e teste grátis de 3 dias.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS