Monta tu primer servidor de FiveM

De cero a un servidor al que tus amigos pueden entrar: artifacts, licence key, server.cfg, el puerto en el que tropieza todo el mundo, y cómo cerrarlo antes de invitar a nadie.

6 minutos de lectura

Este es el camino más corto desde cero hasta un servidor al que tus amigos pueden entrar, con el razonamiento detrás de cada paso en vez de una lista de comandos para pegar.

Cuenta con unos cuarenta minutos. La mayor parte es descargar.

Todo esto vale para FiveM Legacy. FiveM for GTAV Enhanced se diferencia en unos cuantos puntos, y se señalan según van saliendo.

Lo que necesitas antes de empezar

CosaPara qué
Una copia de GTA VSolo para jugar. El servidor en sí no necesita ninguna.
Una cuenta de Cfx.rePara crear la licence key, gratis.
Windows o LinuxCon 2 núcleos y 4 GB de RAM basta para empezar.
Un puerto abierto30120 por defecto, TCP y UDP.

Esa última fila es donde mueren casi todos los primeros intentos, así que tiene su propia sección más abajo.

1. Consigue los archivos del servidor

El servidor se llama FXServer. Descarga el último build recomendado de la página de artifacts de Cfx.re y ponlo en su propia carpeta, por ejemplo C:\FXServer\server.

Mantén los archivos del servidor y tus propios datos en carpetas separadas:

C:\FXServer\    server\          los artifacts, se reemplazan en cada actualización    server-data\     tus resources y tu server.cfg

La razón son las actualizaciones. Cuando sale un artifact nuevo, borras server y descomprimes el nuevo. Si tu carpeta resources vive dentro, acabas de borrar tu servidor.

2. Consigue tu licence key

Ve a portal.cfx.re, inicia sesión y crea una key. Te pide una dirección IP: usa la máquina que va a ejecutar el servidor y elige el tipo correcto, porque una key creada para la IP equivocada sencillamente se niega a arrancar.

La key es un secreto. Cualquiera que la tenga puede levantar un servidor en tu nombre y conseguir que te la revoquen. Va en el server.cfg, y el server.cfg no va nunca a un repositorio git público.

3. Escribe el server.cfg

Este es el archivo del que cuelga todo lo demás. En vez de copiar el de otro y preguntarte qué hace la mitad, constrúyete uno con el generador de server.cfg: escribe las secciones en el orden correcto, usa nombres de convar contrastados con la referencia de comandos de Cfx.re, y te explica cada opción según la pones.

Las partes que importan en un primer servidor:

# Una línea por protocolo, las dos apuntando al mismo puerto.endpoint_add_tcp "0.0.0.0:30120"endpoint_add_udp "0.0.0.0:30120"# De 32 slots en adelante hace falta onesync on o legacy; por encima de 64, on.set onesync onsv_hostname "Mi primer servidor"sv_maxClients 48# Saca esto de portal.cfx.resv_licenseKey changeme

El orden de carga no es decoración

Las resources arrancan en el orden en que están listadas. Una resource que depende de otra tiene que ir después:

ensure oxmysqlensure ox_libensure es_extendedensure my_own_script

Casi todos los "attempted to index a nil value" en un servidor recién montado son un problema de orden de carga, no un script roto.

4. Abre el puerto, bien

FiveM necesita TCP y UDP en el mismo puerto. Abrir solo TCP produce el síntoma más confuso de toda la afición: el servidor aparece en tu propia lista, acepta tu conexión y luego se queda colgado en "Connecting".

Hay tres sitios distintos que pueden bloquearlo, y normalmente hay que tocar los tres:

  1. El firewall de Windows o ufw en Linux: permite 30120 TCP y UDP de entrada.
  2. Tu router, si la máquina está en casa: redirige 30120 TCP y UDP a la IP local de la máquina.
  3. El firewall de tu hosting, si alquilas un VPS. Este es un panel web, no la máquina, y es el que se le olvida a todo el mundo.

Para comprobar si de verdad es el puerto, que alguien intente conectarse mientras miras la consola del servidor. Si ahí no aparece absolutamente nada, el tráfico no te está llegando y el problema es de red, no de config.

5. Arráncalo

Desde la carpeta server-data:

C:\FXServer\server\FXServer.exe +exec server.cfg

En Linux:

bash /home/fivem/server/run.sh +exec server.cfg

En Enhanced el ejecutable es cfx-server.exe.

Un primer arranque sano imprime una línea diciendo que el servidor está escuchando, y después una lista de resources. Dos errores son lo bastante comunes como para nombrarlos:

  • "Could not find licence key" significa que sv_licenseKey falta, está mal o está atada a otra IP.
  • "onesync is not enabled" con más de 32 slots significa que falta set onesync on.

6. Añade un framework, o no

No necesitas ninguno. Un framework te da jobs, dinero, inventario y un sistema de personajes; sin él tienes free roam, que es un sitio perfectamente bueno para empezar.

Si quieres uno, elige un solo ecosistema y quédate en él:

FrameworkCómo es
QboxMantenido activamente, Lua moderno, construido sobre ox_lib y ox_inventory.
QBCoreCatálogo de scripts enorme, base de código más antigua.
ESX LegacyEl más viejo, sigue muy usado, la mayoría de scripts de terceros apuntan a él.

Mezclarlos es la forma más común de acabar con un servidor que nadie puede depurar. Elijas el que elijas, el generador de jobs y el generador de items escriben el formato correcto para los tres.

7. Ciérralo antes de invitar a nadie

Una configuración por defecto no es una configuración segura.

# Bloquea archivos de juego modificados. 2 bloquea también los desconocidos.sv_pureLevel 1# Controla lo que los clientes pueden crear.sv_entityLockdown relaxed# Trainers y menús. Deja esto desactivado.sv_scriptHookAllowed false

Después monta los permisos de admin como toca con el generador de permisos ACE en vez de conceder group.admin a mano. Y antes de instalar una sola resource descargada, lee cómo detectar un script con backdoor. En un servidor público es cuestión de cuándo, no de si.

No pongas rcon_password salvo que uses RCON de verdad. Una contraseña sin poner es una cosa menos que puede filtrarse.

Por dónde seguir

Las herramientas que usa esta guía