Volver al blog
Tutorial2 min de lectura

Consejos de rendimiento para servidores de FiveM: más FPS, menos lag

Mejora el rendimiento de tu servidor de FiveM. Ajustes de txAdmin, limpieza de recursos, límites de entidades y correcciones probadas para mantener a 64+.

Agency Scripts

Fundador y desarrollador principal en Agency Scripts

10 consejos para optimizar tu servidor de FiveM

Un servidor de FiveM con buen rendimiento es la base de una comunidad exitosa. Los jugadores toleran bugs, pero no aguantan lag constante ni caídas de FPS. Aquí tienes diez estrategias probadas para mantener tu servidor fluido incluso con 64+ jugadores simultáneos.

1. Monitoriza con resmon

Usa el comando resmon para ver qué recursos consumen más. Cualquier script que muestre más de 1 ms constantemente es candidato a optimización. Los sospechosos habituales son menús con bucles Wait(0), HUDs mal diseñados y scripts con rendering en cada frame.

2. Ajusta txAdmin

Configura txAdmin para reiniciar el servidor automáticamente una o dos veces al día en horas de bajo tráfico. Los reinicios limpian memoria acumulada y entidades huérfanas. Usa anuncios de aviso para que los jugadores terminen lo que estén haciendo antes del reinicio.

3. Limpia recursos sin usar

Audita tu server.cfg y elimina los ensure de scripts que ya no usas. Cada recurso activo consume memoria y CPU aunque no haga nada visible. Esto es especialmente importante tras pruebas de nuevos scripts que luego descartaste.

4. Límites de entidades

Configura límites sensatos en tu server.cfg para sv_enforceGameBuild, sv_endpoints y similares. Evita que los jugadores spawneen cientos de vehículos con comandos admin. Implementa auto-despawn para vehículos abandonados tras un tiempo.

5. Optimiza la base de datos

Indexa correctamente las tablas más consultadas (jugadores por identifier, vehículos por plate, inventario por citizenid). Usa slow query logs para detectar queries lentas. Las bases de datos mal indexadas son uno de los cuellos de botella más frecuentes.

6. Cachea datos frecuentes

Datos que se consultan frecuentemente (perfil del jugador, job actual, ítems del inventario) deberían estar en memoria Lua, no consultarse a base de datos cada vez. Actualiza el cache al modificar los datos y sincroniza con la base de datos en eventos naturales (logout, cambio de zona).

7. Reduce eventos de red

Los eventos de red tienen coste. Agrupa múltiples actualizaciones en un único evento cuando sea posible. Usa state bags para datos que todos los clientes necesitan en vez de disparar eventos individuales. Los scripts optimizados disparan decenas de eventos por minuto, no cientos por segundo.

8. Scripting correcto de threads

Nunca uses Wait(0) en bucles de larga duración salvo que sea estrictamente necesario. Usa Wait(500) o Wait(1000) para chequeos periódicos. Destruye threads cuando no se necesiten en vez de dejarlos corriendo con un flag de "activo".

9. Optimiza el client side

El rendimiento del cliente afecta la experiencia del jugador. Scripts con renderizado pesado (HUDs con muchas animaciones, markers en cada frame) bajan FPS. Usa throttling en actualizaciones visuales y deshabilita elementos cuando no son visibles.

10. Tests de carga

Antes de un pico esperado de jugadores (evento, lanzamiento), prueba el servidor con cargas simuladas. Tus staff y colaboradores pueden conectar simultáneamente para ver cómo aguanta. Identificar cuellos de botella en pruebas es mucho mejor que descubrirlos con 64 jugadores reales conectados.

¿Listo para empezar?

Consigue los scripts en nuestra tienda, o únete al Discord para soporte, novedades y un adelanto de lo que viene.