Cómo Montar un Servidor FiveM desde Cero en VPS Windows: Guía Paso a Paso
Aprende a montar un servidor FiveM desde cero en VPS Windows: descarga del artifact, license key, configuración de puertos y primera conexión en producción.
Levantar un servidor FiveM en VPS Windows no tiene misterio, pero sí detalles que traban a quien empieza: license key olvidada en el server.cfg, puerto 30120 abierto solo en UDP, antivirus bloqueando el FXServer, o txAdmin elegido como modo principal sin entender que es una capa sobre el mismo binario. Este tutorial cubre el camino completo desde cero — descarga oficial, configuración mínima funcional, firewall y validación de conectividad.
El público objetivo es quien nunca corrió un FXServer y quiere arrancar con base sólida para evolucionar después hacia ESX, QBCore o un framework propio. Tiempo de ejecución: alrededor de 40 minutos desde el primer RDP hasta que el servidor aparece en el cliente del juego.
La elección de Windows Server tiene sentido para quien prefiere un stack familiar, RDP directo para ajustar configs y el ecosistema de tools .NET para automatización. Linux es igualmente válido y normalmente más liviano, pero queda fuera del alcance de esta guía.
Requisitos previos
VPS Windows Server 2019 o 2022 con al menos 4 vCPUs, 8 GB de RAM y 40 GB de disco SSD. Acceso administrativo vía RDP, cuenta gratuita en el portal Cfx.re (keymaster.fivem.net) para generar la license key, y cliente FiveM instalado en tu máquina para probar la conexión.
Windows Server 2022 30120 (TCP+UDP) 40120 (TCP) 8 GB 4 cores Si estás dimensionando capacidad, considera que cada slot activo consume entre 30 y 80 MB de RAM según los resources cargados. El disco SSD es obligatorio — un HDD provoca stutter perceptible en el streaming de assets a los players.
Descargar el artifact oficial del FXServer
El artifact es el binario del servidor FiveM, distribuido como ZIP por Cfx.re. Descárgalo siempre desde la fuente oficial: las builds no oficiales frecuentemente vienen con backdoors en resources inyectados.
Conéctate a la VPS vía RDP usando las credenciales que recibiste en el aprovisionamiento. Abre PowerShell como administrador y crea la estructura de carpetas:
New-Item -ItemType Directory -Path "C:\FXServer\server" -Force
New-Item -ItemType Directory -Path "C:\FXServer\server-data" -ForceLa separación entre server (binario) y server-data (configuración + resources) es la estructura recomendada por Cfx.re — facilita actualizar el artifact sin tocar tu setup.
Accede a runtime.fivem.net/artifacts/fivem/build_server_windows/master/ y copia el enlace de la build marcada como recommended (no la latest).
En PowerShell, descarga y extrae directo:
cd C:\FXServer\server
Invoke-WebRequest -Uri "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/XXXX-HASH/server.7z" -OutFile "server.7z"Sustituye la URL por la build actual. Vas a necesitar 7-Zip para extraer (winget install 7zip.7zip si no lo tienes).
Extrae el artifact dentro de C:\FXServer\server:
& "C:\Program Files\7-Zip\7z.exe" x server.7z -oC:\FXServer\serverDespués de extraer, deberías ver FXServer.exe en la raíz de la carpeta. Ese es el ejecutable del servidor.
Clonar el server-data base y generar la license
Cfx.re mantiene un repositorio de ejemplo con la estructura mínima de server-data lista. Esto evita tener que montar desde cero el resources/ con los scripts por defecto.
Instala Git para Windows si todavía no lo tienes:
winget install --id Git.Git -e --source wingetReabre PowerShell para cargar el PATH actualizado, luego clona el template oficial:
cd C:\FXServer\server-data
git clone https://github.com/citizenfx/cfx-server-data.git .El punto final en el clone es importante — clona el contenido directamente en la carpeta actual en lugar de crear una subcarpeta.
Genera la license key accediendo a keymaster.fivem.net desde tu navegador local. Inicia sesión con la cuenta Cfx.re, haz clic en New y completa:
- Server name: nombre interno (no aparece para los players)
- IP Address: marca “I will deploy and run the server using a changing IP address”
Elegir IP fija solo funciona si tienes certeza absoluta del IP de la VPS — si la IP de la VPS cambia (raro en VPS Hostini, pero posible en otros providers), la license se invalida.
La key generada tiene el formato cfxk_XXXXXXXX_XXXXX. Guárdala — la vas a pegar en el server.cfg ahora.
Cada license key está vinculada a una instancia de servidor. Si corres la misma key en dos VPS simultáneamente, Cfx.re desactiva ambas y tienes que abrir ticket para liberarla. Para entorno de desarrollo local, genera una key aparte.
Configurar el server.cfg
El server.cfg es el archivo que define identidad, license, slots y qué resources se cargan al arrancar. Está en C:\FXServer\server-data\server.cfg después del clone.
Abre el server.cfg en Notepad++ o VS Code (evita el Notepad simple — rompe el encoding). Localiza la línea sv_licenseKey changeme y sustitúyela por tu key real:
sv_licenseKey cfxk_XXXXXXXX_XXXXXConfigura también identidad y capacidad en las líneas cercanas:
sv_hostname "Servidor Prueba - ES"
sv_maxclients 32
sets locale "es-ES"
sets tags "roleplay, espanol"El sv_maxclients máximo soportado depende de la license — las keys estándar liberan hasta 48 slots, las keys patron liberan 64 o más.
Confirma que las líneas endpoint_add_tcp "0.0.0.0:30120" y endpoint_add_udp "0.0.0.0:30120" están presentes y descomentadas. Controlan en qué interfaz escucha el servidor — 0.0.0.0 significa todas las interfaces de red de la VPS, que es lo correcto para producción.
Si quieres correr en un puerto distinto al 30120 (útil para tener múltiples servidores en la misma VPS), cambia el 30120 en ambas líneas y no olvides reflejar el cambio en el firewall después.
Abrir puertos en el Windows Firewall
Sin las reglas de firewall, el FXServer corre pero nadie puede conectarse. Los puertos tienen que estar abiertos para inbound en TCP y UDP.
En PowerShell como admin, crea las reglas con un comando único por cada protocolo:
New-NetFirewallRule -DisplayName "FiveM TCP 30120" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM UDP 30120" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "txAdmin 40120" -Direction Inbound -Protocol TCP -LocalPort 40120 -Action AllowLa regla de txAdmin (40120) es opcional, pero recomendada — vas a usar la interfaz web para gestionar el servidor sin tener que quedarte en el RDP.
Algunos hostings tienen firewall externo (security group) además del firewall de Windows. Si abriste en Windows y el tráfico todavía no pasa, verifica en el panel del provider que los puertos 30120 TCP/UDP estén liberados a nivel del datacenter. En VPS Hostini esa apertura es automática para puertos comunes de juegos.
Iniciar el servidor por primera vez
Con artifact, server-data, license y firewall listos, es hora de levantar el proceso.
Crea un script start.bat en C:\FXServer\server-data\start.bat con el contenido:
cd /d C:\FXServer\server-data
C:\FXServer\server\FXServer.exe +exec server.cfg
pauseEl pause mantiene la ventana abierta después de que el servidor se detiene — útil para leer errores de boot en lugar de que el CMD se cierre al instante.
Ejecuta el start.bat con doble clic o vía PowerShell:
cd C:\FXServer\server-data
.\start.batLa consola va a imprimir varias líneas de boot. Busca:
Authenticating server license key...seguido deServer is now available— license válida y registradaStarted resource sessionmanagery logs de otros resources basesvAdhesive: server can be heartbeating, mode 2— servidor visible en la lista pública
Verificación: conectarte por primera vez
La confirmación final es intentar entrar al servidor desde el cliente FiveM.
En tu PC local, abre el cliente FiveM. Presiona F8 para abrir la consola y escribe:
connect TU_IP_VPS:30120Sustituye TU_IP_VPS por la IP de tu VPS. Si todo está correcto, vas a caer en la pantalla de carga del GTA con mensajes de descarga de los resources base, y después spawnear en el mapa en Los Santos.
Si el servidor está en la lista pública (gameplay normal, license OK), también puedes encontrarlo buscando por el sv_hostname que configuraste.
Resolución de problemas
”Couldn’t load resource: sessionmanager”
Carpeta resources/ ausente o corrupta. Generalmente ocurre cuando el git clone falla silenciosamente. Ejecuta git status en C:\FXServer\server-data — si aparece “not a git repository”, rehaz el clone del paso 04.
La consola muestra “License authentication failed”
License key inválida, con espacios extra o todavía como changeme. Abre el server.cfg, confirma que la línea está exactamente como sv_licenseKey cfxk_... sin comillas y sin espacios antes o después de la key. Si la key se generó para otra IP, genera una nueva marcando “changing IP”.
El servidor levanta pero nadie puede conectar
Prueba desde tu propio PC local con la consola F8 de FiveM. Si conecta localmente pero no desde fuera, es firewall. Ejecuta Get-NetFirewallRule -DisplayName "FiveM*" en PowerShell para confirmar que las reglas existen y están Enabled: True.
”Server is hibernating” en la consola
Normal en VPS Windows que entra en sleep idle. Deshabilita el sleep mode con:
powercfg /change standby-timeout-ac 0
powercfg /change hibernate-timeout-ac 0
Próximos pasos
Con el servidor base funcionando, los caminos típicos de evolución son:
- Instalar txAdmin completo: accede a
http://TU_IP_VPS:40120para un flujo guiado de setup, creación de admins y templates pre-listos (vanilla, ESX, QBCore) - Agregar framework: ESX Legacy o QBCore son los más populares para roleplay en español — la instalación está documentada en sus respectivos GitHubs
- Configurar base de datos MySQL: necesaria para que cualquier framework persista datos de players y vehículos
- Setup de backup automático: agenda una tarea en Windows Task Scheduler para exportar la base diariamente
- Considerar protección DDoS dedicada: los servidores FiveM populares son blanco constante de ataques en el puerto UDP de gameplay
Si estás pensando en producción y quieres infraestructura optimizada para FiveM con protección DDoS ya incluida e IPs con baja latencia, puedes empezar directamente en los planes especializados de hospedaje de servidores de juegos de Hostini.
Preguntas frecuentes
¿Cuál es la diferencia entre el artifact recommended y el latest?
El recommended es la build más reciente marcada como estable por Cfx.re, probada con la mayoría de los resources públicos. La latest es la build más nueva, puede incluir fixes o features aún no auditadas. Para un servidor de producción, quédate con el recommended hasta tener una razón específica para subir.
¿Necesito abrir el puerto 30120 en TCP, UDP o ambos?
Ambos. FiveM usa TCP 30120 para el handshake inicial y la descarga de resources vía HTTP, y UDP 30120 para el tráfico de gameplay en tiempo real. Si abres solo UDP, los jugadores ni siquiera podrán entrar al servidor.
¿Por qué mi servidor no aparece en la lista pública de FiveM?
Tres causas comunes: license key inválida o ausente en el server.cfg, sv_hostname sin configurar, o el servidor está corriendo en modo onesync legacy sin un sv_maxclients adecuado. Revisa la consola del FXServer: registra claramente cuando falla el registro en la lista pública.
¿Cuántos slots aguantan 8 GB de RAM y 4 vCPUs?
Un servidor vanilla con resources básicos corre 32 slots tranquilo en esa especificación. Con un framework completo (ESX o QBCore) más 30-40 resources personalizados, espera entre 16 y 24 slots estables. La RAM es el cuello de botella principal — cada resource Lua pesado consume entre 50 y 200 MB en tiempo de ejecución.
¿Puedo usar txAdmin para gestionar el servidor?
Sí, y es lo recomendado. txAdmin viene integrado en el artifact desde 2021 — basta con ejecutar FXServer.exe y expone la interfaz web en el puerto 40120 para crear templates, gestionar players y ver logs. Es la forma más limpia de operar el servidor sin depender de la consola directa.
¿Necesito Windows Server o Windows 10 normal sirve?
Windows Server 2019 o 2022 es la elección técnica correcta: mejor scheduler para cargas de larga duración, sin el límite de conexiones inbound de Windows 10/11, y soporte oficial para ejecutarse como servicio. Windows desktop sirve para dev local, pero en producción vas a chocar contra el límite de 20 conexiones TCP.