Logs do servidor: o que registrar e como analisar
"Ele me roubou!", "O admin me baniu sem motivo!", "Sumiu meu carro!". Sem logs, essas denúncias viram a palavra de um contra a do outro. Com logs, viram fatos.
O que registrar
Conexões
- Entrada e saída, IP, conta, motivo da saída (timeout, kick, normal).
Chat e comandos
- Mensagens (públicas e privadas, conforme sua política de privacidade);
- Comandos digitados, com parâmetros.
Ações de staff
- Kick, ban, prisão, teleportes, espiar;
- Dinheiro, itens ou veículos dados;
- Alterações de propriedades e níveis.
Economia
- Transferências entre jogadores;
- Compras e vendas de casas, veículos, empresas;
- Grandes variações de dinheiro.
Combate
- Mortes (quem matou, arma, distância).
Segurança
- Tentativas de login RCON e de contas;
- Alertas do anti-cheat.
Arquivo ou banco?
- Arquivo de texto: simples, mas difícil de pesquisar em grande volume;
- MySQL: permite buscas ("todas as transferências da conta X na última semana"). Mais trabalho para montar, mas vale muito a pena para economia e staff.
Muitos servidores usam os dois: log do console em arquivo e logs de negócio no banco.
Não trave o servidor
- Use
mysql_tquery(assíncrono); - Não registre coisas triviais em alta frequência (posição a cada segundo);
- Agrupe inserções quando possível.
Retenção e privacidade
- Defina por quanto tempo guardar cada tipo de log;
- Logs contêm IPs e mensagens privadas. Restrinja o acesso à gerência;
- Informe nas regras e na política de privacidade o que é registrado. Com a LGPD, vale buscar orientação sobre o tratamento de dados pessoais (este post não substitui orientação jurídica).
Analisando
- Crie comandos ou um painel web para a staff consultar logs;
- Busque padrões: dinheiro circulando entre as mesmas contas, admin dando itens a amigos;
- Use os logs para investigar dupes e bugs.
Hospede seu servidor com a VittHost
Nos planos OPENMP-BR da VittHost, você acessa os logs pelo painel Pterodactyl e grava seus logs de negócio no MySQL incluso. Servidores no Brasil, proteção DDoS, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.