Servidores de Jogos

Carregando mapas com o Streamer sem pesar o servidor

Carregando mapas com o Streamer sem pesar o servidor

Com dezenas de mapas, o OnGameModeInit vira uma lista gigante de CreateDynamicObject. Organizar bem o carregamento facilita a manutenção e evita desperdício.

Um arquivo por mapa

gamemodes/
└── mapas/
    ├── prefeitura.inc
    ├── delegacia_ls.inc
    ├── pista_stunt_aeroporto.inc
    └── interior_casa_media.inc

Cada arquivo tem uma função:

stock Mapa_Prefeitura()
{
    CreateDynamicObject(19447, 1481.0, -1772.0, 18.8, 0.0, 0.0, 0.0);
    // ...
}

E no início do gamemode:

public OnGameModeInit()
{
    Mapa_Prefeitura();
    Mapa_DelegaciaLS();
    // ...
    return 1;
}

Mundos e interiores

Objetos de interiores devem ser criados no interior e no virtual world certos:

CreateDynamicObject(modelo, x, y, z, rx, ry, rz, .worldid = 10, .interiorid = 1);

Assim, o Streamer nem considera esses objetos para quem está na rua.

Distância de stream

O parâmetro de distância define a partir de quantos metros o objeto aparece:

  • Objetos pequenos (mesas, cadeiras): distâncias curtas;
  • Estruturas grandes (prédios, pontes): distâncias maiores;
  • Padrão muito alto para tudo = mais objetos visíveis = mais carga para o cliente.

Materiais e textos

SetDynamicObjectMaterial e SetDynamicObjectMaterialText deixam mapas mais bonitos, mas cada material é mais informação para enviar. Use com critério.

Carregamento sob demanda

Mapas de eventos e minigames não precisam existir o tempo todo. Crie os objetos quando o evento começa e destrua quando termina (DestroyDynamicObject, guardando os IDs).

Mapas em arquivos

Alguns servidores carregam mapas de arquivos de texto ou do banco, sem recompilar. É mais flexível, mas exige um carregador bem testado e validação dos dados.

Verifique o total

Acompanhe a quantidade de objetos com as funções de contagem do Streamer. Um número que só cresce indica objetos sendo criados sem ser destruídos.

Hospede seu servidor com a VittHost

Nos planos OPENMP-BR da VittHost, mapas grandes 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.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS