Economize 20% hoje mesmo Use o código WELCOME ao finalizar a compra. BEM-VINDO

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

  1. Faça um backup primeiro. Crie uma cópia externa de todo o seu dados do servidor pasta e banco de dados. (veja como fazer backup)
  2. 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
  3. 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)

Captura de tela do console FiveM Resmon
ComandoO que ele fazAlvo típico
resposta 1Inicia o monitor de recursos ao vivo.Servidor de desenvolvimento.
resmon_logDespeja 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 ativoLimite rígidoFerramentas
.YTD textura≤ 16 MiBKit de ferramentas de textura, exportação GIMP DDS
Contagem de polígonos de adereços≤ 50 milDecimate do Blender + LODs automáticos
.awc áudio48000 Hz monoReamostragem 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.fetchAll dentro 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

  1. Automatizado noturno resmon_log 120 – canalizar CSV para Grafana.
  2. Gancho de pré-commit do Git invocando o AI Script Optimizer.
  3. 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:

#TarefaAção concreta / comandoCritérios de aprovação
Pré-voo
1Instantâneo e tagtar -czf backup_$(data +%F).tgz ~/fivem/server-data && mysqldump -u root -p --single-transaction fivem > db.sql
Marcar Git: tag git prod-$(data +%F)
Arquivos armazenados fora do local e Git CI verde
2Paridade de artefatosDocumento FXServer construído testado em preparação (por exemplo, b6362)Mesmo número de compilação pronto para produção
3Janela de manutençãoInformar os jogadores, definir sv_login_token "" ou habilitar o txAdmin modo de manutençãoNenhuma nova adesão; jogadores atuais são avisados
Implantar
4Pare os serviços de forma limpatxadmin parar ou Ctrl-C no console; aguarde “Salvando mapa…”Nenhum processo órfão do FXServer
5Atualizar bináriosSubstituir Servidor FX & alpino do artefato zip validado./FXServer +definir versão mostra nova construção
6Aplicar otimizado servidor.cfgCopiar o arquivo revisado; executar +exec server.cfg +set comlint 1Nenhum erro “cvar desconhecido”
7Recursos de corteMover scripts não utilizados para recursos desabilitados/; confirme com garantir listaresmon mostra entradas removidas
8Limpar e reconstruir o cacherm -rf cache/* então save_gta_cache meumapa se mapas grandesPasta de cache preenchida novamente
9Migração de banco de dadosCorrer ALTERAR/CRIAR ÍNDICE scripts; teste com EXPLICARNenhuma varredura de tabela completa no plano de consulta
10Início vinculado aos núcleos Ptaskset -c 2-7 ./FXServer +exec server.cfgInicialização do servidor; afinidade da CPU correta
Verificação (10 min)
11Métricas ao vivoresposta 1 no consoleNenhum recurso > 1 ms de inatividade de longa duração
12Amostra automatizadaresmon_log 600 → CSVTique médio ≤ 6 ms; 99º ≤ 8 ms
13Latência de junçãoCronômetro de junção para geração com cache novoTempo ≤ linha de base – 10 %
14Teste de fumaça funcionalTeletransporte, compre item, dirija veículo, salve garagemOs caminhos principais do jogo são bem-sucedidos
Guardas pós-implantação
15Feed GrafanaCron: `resmon_log 120curl -XPOST …/influxo`
16Gancho de regressão CIPré-commit executa AI Script Optimizer diff; blocos > +0,20 ms novo custoO gancho sai do 0 somente no verde
17Rotação de log e hashingCron: 24 h find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {}IPs retidos ≤ 24 h (Considerando 39 do RGPD) gdpr-info.eu
18Verificação de backupRestaurar o último instantâneo para o preparo; inicializar o servidor de testeBotas de instantâneo; dados intactos
19Notas de lançamentoPublicar changelog e janela de tempo de atividade no Discord; arquivar em /docs/releases.mdPartes interessadas reconhecidas
20Plano de reversão prontogit checkout produto- e copiar o manifesto de backup anteriorRollback 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

Lucas
Lucas

Eu sou Luke, sou um gamer e adoro escrever sobre FiveM, GTA e roleplay. Eu administro uma comunidade de roleplay e tenho cerca de 10 anos de experiência em administração de servidores.

Artigos: 570

Deixe um comentário