
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
- Primero haga una copia de seguridad Cree una copia externa de todo su contenido
datos del servidorcarpeta y base de datos. (Aquí se explica cómo hacer una copia de seguridad) - 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 - 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)

| Dominio | Qué hace | Objetivo típico |
|---|---|---|
resmon 1 | Inicia el monitor de recursos en vivo. | Servidor de desarrollo. |
registro_resmon | Vuelca 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 activo | Límite duro | Estampación |
.el último año textura | ≤ 16 MiB | Kit de herramientas de texturas, exportación DDS de GIMP |
| Recuento de poliprop | ≤ 50 k | Blender Decimate + LOD automáticos |
.awc audio | Mono de 48000 Hz | Remuestreo 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.fetchAlldentro 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
- Automatizado nocturno
resmon_log 120– canalizar CSV a Grafana. - Gancho de preconfirmación de Git invocando el Optimizador de Script de IA.
- 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:
| # | Tarea | Acción concreta/orden | Criterios de aprobación |
|---|---|---|---|
| Pre-vuelo | |||
| 1 | Instantánea y etiqueta | tar -czf backup_$(fecha +%F).tgz ~/fivem/datos-del-servidor && mysqldump -u root -p --transacción-única fivem > db.sqlEtiqueta Git: etiqueta git prod-$(fecha +%F) | Archivos almacenados fuera del sitio y Git CI ecológico |
| 2 | Paridad de artefactos | Compilación de documentos de FXServer probada en pruebas (por ejemplo, b6362) | El mismo número de compilación listo para producción |
| 3 | Ventana de mantenimiento | Informar a los jugadores, establecer token de inicio de sesión sv "" o habilitar txAdmin modo de mantenimiento | No se admiten nuevas incorporaciones; se advierte a los jugadores actuales |
| Desplegar | |||
| 4 | Detener los servicios limpiamente | parada de txadmin o Ctrl-C En la consola; espera “Guardando mapa…” | No hay procesos huérfanos de FXServer |
| 5 | Actualizar binarios | Reemplazar Servidor FX & alpino del archivo zip del artefacto validado | ./FXServer +establecer versión muestra nueva construcción |
| 6 | Aplicar optimizado servidor.cfg | Copiar el archivo revisado; ejecutar +exec server.cfg +set comlint 1 | No hay errores de “cvar desconocido” |
| 7 | Recortar recursos | Mover los scripts no utilizados a recursos-deshabilitados/; confirmar con asegurar lista | resmón muestra entradas eliminadas |
| 8 | Limpiar y reconstruir la caché | rm -rf caché/* entonces guardar_caché_gta_mi_mapa Si los mapas son grandes | Carpeta de caché repoblada |
| 9 | Migración de bases de datos | Correr ALTERAR/CREAR ÍNDICE guiones; prueba con EXPLICAR | No hay escaneos de tabla completa en el plan de consulta |
| 10 | Inicio vinculado a núcleos P | conjunto de tareas -c 2-7 ./FXServer +exec server.cfg | El servidor arranca; afinidad de CPU correcta |
| Verificación (10 min) | |||
| 11 | Métricas en vivo | resmon 1 en la consola | Sin recurso > 1 ms de inactividad prolongada |
| 12 | Muestra automatizada | resmon_log 600 → CSV | Tick promedio ≤ 6 ms; 99.º ≤ 8 ms |
| 13 | Latencia de unión | Cronómetro para unirse al spawn con caché nuevo | Tiempo ≤ línea base – 10 % |
| 14 | Prueba de humo funcional | Teletransportarse, comprar objeto, conducir vehículo, guardar garaje | Los caminos de juego principales tienen éxito |
| Guardias posteriores al despliegue | |||
| 15 | Feed de Grafana | Cron: `resmon_log 120 | curl -XPOST …/influjo` |
| 16 | Gancho de regresión de CI | Ejecuciones previas a la confirmación AI Script Optimizer diff; bloques > +0,20 ms nuevo costo | El gancho sale 0 solo en verde |
| 17 | Rotación de registros y hash | Cron: 24 h find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {} | IP conservadas ≤ 24 h (considerando 39 del RGPD) gdpr-info.eu |
| 18 | Verificación de copia de seguridad | Restaurar la última instantánea al entorno de pruebas; iniciar el servidor de pruebas | Arranque de instantáneas; datos intactos |
| 19 | Notas de la versión | Publicar registro de cambios y ventana de tiempo de actividad en Discord; archivar en /docs/releases.md | Se reconoce a las partes interesadas |
| 20 | Plan de reversión listo | git checkout prod- y copiar el manifiesto de copia de seguridad anterior | Reversió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
- Cómo optimizar el rendimiento del servidor FiveM
- Optimizar los tiempos de carga
- Mejorar el rendimiento: optimizar los scripts
- Optimizador de scripts de FiveM (herramienta de IA)
- Cómo usar resmon






