Ahorra hoy mismo en 20%. Usa el código WELCOME al finalizar la compra. WELCOME

Optimización de servidores FiveM: La guía definitiva para 2025

Audiencia: Propietarios de servidores y administradores de sistemas con experiencia que desean llevar una instancia de producción de FiveM al límite manteniendo la estabilidad y el manejo de datos que cumple con el RGPD.

Meta: Reduzca concretamente el tiempo de fotograma, reduzca la latencia de unión y libere ciclos de CPU sin Comprometiendo el juego.


Inicio – Medir antes de ajustar

  1. Primero haga una copia de seguridad Cree una copia externa de todo su contenido datos del servidor carpeta y base de datos. (Aquí se explica cómo hacer una copia de seguridad)
  2. Establecer una ejecución de referencia:# En la consola resmon 1 # métricas en vivo: consulte la Sección 1 modo de perfil servidor sv_maxclients 32 # hacer coincidir la población actual para números comparables
  3. Registro:
    • Tiempo de tictac (EM)
    • Uso promedio de resmon por recurso
    • Tiempo de unión para generar (cronógrafo)

¿Por qué? Optimizar sin una línea base es cuestión de conjeturas. Almacena estos datos para poder revertir cualquier cambio que empeore la situación.


Usando resmón Como un profesional (guía detallada)

Captura de pantalla de la consola FiveM Resmon
DominioQué haceObjetivo típico
resmon 1Inicia el monitor de recursos en vivo.Servidor de desarrollo.
registro_resmonVuelca los promedios a un CSV.Muestreo de producción.

Reglas generales

  • ≤ 0,40 ms uso inactivo → mantener.
  • 0,40 – 1,00 ms → optimizar pronto.
  • > 1,00 ms → refactorizar o deshabilitar.

Si Procesador % Los picos coinciden con ~33 FPS Los FPS del servidor caen, el cuello de botella es tu guión, no hardware host.


Ajustes a nivel de configuración

2.1 servidor.cfg Lo esencial

# 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 incertidumbre: sv_enhancedDriver es experimental en artefactos < 6368; verificar registro de cambios.

2.2 Sistema operativo y host

  • Ubuntu 22.04 LTS o Windows Server 2022
  • Deshabilitar los estados C (BIOS) y configurar Actuación gobernador
  • Unir Servidor FX a núcleos de alto rendimiento:conjunto de tareas -c 2-7 fxserver +exec servidor.cfg

3 · Optimización a nivel de recursos

3.1 Refactorizar bucles costosos

-- ⚠️ Anti‑patrón (se ejecuta en cada cuadro) Citizen.CreateThread(function() while true do -- NO wait local p = PlayerPedId() SetPedInfiniteAmmoClip(p, true) end end) -- ✅ Bueno: caché + retraso local p = PlayerPedId() Citizen.CreateThread(function() while true do SetPedInfiniteAmmoClip(p, true) Wait(1000) -- 1 seg end end)

3.2 Aprovechar la Optimizador de scripts FiveM (IA) → pruébalo

Pegue su script de Lua: el modelo detecta bucles infinitos estrechos y nativos redundantes, y ofrece sugerencias de parches automáticos. Revise siempre la salida de diff línea por línea antes de implementar.

3.3 Deshabilitar recursos no utilizados

asegurar Solo lo que realmente necesitas. Comenta los scripts antiguos:

# garantizar old_vehshop

3.4 LOD dinámico / Presupuesto de transmisión

Utilice el r_drivepad cvar para reducir la distancia de dibujo para el tráfico de IA cuando FPS < 50 en los clientes.

Más consejos sobre activos en la Sección 4.


4 · Optimización a nivel de activos

Tipo de activoLímite duroEstampación
.el último año textura≤ 16 MiBKit de herramientas de texturas, exportación DDS de GIMP
Recuento de poliprop≤ 50 kBlender Decimate + LOD automáticos
.awc audioMono de 48000 HzRemuestreo de Audacity

Los datos transmitidos se almacenan en la RAM. arroyo/ bajo 1 GB riesgo de fallos totales del cliente por falta de memoria.

Lectura adicional → Optimizar los tiempos de carga.


5 · Base de datos y E/S

  • Usar MySQL asíncrono o oxmysql; evitar sincrónico MySQL.Sync.fetchAll dentro de las garrapatas.
  • Agregar índices en columnas consultadas con frecuencia en SELECCIONAR... DONDE... cláusulas.
  • Almacene en caché datos inmutables (por ejemplo, nombres de vehículos) en tablas Lua, no en accesos a bases de datos.

6 · Monitoreo continuo y guardias de regresión

  1. Automatizado nocturno resmon_log 120 – canalizar CSV a Grafana.
  2. Gancho de preconfirmación de Git invocando el Optimizador de Script de IA.
  3. Prueba de carga cada PR con ≥ doble número de ranuras actuales.

Consejos adicionales del lado del servidor → Mejorar el rendimiento: optimizar los scripts.


7 · Cuando el hardware es la pared

  • Ryzen 7 7800X3D > Intel i9‑14900K para latencia de un solo hilo.
  • 64 GB DDR5 6000 CL30 para minimizar fallas de página.
  • SSD NVMe Gen 4 > 5000 MB/s para transmisión rápida de mapas.

Anfitrión con al menos 1 Gbps Arriba/Abajo; deshabilitar planes vCPU compartidos.


8 · RGPD y privacidad

Hacer no registrar IPs por más tiempo del necesario operativamente (considerando 39). Identificadores hash (SHA‑256) si necesita análisis.

Asegúrese de que todos los scripts de análisis de terceros estén configurados Mismo sitio=Lax y borrar al cerrar sesión.


9 · Lista de verificación (para su equipo administrativo)

Entonces, ¿qué hacer? En resumen:

#TareaAcción concreta/ordenCriterios de aprobación
Pre-vuelo
1Instantánea y etiquetatar -czf backup_$(fecha +%F).tgz ~/fivem/datos-del-servidor && mysqldump -u root -p --transacción-única fivem > db.sql
Etiqueta Git: etiqueta git prod-$(fecha +%F)
Archivos almacenados fuera del sitio y Git CI ecológico
2Paridad de artefactosCompilación de documentos de FXServer probada en pruebas (por ejemplo, b6362)El mismo número de compilación listo para producción
3Ventana de mantenimientoInformar a los jugadores, establecer token de inicio de sesión sv "" o habilitar txAdmin modo de mantenimientoNo se admiten nuevas incorporaciones; se advierte a los jugadores actuales
Desplegar
4Detener los servicios limpiamenteparada de txadmin o Ctrl-C En la consola; espera “Guardando mapa…”No hay procesos huérfanos de FXServer
5Actualizar binariosReemplazar Servidor FX & alpino del archivo zip del artefacto validado./FXServer +establecer versión muestra nueva construcción
6Aplicar optimizado servidor.cfgCopiar el archivo revisado; ejecutar +exec server.cfg +set comlint 1No hay errores de “cvar desconocido”
7Recortar recursosMover los scripts no utilizados a recursos-deshabilitados/; confirmar con asegurar listaresmón muestra entradas eliminadas
8Limpiar y reconstruir la cachérm -rf caché/* entonces guardar_caché_gta_mi_mapa Si los mapas son grandesCarpeta de caché repoblada
9Migración de bases de datosCorrer ALTERAR/CREAR ÍNDICE guiones; prueba con EXPLICARNo hay escaneos de tabla completa en el plan de consulta
10Inicio vinculado a núcleos Pconjunto de tareas -c 2-7 ./FXServer +exec server.cfgEl servidor arranca; afinidad de CPU correcta
Verificación (10 min)
11Métricas en vivoresmon 1 en la consolaSin recurso > 1 ms de inactividad prolongada
12Muestra automatizadaresmon_log 600 → CSVTick promedio ≤ 6 ms; 99.º ≤ 8 ms
13Latencia de uniónCronómetro para unirse al spawn con caché nuevoTiempo ≤ línea base – 10 %
14Prueba de humo funcionalTeletransportarse, comprar objeto, conducir vehículo, guardar garajeLos caminos de juego principales tienen éxito
Guardias posteriores al despliegue
15Feed de GrafanaCron: `resmon_log 120curl -XPOST …/influjo`
16Gancho de regresión de CIEjecuciones previas a la confirmación AI Script Optimizer diff; bloques > +0,20 ms nuevo costoEl gancho sale 0 solo en verde
17Rotación de registros y hashCron: 24 h find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {}IP conservadas ≤ 24 h (considerando 39 del RGPD) gdpr-info.eu
18Verificación de copia de seguridadRestaurar la última instantánea al entorno de pruebas; iniciar el servidor de pruebasArranque de instantáneas; datos intactos
19Notas de la versiónPublicar registro de cambios y ventana de tiempo de actividad en Discord; archivar en /docs/releases.mdSe reconoce a las partes interesadas
20Plan de reversión listogit checkout prod- y copiar el manifiesto de copia de seguridad anteriorReversión probada en el entorno de pruebas

Antes de entrar en funcionamiento, congele los archivos binarios y la configuración, haga una copia de seguridad limpia, implemente con afinidad de CPU y vuelva a ejecutar resmón hasta que cada recurso esté a < 1 ms y mantenga los registros de IP por no más de 24 horas para cumplir con las limitaciones de almacenamiento del RGPD.


Conclusión

Establecer una línea base numérica, refactorizar scripts pesados con resmón y el optimizador de IA, activos delgados, ajuste servidor.cfgy repita hasta que el tiempo de tictac se mantenga por debajo de 6 ms en la carga máxima.


Fuentes

Lucas
Lucas

Soy Luke, gamer y me encanta escribir sobre FiveM, GTA y juegos de rol. Dirijo una comunidad de juegos de rol y tengo unos 10 años de experiencia administrando servidores.

Artículos: 436

Deja un comentario