← Blog

Cómo configurar el archivo server.cfg de FiveM

Par Benjamin D. · PDG

· Mis à jour le 19 de agosto de 2026 · Lecture 10 min

Índice

El archivo server.cfg FiveM es el corazón de cualquier servidor GTA V roleplay o freeroam: define puertos, licencia, recursos cargados, permisos ACE, slots y OneSync. Mal configurado, el servidor no arranca o queda invisible en la lista. Bien ajustado, ganas estabilidad, latencia baja y control total. Esta guía 2026 repasa cada bloque con sintaxis real y ejemplos probados en producción.



Qué es el server.cfg de FiveM y dónde se encuentra

FXServer (el binario del servidor FiveM) lee al arrancar un único fichero de configuración pasado por parámetro: server.cfg. Todo lo que no esté declarado ahí simplemente no existe para el servidor. No hay interfaz gráfica que sustituya este archivo; incluso txAdmin escribe en él.

Ubicación según el tipo de hosting

Entorno Ruta típica Cómo editarlo
Panel Pterodactyl (hosting gestionado) /home/container/server.cfg o /txData/<perfil>/server.cfg Gestor de archivos del panel o SFTP
VPS Linux con FXServer manual /home/fivem/server-data/server.cfg SSH + nano/vim
VPS Windows C:\FXServer\server-data\server.cfg Editor de texto (UTF-8 sin BOM)

En un Serveur FiveM alojado con panel Pterodactyl, el archivo aparece en el gestor de ficheros y basta un reinicio desde la consola para aplicar los cambios. Si prefieres administrar la máquina entera, un VPS Linux te deja instalar FXServer, txAdmin y MariaDB a tu manera.

Reglas de sintaxis que evitan el 90 % de los fallos

  • Una directiva por línea, sin punto y coma final.
  • Los comentarios empiezan por #.
  • Los valores con espacios van entre comillas: sv_hostname "Mi Servidor RP".
  • El orden importa: un ensure de un recurso que depende de otro debe ir después.
  • Guarda siempre en UTF-8 sin BOM. Un BOM invisible provoca couldn't parse config.


Configurar el server.cfg FiveM paso a paso en 2026

Vamos por bloques. Puedes copiar esta base y adaptarla; está pensada para un servidor de rol con framework (ESX o QBox) y OneSync activo.

1. Endpoints y puertos

# Escucha en todas las interfaces, puerto UDP/TCP 30120
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# Puerto de la consola remota (opcional, solo si sabes lo que haces)
# rcon_password "cambia_esto_por_algo_largo"

El TCP sirve para la descarga de recursos y la lista de servidores; el UDP transporta el tráfico de juego. Si cambias el puerto, ábrelo en el firewall. En un VPS con ufw:

sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw reload

2. Identidad del servidor

sv_hostname "^3[ES] Ciudad Aurora ^7| RP Serio | Whitelist"
sv_projectName "Ciudad Aurora RP"
sv_projectDesc "Rol serio en español, economia realista, staff activo 24/7"
sv_maxclients 64
sv_licenseKey "TU_CLAVE_DE_KEYMASTER"
sv_enforceGameBuild 3407
locale "es-ES"
load_server_icon icon.png

Detalles que marcan la diferencia:

  • sv_licenseKey: se genera en el portal Keymaster y va ligada a la IP del servidor. Si migras de máquina, edita la IP de la clave o el servidor no aparecerá públicamente.
  • sv_maxclients: hasta 48 sin OneSync; con OneSync Infinity puedes subir a 128 o más, siempre que la CPU acompañe. Ryzen de alta frecuencia y NVMe ayudan porque FiveM es muy dependiente del rendimiento monohilo.
  • sv_enforceGameBuild: fija la build de GTA V (por ejemplo 2802, 3095, 3407…). Es obligatorio si usas DLC recientes; si tus MLO o vehículos son de build antigua, no la subas sin probar.
  • load_server_icon: PNG de 96x96 exactos, en la raíz del server-data.

3. OneSync y tickrate

set onesync on
set onesync_population true
set onesync_enableInfinity true
set onesync_enableBeyond true
set onesync_distanceCullVehicles true
set onesync_forceMigration true

# Frecuencia de red (ms entre ticks). 30-50 es un buen compromiso.
set sv_scriptHookAllowed 0
sets tags "roleplay, español, economia, whitelist"

onesync_population en false elimina el tráfico y los NPC generados por el juego: reduce muchísimo la carga de red y el uso de CPU, útil en servidores con más de 64 jugadores. En cambio, para RP inmersivo la mayoría lo deja activo y limita la población desde el cliente.

4. Base de datos y variables convar

set mysql_connection_string "mysql://fivem:[email protected]/es_extended?charset=utf8mb4"
setr locale "es"
set es_enableCustomData 1
set sv_lan 0

Diferencia clave entre los tres comandos:

ComandoVisibilidadUso típico
setSolo servidorCredenciales, claves de API, cadenas de conexión
setrReplicada al clienteIdioma, modo de juego, flags visibles en scripts client-side
setsEnviada a la lista de servidoresTags, Discord, banner, web

Nunca uses sets ni setr para contraseñas: acabarían expuestas en la información pública del servidor.

5. Carga de recursos

# Núcleo
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure rconlog

# Framework
ensure oxmysql
ensure es_extended
ensure ox_lib

# Categorias por carpeta
ensure [voice]
ensure [standalone]
ensure [ox]
ensure [jobs]
ensure [mlo]

Usa ensure y no start: ensure reinicia el recurso si ya estaba activo, lo que evita estados corruptos tras un refresh. Agrupar recursos en carpetas entre corchetes ([jobs]) permite cargarlos en bloque y mantener un server.cfg FiveM legible cuando tienes 300 resources.

6. Permisos ACE y administración

add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace group.moderator command.ban allow
add_ace group.moderator command.kick allow

add_principal identifier.fivem:1234567 group.admin
add_principal identifier.license:a1b2c3d4e5f6... group.moderator
add_principal group.admin group.moderator

El sistema ACE es jerárquico: un principal puede heredar de otro grupo. Trabaja siempre con identifier.license: (estable) en vez de steam: si algunos jugadores entran sin Steam. Y añade explícitamente los deny de comandos peligrosos como quit, stop o load_server_icon para los grupos intermedios.



Seguridad, rendimiento y errores frecuentes del server.cfg FiveM

Endurecer la configuración

  • RCON: si no lo necesitas, deja la línea comentada. Si lo activas, usa una contraseña de 24+ caracteres aleatorios y restringe el puerto por firewall a tu IP.
  • sv_scriptHookAllowed 0: bloquea ScriptHookV en el cliente. Imprescindible en RP.
  • Whitelist: para comunidades cerradas, gestiona el acceso vía txAdmin o un recurso de whitelist en base de datos; el sv_authMaxVariance y sv_authMinTrust aportan una capa extra contra cuentas recién creadas.
sv_authMaxVariance 1
sv_authMinTrust 5
set steam_webApiKey "TU_API_KEY"

La protección DDoS volumétrica no se configura desde el server.cfg: se filtra a nivel de red. En Fly-Serv el anti-DDoS viene incluido por defecto en todos los servidores de juego y VPS, así que tu trabajo se limita a la capa aplicativa: permisos, whitelist y control de recursos.

Copias de seguridad antes de tocar nada

Cualquier cambio importante (subir la build, migrar de ESX a QBox, añadir 40 MLO) merece un respaldo previo del server.cfg, de la carpeta resources y de la base de datos. En panel, las copias automáticas cubren el sistema de archivos; el dump SQL lo lanzas tú:

mysqldump -u fivem -p es_extended > backup_$(date +%F).sql
tar -czf resources_$(date +%F).tar.gz resources/ server.cfg

Errores clásicos y su solución

SíntomaCausa habitualSolución
El servidor no aparece en la lista Licencia ligada a otra IP o puerto TCP cerrado Regenerar/editar la clave en Keymaster y abrir 30120/tcp
Couldn't find resource X Nombre de carpeta distinto al del ensure Respetar mayúsculas/minúsculas exactas (Linux distingue)
Los jugadores se quedan en "Loading screen" Recurso pesado o error en fxmanifest.lua Revisar consola, aislar recursos con stop uno a uno
Vehículos DLC invisibles sv_enforceGameBuild demasiado bajo Subir la build a la que incluya el DLC y probar los MLO
Hitching y caídas de tickrate Scripts con bucles sin Wait resmon 1 en consola cliente para localizar el ms culpable

Medir antes de optimizar

Desde la consola del servidor, svmon muestra el consumo de cada recurso. En cliente, F8 y resmon 1 revela el tiempo por frame. Como regla de campo: un recurso que supera 0,10 ms en reposo con 40 jugadores necesita revisión. El hardware ayuda —CPU Ryzen de alta frecuencia y almacenamiento NVMe reducen los tiempos de carga y el stream de MLO— pero ningún procesador arregla un bucle infinito en Lua.

# En la consola del servidor
svmon
# Recursos activos y su estado
list_resources
# Recargar un recurso sin reiniciar el servidor
refresh
ensure mi_recurso


Plantilla completa y flujo de trabajo recomendado

Este es un server.cfg FiveM funcional y comentado que puedes usar como punto de partida:

# ============ RED ============
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# ============ IDENTIDAD ============
sv_hostname "^2Ciudad Aurora ^7| ES | RP Serio"
sv_projectName "Ciudad Aurora"
sv_projectDesc "Servidor de rol en español"
sv_maxclients 64
sv_licenseKey "cfxk_XXXXXXXXXXXXXXXXXXXX"
sv_enforceGameBuild 3407
load_server_icon icon.png
sets locale "es-ES"
sets Discord "discord.gg/ejemplo"
sets tags "roleplay, español, economia"

# ============ ONESYNC ============
set onesync on
set onesync_enableInfinity true
set onesync_enableBeyond true
set onesync_population true
set onesync_distanceCullVehicles true

# ============ SEGURIDAD ============
set sv_scriptHookAllowed 0
sv_authMaxVariance 1
sv_authMinTrust 5
set steam_webApiKey "none"
# rcon_password ""

# ============ BASE DE DATOS ============
set mysql_connection_string "mysql://fivem:[email protected]/aurora?charset=utf8mb4"

# ============ RECURSOS ============
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure hardcap
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure [voice]
ensure [standalone]
ensure [jobs]
ensure [mlo]

# ============ PERMISOS ============
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.license:XXXXXXXX group.admin

Metodología para no romper el servidor

  1. Duplica el archivo antes de editar: cp server.cfg server.cfg.bak.
  2. Cambia una cosa a la vez y reinicia desde la consola del panel.
  3. Lee la consola completa en el arranque: los errores rojos aparecen en los primeros 15 segundos.
  4. Si el servidor no levanta, restaura el backup y compara línea a línea.
  5. Documenta cada bloque con comentarios #; en seis meses lo agradecerás.

txAdmin y el server.cfg

txAdmin gestiona perfiles de despliegue y puede escribir su propio server.cfg dentro de txData. Si usas txAdmin, edita el archivo desde su interfaz (pestaña Settings → CFG Editor) o desde el gestor de archivos, pero nunca los dos a la vez en la misma sesión: sobrescribirás cambios. La documentación oficial de referencia sigue siendo la de Cfx.re, donde se listan todas las convars soportadas y las deprecadas de cada versión: Source.

¿Panel gestionado o VPS?

  • Servidor de juego gestionado: instalación instantánea, panel Pterodactyl con consola en vivo, gestor de archivos, subusuarios para tu staff y copias automáticas. Ideal si quieres centrarte en los scripts y el rol, no en el sistema operativo. Es el enfoque de nuestros Tous nos serveurs de jeu.
  • VPS: control total de la máquina, varias instancias, tu propia MariaDB, tus reglas de firewall. Un VPS Pterodactyl te da el mismo panel pero autoalojado; un VPS Windows sirve si tu equipo trabaja con herramientas gráficas.

En ambos casos las buenas prácticas de administración son las mismas: contraseñas largas, claves SSH en lugar de contraseñas, fail2ban activo, actualizaciones regulares del artifact de FXServer y copias de seguridad verificadas. Puedes generar tu par de claves así:

ssh-keygen -t ed25519 -C "admin@ciudadaurora"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@TU_IP
sudo systemctl restart ssh

Y si gestionas FXServer como servicio en Linux, un simple systemctl mantiene el proceso vivo tras un reinicio de la máquina:

sudo systemctl enable fivem
sudo systemctl status fivem
journalctl -u fivem -f


Conclusión

Dominar el server.cfg es lo que separa un servidor FiveM inestable de uno que aguanta 100 jugadores sin hitching. Trabaja por bloques, comenta cada línea, mide con svmon y guarda copias antes de cada cambio grande. Con una base ordenada, añadir frameworks, MLO o nuevos empleos deja de ser una lotería. Más guías técnicas en el Blog Fly-Serv.



FAQ

¿Por qué mi servidor FiveM no aparece en la lista pública pese a tener el server.cfg correcto?

Casi siempre es la licencia: la clave de Keymaster está vinculada a una IP concreta. Si has migrado de máquina o cambiado de IP, edita la clave en el portal o genera una nueva y pégala en sv_licenseKey. Comprueba también que el puerto 30120 está abierto en TCP y UDP, y que sv_lan vale 0.

¿Cuántos slots puedo poner en sv_maxclients sin que el servidor sufra?

Sin OneSync el límite duro es 48. Con OneSync Infinity puedes declarar 64, 128 o más, pero el techo real lo marca la CPU monohilo y la calidad de tus scripts. Sube en escalones de 16 slots, vigila svmon y el tickrate en horas punta, y desactiva onesync_population si la red se satura.

¿Cómo doy permisos de administrador a alguien desde el server.cfg?

Añade su identificador con add_principal identifier.license:XXXX group.admin y define qué puede hacer ese grupo con add_ace group.admin command allow. Usa el identificador license: porque no depende de Steam ni de Discord. Deniega explícitamente comandos críticos como quit o stop a los grupos intermedios y reinicia el servidor para aplicar.