Para montar un servidor FiveM en un VPS Linux, descarga los artifacts de Linux (fx.tar.xz) desde la página oficial Server Download, extráelos y arranca run.sh sin +exec, de modo que txAdmin se abra en el puerto 40120. Después abre el puerto 30120 TCP y UDP para los jugadores y el 40120 TCP para txAdmin, instala MariaDB si tu framework necesita base de datos y ejecuta el servidor dentro de tmux o como servicio systemd para que siga en marcha al cerrar SSH. Los comandos de esta guía son para Ubuntu o Debian.
Cfx.re indica que la versión de FXServer para Linux se ofrece «como una adaptación de cortesía» y que es más probable que los fallos se corrijan en la versión de Windows. Tenlo en cuenta al reportar un error.
Qué necesitas antes de empezar
- Un VPS Linux de 64 bits con acceso root o sudo.
- Una clave de licencia del Portal de Cfx.re.
- RAM suficiente para tu proyecto. Como referencia aproximada que comparten administradores en el foro de Cfx.re, un servidor ligero en Linux funciona con unos 4 GB, mientras que a los servidores de roleplay con muchos vehículos y ropa añadidos, y con la base de datos en la misma máquina, se les suelen asignar entre 8 y 16 GB. Son cifras orientativas: txAdmin muestra el consumo real de CPU y RAM, así que mide antes de cambiar de tamaño.
Cómo instalar FXServer en Linux
Ejecuta el servidor con un usuario propio, no como root:
sudo apt update
sudo apt install -y xz-utils wget git tmux
sudo adduser --disabled-password --gecos "" fivem
sudo -iu fivem
mkdir -p ~/FXServer/server && cd ~/FXServer/server
wget "URL_DEL_FX_TAR_XZ_RECOMMENDED"
tar xf fx.tar.xz && rm fx.tar.xz
Copia la URL de la página de descarga eligiendo FiveM / RedM, Linux y la rama Recommended. Apunta a runtime.fivem.net/artifacts/fivem/build_proot_linux/master/. El archivo contiene una carpeta alpine y el script run.sh; para saber cuándo y cómo actualizarlo, consulta artifacts y game build de FiveM. Después escribe exit para volver a tu usuario administrador, porque los pasos de firewall y base de datos necesitan sudo.
Qué puertos usa un servidor FiveM
- 30120 TCP y UDP: el puerto de juego al que se conectan los jugadores. Es el valor por defecto de
endpoint_add_tcpyendpoint_add_udp, y los dos deben usar el mismo puerto. - 40120 TCP: el panel web de txAdmin. Los puertos del 40120 al 40150 están reservados para txAdmin y no pueden usarse como puerto de juego.
- 3306: MariaDB. No lo abras a internet si la base de datos está en el mismo VPS.
Con ufw, permite SSH antes de activar el firewall para no quedarte sin acceso:
sudo ufw allow 22/tcp
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enable
sudo ufw status
Para mayor seguridad, permite txAdmin solo desde tu IP: sudo ufw allow proto tcp from TU_IP to any port 40120. Si usas un firewall externo o un anti-DDoS con listas de IP permitidas, permite también las IP de Cfx.re publicadas en https://static.cfx.re/ips.txt, que el navegador de servidores usa para consultar tu servidor.
Para comprobar que el puerto responde, abre http://TU_IP:30120/info.json en el navegador, o pulsa F8 en FiveM y escribe connect TU_IP:30120.
Cómo configurar la base de datos de FiveM con MariaDB y oxmysql
Frameworks como ESX y QBCore guardan sus datos en una base de datos compatible con MySQL a través de oxmysql. Sus desarrolladores recomiendan MariaDB antes que MySQL 8, porque muchos recursos de FiveM se escribieron para MySQL 5.7 y pueden fallar con MySQL 8 (más palabras reservadas, sin valores por defecto en campos longtext o JSON).
sudo apt install -y mariadb-server
sudo mariadb-secure-installation
sudo mariadb
En Debian y Ubuntu, la cuenta root de MariaDB se autentica por defecto mediante el socket del sistema, así que crea un usuario propio para FiveM:
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'clave-segura';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Cuando despliegues ESX o QBCore con una receta de txAdmin en el siguiente paso, el asistente te pedirá estos datos (host localhost, puerto 3306, usuario, contraseña y base de datos) y escribirá la configuración por ti. Si lo configuras a mano, añade esto al server.cfg antes de cualquier recurso, con ensure oxmysql al principio de la lista de recursos:
set mysql_connection_string "mysql://fivem:clave-segura@localhost:3306/fivem"
ensure oxmysql
Usa set, nunca setr ni sets, para que la contraseña no quede expuesta. oxmysql aconseja evitar los caracteres ; , / ? : @ & = + $ # en la cadena de conexión. Si la consola muestra ECONNREFUSED, MariaDB no está en marcha o no escucha en esa dirección: compruébalo con systemctl status mariadb.
Primer arranque de txAdmin
Vuelve al usuario fivem con sudo -iu fivem y arranca el servidor:
cd ~/FXServer/server
./run.sh
Sin +exec, FXServer arranca txAdmin. La consola muestra la URL (http://your-public-ip:40120/) y un PIN de 4 cifras. Ábrela en el navegador, vincula tu cuenta de Cfx.re, crea la contraseña de respaldo y despliega una receta. txAdmin crea la carpeta txData junto a run.sh, donde guarda su configuración y, por defecto, el servidor desplegado. Incluye esa carpeta en tus copias de seguridad. Pulsa Ctrl+C para detener el servidor; la siguiente sección explica cómo mantenerlo encendido. Si pierdes el acceso al panel, sigue cómo solucionar el token y el PIN de txAdmin.
Cómo mantener el servidor FiveM encendido en Linux
Opción 1: tmux (o screen, como propone la documentación de txAdmin), con el usuario fivem:
tmux new -s fivem
cd ~/FXServer/server && ./run.sh
Desconéctate de la sesión con Ctrl+B y después D, y vuelve con tmux attach -t fivem.
Opción 2: systemd, que arranca el servidor al iniciar la máquina. Con tu usuario administrador, crea /etc/systemd/system/fivem.service:
[Unit]
Description=FiveM server (FXServer + txAdmin)
After=network-online.target mariadb.service
Wants=network-online.target
[Service]
User=fivem
WorkingDirectory=/home/fivem/FXServer/server
ExecStart=/home/fivem/FXServer/server/run.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fivem
sudo journalctl -u fivem -f
Con systemd, la URL y el PIN de txAdmin aparecen en journalctl. txAdmin reinicia FXServer si el servidor de juego se cae o se congela, y systemd reinicia txAdmin si su proceso se detiene.
Para montarlo en tu propio servidor, consulta el VPS para FiveM (Ryzen 9 7950X, root completo, anti-DDoS, en Frankfurt o Miami); si prefieres no administrar Linux, el servidor FiveM gestionado viene con txAdmin preinstalado y se gestiona desde un panel.
¿Te ha servido este artículo?
¿Necesitas más ayuda?
Abre un ticket y el equipo de soporte lo revisa contigo.