Quantidade de veículos e objetos: impacto no desempenho
Servidores de roleplay acumulam veículos com facilidade: carros dos jogadores, de empregos, de facções, spawns da prefeitura. Cada elemento tem um custo — e muitos juntos pesam.
Por que pesam
- Sincronização: veículos e peds em movimento geram tráfego para os jogadores próximos;
- Streaming: o cliente carrega e descarrega elementos conforme o jogador se move;
- Memória e CPU no servidor e no cliente;
- Física: colisões entre muitos elementos.
Veículos
Estratégias
- Spawn sob demanda: o carro do jogador só existe no mundo quando ele o retira da garagem;
- Guardar ao sair: ao desconectar, o veículo é salvo e removido (ou removido após alguns minutos);
- Limpeza periódica: veículos abandonados longe de qualquer jogador por muito tempo voltam para a garagem;
- Limite por jogador de veículos simultâneos no mundo;
- Veículos de emprego criados ao iniciar o serviço e destruídos ao terminar.
Objetos
- Prefira objetos nativos e mapas enxutos;
- Use dimensões para interiores e áreas especiais;
- Carregue mapas de eventos só durante o evento.
Peds (NPCs)
- Crie NPCs apenas onde há jogadores por perto;
- Evite IA complexa em muitos peds simultâneos.
Marcadores, blips e colshapes
Individualmente leves, mas somam em servidores grandes (um marcador por casa, por empresa, por emprego). Crie blips apenas para o que é realmente útil no radar.
Medindo
- Conte os elementos por tipo:
outputServerLog("Veículos: " .. #getElementsByType("vehicle"))
outputServerLog("Objetos: " .. #getElementsByType("object"))
outputServerLog("Peds: " .. #getElementsByType("ped"))
- Compare com os horários de lag;
- Use o performancebrowser.
Regra geral
Se ninguém está usando, não precisa existir no mundo.
Hospede seu servidor com a VittHost
No MTASA-BR da VittHost, seu servidor otimizado roda com servidores no Brasil, proteção DDoS, painel Pterodactyl, MySQL incluso para guardar veículos e propriedades, downloads acelerados por nginx dedicado e teste grátis de 3 dias.