Painel web conectado ao banco do servidor
Um site com ranking dos mais ricos, perfil dos personagens, lista de facções e status do servidor aumenta o engajamento da comunidade. Com o banco em MySQL, isso fica bem mais fácil.
O que mostrar
- Status: online/offline, jogadores conectados;
- Rankings: dinheiro, nível, horas jogadas, corridas vencidas;
- Perfis: personagem, facção, conquistas;
- Facções e empresas: membros, patrimônio;
- Punições públicas: transparência para a comunidade (sem dados pessoais);
- Regras e tutoriais.
Arquitetura
Site/painel ──(leitura)──> Banco MySQL <──(leitura/escrita)── Servidor MTA
O site lê os dados que o servidor grava. Para ações que precisam mudar o jogo (comprar VIP, trocar senha), o ideal é que o site grave em uma fila (tabela de pedidos) que o servidor processa, ou chame uma função do servidor via HTTP com autenticação.
Segurança em primeiro lugar
- Usuário de banco separado para o site, com permissão somente leitura nas tabelas necessárias;
- Nunca exponha a tabela de senhas; nunca mostre serial, IP ou e-mail de jogadores;
- Consultas com parâmetros também no site (SQL injection existe em qualquer linguagem);
- HTTPS no site;
- Login de staff no painel com senha forte e 2FA.
Se o seu banco fica na mesma hospedagem do servidor de jogo, verifique com o suporte se o acesso externo ao MySQL é permitido e de quais endereços.
Status do servidor
Para mostrar jogadores online, o site pode consultar a lista de servidores do MTA (ASE) ou ler uma tabela que o servidor atualiza periodicamente (ex.: a cada minuto, grava quantos jogadores estão online).
Evite sobrecarregar o banco
- Cache no site: rankings não precisam ser recalculados a cada visita — atualize a cada alguns minutos;
- Índices nas colunas ordenadas (dinheiro, nível);
- LIMIT nas listas.
Resources com páginas HTTP
O MTA também permite que resources sirvam páginas pelo servidor HTTP interno (é o caso do webadmin). Para sites públicos com mais tráfego, porém, é melhor usar uma hospedagem web separada.
Hospede seu servidor com a VittHost
No MTASA-BR da VittHost, você tem 1 banco MySQL incluso para alimentar seu site, e a VittHost também oferece hospedagem de sites. Servidores no Brasil, painel Pterodactyl, proteção DDoS, downloads acelerados por nginx dedicado e teste grátis de 3 dias.