Configurando o Streamer para o máximo de desempenho
O Streamer funciona bem "de fábrica", mas servidores com muitos objetos e jogadores se beneficiam de ajustes. As funções abaixo existem nas versões recentes do plugin. Confira a documentação da versão que você usa.
Limite de itens visíveis
Streamer_SetVisibleItems define quantos itens de cada tipo o jogador vê ao mesmo tempo:
Streamer_SetVisibleItems(STREAMER_TYPE_OBJECT, 900);
- Mais itens = mapas mais completos, mas mais carga para o cliente;
- Menos itens = mais leve, mas objetos distantes podem sumir.
Encontre o equilíbrio testando nas áreas mais densas do seu mapa. O limite real também depende do cliente.
Distância de stream por objeto
Ao criar o objeto, defina a distância conforme o tamanho:
// objeto pequeno: aparece a até 80 m
CreateDynamicObject(modelo, x, y, z, rx, ry, rz, .streamdistance = 80.0);
Objetos pequenos com distância curta liberam "vagas" para o que importa.
Frequência de atualização
Streamer_TickRate controla a cada quantos ticks do servidor o streamer atualiza os itens de cada jogador. Valores menores atualizam com mais frequência (mais preciso, mais CPU); valores maiores economizam CPU, mas objetos podem demorar um pouco a aparecer.
Tamanho das células
O Streamer divide o mapa em células para saber rapidamente o que está perto de cada jogador (Streamer_SetCellSize e Streamer_SetCellDistance). Os padrões atendem a maioria dos casos. Mexa só se tiver medido um problema.
Atualização manual após teleportes
Depois de teleportar um jogador para um interior mapeado, os objetos podem ainda não ter carregado e o jogador cai. Force a atualização:
Streamer_UpdateEx(playerid, x, y, z, mundo, interior);
Ou congele o jogador por um instante (TogglePlayerControllable) enquanto carrega.
Mundos e interiores
Crie objetos de interiores com worldid e interiorid específicos. O Streamer ignora esses objetos para quem está em outro lugar, o que reduz trabalho para todos.
Limpeza
Destrua objetos de eventos e sistemas temporários quando não forem mais necessários. Acompanhe o total com Streamer_CountItems.
Hospede seu servidor com a VittHost
Nos planos OPENMP-BR da VittHost, mapas grandes com Streamer rodam em servidores no Brasil com painel Pterodactyl, proteção DDoS, MySQL incluso, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.