Cómo configurar un servidor FiveM en Linux: artefactos, systemd y ufw

Ejecuta un servidor FiveM en Ubuntu o Debian: descarga el artefacto, extráelo, inicia run.sh con txAdmin o server.cfg, mantenlo vivo con screen o systemd, abre puertos con ufw.

Tienes un VPS Linux (Ubuntu o Debian) y quieres un servidor FiveM en él. El proceso es corto: obtén los archivos del servidor, inícialos, mantenlos ejecutándose, y abre los puertos. Esta guía cubre cada paso con comandos que puedes copiar.

Antes de empezar

Necesitas una clave de licencia desde portal.cfx.re, ver el error de clave de licencia si no has hecho una aún. Instala las herramientas que usarás:

bash
sudo apt update
sudo apt install -y wget git xz-utils screen

Crea un usuario separado, así el servidor no se ejecuta como root:

bash
sudo adduser fivem
sudo su - fivem

Todo lo que sigue se hace como ese usuario.

Descarga el artefacto

El programa de servidor ("artifacts") para Linux viene de Cfx.re:

text
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/

Abre esa página, elige la compilación recomendada, y copia el enlace a fx.tar.xz. Luego:

bash
mkdir -p ~/fivem/server
cd ~/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<build>/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz

Reemplaza <build> con la ruta que copiaste. Después de extraer deberías ver un run.sh en la carpeta.

Obtén los datos del servidor

Los "datos del servidor" son donde tu server.cfg y tus recursos viven. Los recursos base de Cfx.re están en GitHub:

bash
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-data

Crea la configuración en server-data/server.cfg:

cfg
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_hostname "My FiveM server"
sv_maxclients 32
sv_licenseKey "cfxk_your_key_here"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

Inicia: txAdmin o simple

Con txAdmin (recomendado). Ejecuta run.sh sin argumentos. txAdmin se inicia, imprime un PIN y una dirección web, y terminas la configuración en el navegador en el puerto 40120:

bash
cd ~/fivem/server
bash run.sh

txAdmin guarda sus datos en una carpeta txData, usualmente en la carpeta desde la que lo iniciaste, así que siempre inicia desde el mismo lugar. En el panel puedes usar una receta para desplegar un servidor base, o apuntarlo a la carpeta server-data que clonaste.

Sin txAdmin. Inicia desde la carpeta server-data y pasa la configuración:

bash
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfg

Obtienes la consola simple en tu terminal. Presiona Ctrl+C para detenerlo.

Si pierdes tu contraseña de txAdmin más tarde, ver txAdmin contraseña olvidada.

Mantenlo ejecutándose con screen

La forma rápida de mantener el servidor vivo después de desconectarte de SSH es screen:

bash
screen -S fivem
cd ~/fivem/server
bash run.sh

Desconéctate con Ctrl+A, luego D. El servidor sigue ejecutándose. Reconéctate más tarde:

bash
screen -r fivem

Esto funciona, pero nada reinicia el servidor si la máquina se reinicia o el proceso muere.

Mantenlo ejecutándose con systemd

Un servicio systemd inicia el servidor al arrancar y lo reinicia después de un crash. Crea el archivo como root (o con sudo):

bash
sudo nano /etc/systemd/system/fivem.service
ini
[Unit]
Description=FiveM server
After=network.target

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/fivem/server
ExecStart=/bin/bash /home/fivem/fivem/server/run.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Esto inicia txAdmin, que gestiona el servidor de juego en sí. Luego habilita e inicia:

bash
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivem

Comandos útiles:

bash
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivem

La línea journalctl muestra la salida en vivo, que es donde lees el PIN de txAdmin en el primer inicio.

Consejo: con systemd no hay consola interactiva. Ejecútalo con txAdmin y usa la consola en vivo de txAdmin, que es la razón para preferir txAdmin en Linux.

Abre los puertos con ufw

bash
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enable

Permite SSH antes de habilitar ufw, o te cierras a ti mismo. La regla 40120 es para txAdmin: si solo gestionas el servidor desde el VPS a través de un túnel SSH, puedes omitirla. También comprueba el panel de firewall propio de tu proveedor de alojamiento. La comprobación de red completa, incluyendo pruebas con F8 connect, está en FiveM servidor no muestra: reenvío de puertos y firewall.

Actualización más tarde

Para actualizar, detén el servicio, reemplaza el contenido de ~/fivem/server con un nuevo artefacto, e inicia de nuevo. Tu txData y server-data permanecen en su lugar. Los detalles están en actualizando artefactos de servidor FiveM.

Checklist

Síntoma Solución
Sin run.sh después de descargar Extrae con tar xf fx.tar.xz dentro de la carpeta del servidor
Necesitas el panel de txAdmin Ejecuta bash run.sh sin argumentos, abre el puerto 40120
Inicia sin txAdmin bash ../server/run.sh +exec server.cfg desde server-data
El servidor se detiene cuando cierra SSH Usa screen -S fivem o un servicio systemd
Debería iniciarse al arrancar systemctl enable fivem
Los jugadores no pueden conectarse Permite 30120 tcp y udp en ufw y en el firewall del host

Respuestas rápidas

¿Cómo ejecuto un servidor FiveM en Linux?

Descarga el artefacto Linux desde runtime.fivem.net, extráelo con tar xf fx.tar.xz, e inicia run.sh. Ejecútalo sin argumentos para txAdmin, o con +exec server.cfg para iniciar el servidor directamente.

¿Cómo mantengo el servidor FiveM ejecutándose después de cerrar SSH?

Ejecútalo dentro de screen o tmux, o mejor, como un servicio systemd que se inicia al arrancar y se reinicia después de un crash.

¿Debería ejecutar FiveM como root?

No. Crea un usuario normal para ello. Limita el daño si un recurso está comprometido, y txAdmin mismo te advertirá cuando se ejecuta como root.

Scripts que evitan este problema

Mic PhoneUn móvil plegable que se abre en tablet y llega al móvil real del jugador.Ver script →Advanced BoostingBoosting de vehículos desde una tablet: contratos de clase D a S+, crews y cola en vivo.Ver script →Crypto MiningCompra una nave, monta rigs pieza a pieza y mina monedas en un mercado vivo.Ver script →

Sigue leyendo