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:
sudo apt update
sudo apt install -y wget git xz-utils screenCrea un usuario separado, así el servidor no se ejecuta como root:
sudo adduser fivem
sudo su - fivemTodo lo que sigue se hace como ese usuario.
Descarga el artefacto
El programa de servidor ("artifacts") para Linux viene de Cfx.re:
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:
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.xzReemplaza <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:
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-dataCrea la configuración en server-data/server.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 hardcapInicia: 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:
cd ~/fivem/server
bash run.shtxAdmin 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:
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfgObtienes 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:
screen -S fivem
cd ~/fivem/server
bash run.shDesconéctate con Ctrl+A, luego D. El servidor sigue ejecutándose. Reconéctate más tarde:
screen -r fivemEsto 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):
sudo nano /etc/systemd/system/fivem.service[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.targetEsto inicia txAdmin, que gestiona el servidor de juego en sí. Luego habilita e inicia:
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivemComandos útiles:
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivemLa 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
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enablePermite 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 →