Organizando um projeto grande de gamemode
Um gamemode de roleplay completo pode ter dezenas de milhares de linhas de código e vários desenvolvedores. Sem organização, cada atualização vira um risco. Veja como estruturar o projeto.
1. Arquitetura modular
Divida o gamemode em resources com responsabilidades claras:
[core] banco de dados, contas, utilitários, configurações
[economia] banco, lojas, salários
[jogador] inventário, fome/sede, documentos
[empregos] um resource por emprego
[faccoes] polícia, médicos, gangues
[veiculos] concessionária, garagem, combustível
[interface] login, HUD, celular, notificações
[admin] ferramentas de staff, logs
Os resources conversam por exports e eventos.
2. Padrões de código
Combine com a equipe:
- Nomes de resources com prefixo (
rp_); - Eventos com prefixo do resource (
rp_banco:transferir); - Idioma dos nomes (português ou inglês — mas um só);
- Tudo
local, exceto exports; - Configurações em arquivos
config.lua(shared), não espalhadas pelo código.
3. Git
- Um repositório privado com todos os resources;
- Branches para funcionalidades novas;
- Revisão de código antes de ir para produção;
- Nada de senhas no repositório (use arquivos de configuração locais ignorados pelo Git).
4. Ambientes
| Ambiente | Para quê |
|---|---|
| Local | Desenvolvimento de cada programador |
| Teste | Validação da equipe, com dados de teste |
| Produção | Onde os jogadores jogam |
Nunca teste direto em produção.
5. Banco de dados versionado
Mantenha os scripts de criação e alteração de tabelas (migrações) no repositório, em ordem. Assim, qualquer ambiente pode ser recriado.
6. Logs de tudo que importa
Dinheiro, itens, punições, ações de staff: registre em tabelas de log. Ajuda a investigar bugs, exploits e abusos.
7. Documentação
READMEem cada resource: o que faz, exports, eventos, dependências;- Um documento geral de arquitetura;
- Guia de "como subir o ambiente local".
8. Deploy organizado
- Lista de mudanças (changelog) em cada atualização;
- Backup antes do deploy;
- Horário de pouco movimento;
- Plano para voltar atrás.
Hospede seu servidor com a VittHost
No MTASA-BR da VittHost, você mantém produção e testes organizados, com SFTP e console no painel Pterodactyl, MySQL incluso, servidores no Brasil, proteção DDoS, downloads acelerados por nginx dedicado e teste grátis de 3 dias.