Otimização de Servidores FiveM: O Manual Definitivo para 2025
Público: Proprietários de servidores e administradores de sistemas experientes que desejam levar uma instância de produção FiveM ao seu limite, mantendo a estabilidade e o tratamento de dados em conformidade com o GDPR.
Meta: Reduza concretamente o tempo de quadro, reduza a latência de junção e libere ciclos de CPU sem comprometer a jogabilidade.
Comece – Meça antes de ajustar
- Faça um backup primeiro. Crie uma cópia externa de todo o seu
dados do servidorpasta e banco de dados. (veja como fazer backup) - Estabelecer uma execução de referência:
# No console resmon 1 # métricas ao vivo – veja a Seção 1 profilemode server sv_maxclients 32 # corresponde à população atual para números comparáveis - Registro:
- Tempo de tique-taque (EM)
- Uso médio do resmon por recurso
- Tempo de entrada para geração (cronômetro)
Por que? Otimização sem uma linha de base é mera suposição. Armazene esses números para que você possa reverter qualquer alteração que piore as coisas.
Usando resmon Como um profissional (guia detalhado)

| Comando | O que ele faz | Alvo típico |
|---|---|---|
resposta 1 | Inicia o monitor de recursos ao vivo. | Servidor de desenvolvimento. |
resmon_log | Despeja médias para um CSV. | Amostragem de produção. |
Regras práticas
- ≤ 0,40 ms uso ocioso → manter.
- 0,40 – 1,00 ms → otimizar em breve.
- > 1,00 ms → refatorar ou desabilitar.
Se CPU % picos coincidem com ~33 FPS quedas de FPS do servidor, o gargalo é seu roteiro, não hardware host.
Ajustes no nível de configuração
2.1 servidor.cfg Essenciais
# Networking onesync on # mandatory for >32 slots sv_maxclients 64 # raise ONLY if tick time < 6 ms after optimisation sv_maxrate 65000 # bytes/s per client (≈ 520 kbps) sv_minrate 25000 sv_packetLoss 0.05 # disconnect if 5 % loss sustained # Performance set sv_enhancedDriver true # newer FXServer builds only sets gamename "gta5" # avoid legacy fallbacks
Nota de incerteza: sv_enhancedDriver é experimental em artefatos < 6368; verifique o changelog.
2.2 SO e Host
- Ubuntu 22.04 LTS ou Windows Server 2022
- Desabilite os estados C (BIOS) e defina Desempenho governador
- Vincular Servidor FX para núcleos de alto desempenho:
conjunto de tarefas-c 2-7 fxserver +exec server.cfg
3 · Otimização em nível de recursos
3.1 Refatorar Loops Caros
-- ⚠️ Antipadrão (executa a cada quadro) Citizen.CreateThread(function() while true do -- NÃO wait local p = PlayerPedId() SetPedInfiniteAmmoClip(p, true) end end) -- ✅ Bom: cache + delay local p = PlayerPedId() Citizen.CreateThread(function() while true do SetPedInfiniteAmmoClip(p, true) Wait(1000) -- 1 seg end end)
3.2 Alavancar o Otimizador de script FiveM (IA) → experimente
Cole seu script Lua – o modelo sinaliza loops infinitos estreitos, nativos redundantes e oferece sugestões de patches automáticos. Sempre revise a saída do diff linha por linha antes de implantar.
3.3 Desabilitar recursos não utilizados
garantir apenas o que você realmente precisa. Comente scripts legados:
# garante old_vehshop
3.4 LOD dinâmico / Orçamento de streaming
Use o r_drivepad cvar para diminuir a distância de renderização para tráfego de IA quando FPS < 50 nos clientes.
Mais conselhos sobre ativos na Seção 4.
4 · Otimização em nível de ativos
| Tipo de ativo | Limite rígido | Ferramentas |
.YTD textura | ≤ 16 MiB | Kit de ferramentas de textura, exportação GIMP DDS |
| Contagem de polígonos de adereços | ≤ 50 mil | Decimate do Blender + LODs automáticos |
.awc áudio | 48000 Hz mono | Reamostragem do Audacity |
Os dados transmitidos residem na RAM. Mantenha fluxo/ sob 1 GB travamentos totais ou de risco de falta de memória do cliente.
Leitura adicional → Otimize os tempos de carregamento.
5 · Banco de dados e E/S
- Usar mysql-async ou oxmysql; evitar síncrono
MySQL.Sync.fetchAlldentro de carrapatos. - Adicione índices em colunas frequentemente consultadas em
SELECIONE ... ONDE ...cláusulas. - Armazene em cache dados imutáveis (por exemplo, nomes de veículos) em tabelas Lua, não em ocorrências de banco de dados.
6 · Monitoramento contínuo e guardas de regressão
- Automatizado noturno
resmon_log 120– canalizar CSV para Grafana. - Gancho de pré-commit do Git invocando o AI Script Optimizer.
- Teste de carga cada PR com ≥ contagem de slots atual dupla.
Ponteiros adicionais do lado do servidor → Aumentando o desempenho: otimizando scripts.
7 · Quando o hardware é a parede
- Ryzen 7 7800X3D > Intel i9‑14900K para latência de thread único.
- 64 GB DDR5 6000 CL30 para minimizar falhas de página.
- SSD NVMe Gen 4 > 5000 MB/s para streaming rápido de mapas.
Host com pelo menos 1 Gbps para cima/para baixo; desabilitar planos de vCPU compartilhados.
8 · RGPD e Privacidade
Fazer não registrar IPs por mais tempo do que o operacionalmente necessário (Considerando 39). Identificadores de hash (SHA-256) se você precisar de análises.
Garantir que todos os scripts analíticos de terceiros definidos SameSite=Lax e limpar ao sair.
9 · Lista de verificação (para sua equipe administrativa)
Então, o que fazer? Em resumo:
| # | Tarefa | Ação concreta / comando | Critérios de aprovação |
|---|---|---|---|
| Pré-voo | |||
| 1 | Instantâneo e tag | tar -czf backup_$(data +%F).tgz ~/fivem/server-data && mysqldump -u root -p --single-transaction fivem > db.sqlMarcar Git: tag git prod-$(data +%F) | Arquivos armazenados fora do local e Git CI verde |
| 2 | Paridade de artefatos | Documento FXServer construído testado em preparação (por exemplo, b6362) | Mesmo número de compilação pronto para produção |
| 3 | Janela de manutenção | Informar os jogadores, definir sv_login_token "" ou habilitar o txAdmin modo de manutenção | Nenhuma nova adesão; jogadores atuais são avisados |
| Implantar | |||
| 4 | Pare os serviços de forma limpa | txadmin parar ou Ctrl-C no console; aguarde “Salvando mapa…” | Nenhum processo órfão do FXServer |
| 5 | Atualizar binários | Substituir Servidor FX & alpino do artefato zip validado | ./FXServer +definir versão mostra nova construção |
| 6 | Aplicar otimizado servidor.cfg | Copiar o arquivo revisado; executar +exec server.cfg +set comlint 1 | Nenhum erro “cvar desconhecido” |
| 7 | Recursos de corte | Mover scripts não utilizados para recursos desabilitados/; confirme com garantir lista | resmon mostra entradas removidas |
| 8 | Limpar e reconstruir o cache | rm -rf cache/* então save_gta_cache meumapa se mapas grandes | Pasta de cache preenchida novamente |
| 9 | Migração de banco de dados | Correr ALTERAR/CRIAR ÍNDICE scripts; teste com EXPLICAR | Nenhuma varredura de tabela completa no plano de consulta |
| 10 | Início vinculado aos núcleos P | taskset -c 2-7 ./FXServer +exec server.cfg | Inicialização do servidor; afinidade da CPU correta |
| Verificação (10 min) | |||
| 11 | Métricas ao vivo | resposta 1 no console | Nenhum recurso > 1 ms de inatividade de longa duração |
| 12 | Amostra automatizada | resmon_log 600 → CSV | Tique médio ≤ 6 ms; 99º ≤ 8 ms |
| 13 | Latência de junção | Cronômetro de junção para geração com cache novo | Tempo ≤ linha de base – 10 % |
| 14 | Teste de fumaça funcional | Teletransporte, compre item, dirija veículo, salve garagem | Os caminhos principais do jogo são bem-sucedidos |
| Guardas pós-implantação | |||
| 15 | Feed Grafana | Cron: `resmon_log 120 | curl -XPOST …/influxo` |
| 16 | Gancho de regressão CI | Pré-commit executa AI Script Optimizer diff; blocos > +0,20 ms novo custo | O gancho sai do 0 somente no verde |
| 17 | Rotação de log e hashing | Cron: 24 h find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {} | IPs retidos ≤ 24 h (Considerando 39 do RGPD) gdpr-info.eu |
| 18 | Verificação de backup | Restaurar o último instantâneo para o preparo; inicializar o servidor de teste | Botas de instantâneo; dados intactos |
| 19 | Notas de lançamento | Publicar changelog e janela de tempo de atividade no Discord; arquivar em /docs/releases.md | Partes interessadas reconhecidas |
| 20 | Plano de reversão pronto | git checkout produto- e copiar o manifesto de backup anterior | Rollback testado em preparação |
Antes de entrar no ar, congele os binários e a configuração, faça um backup limpo, implante com afinidade de CPU e execute novamente resmon até que cada recurso fique < 1 ms e mantenha os logs de IP por no máximo 24 horas para permanecer dentro da limitação de armazenamento do GDPR.
Conclusão
Estabeleça uma linha de base numérica, refatore scripts pesados com resmon e o otimizador de IA, ativos finos, ajuste servidor.cfg, e itere até que o tempo de tique fique abaixo de 6 ms na carga de pico.
Fontes
- Como otimizar o desempenho do servidor FiveM
- Otimize os tempos de carregamento
- Aumentando o desempenho – otimizando scripts
- Otimizador de script FiveM (ferramenta de IA)
- Como usar o resmon






