Volver al blog
Guide8 min de lectura

Guía de alojamiento para servidores FiveM: VPS, dedicado o administrado

Elige el alojamiento ideal según el tamaño de tu servidor. Compara VPS, dedicado y administrado para lograr baja latencia, más plazas y estabilidad.

Agency Scripts

Fundador y desarrollador principal en Agency Scripts

Por qué tu elección de alojamiento puede determinar el éxito o el fracaso de tu servidor

El proveedor de alojamiento que elijas tiene un impacto directo y medible en todos los aspectos de tu servidor FiveM. La experiencia de los jugadores, el rendimiento de los scripts, la sincronización de entidades, la calidad del chat de voz y los tiempos de respuesta de la base de datos dependen del hardware ubicado en algún centro de datos. Un proveedor mal elegido provoca tirones, desincronización durante persecuciones en vehículos, cortes en el chat de voz en momentos cruciales del roleplay y pantallas de carga tan largas que los jugadores se desconectan antes de aparecer en el mundo. Cualquier jugador experimentado de FiveM nota enseguida la diferencia entre un servidor con hardware adecuado y uno alojado en un VPS saturado por sobreventa. En esta guía, detallaremos exactamente qué especificaciones necesitas, compararemos el alojamiento VPS con el dedicado y te ayudaremos a elegir lo más adecuado para el tamaño y el presupuesto de tu servidor.

VPS frente a servidor dedicado: entiende la diferencia

A VPS (servidor privado virtual) es una parte virtualizada de una máquina física más grande. Compartes el hardware subyacente con otros usuarios, pero tus recursos están aislados mediante un hipervisor. Un servidor dedicado te ofrece toda la máquina física en exclusiva. Para FiveM, esta diferencia importa más que en el alojamiento web habitual, porque FiveM es extremadamente sensible al rendimiento de CPU en un solo núcleo y a la latencia de la memoria. En un VPS, otros usuarios que ejecuten cargas de trabajo intensivas para la CPU pueden causar microtirones en tu servidor incluso cuando los recursos asignados no están al máximo. Los servidores dedicados eliminan por completo este riesgo. Sin embargo, un VPS de alta calidad de un proveedor que no sobrevende recursos puede ofrecer un rendimiento comparable para servidores de menos de 64 jugadores. Aquí te explicamos cómo comprobar el rendimiento actual de tu servidor para establecer una referencia antes de cambiar de proveedor:

-- server.lua: Performance monitoring
local perfData = {}

CreateThread(function()
    while true do
        Wait(10000) -- Check every 10 seconds
        local cpuTime = GetProfiler():ToJSON() -- FiveM built-in profiler
        local playerCount = #GetPlayers()
        local resCount = GetNumResources()

        -- Track server frame time (should stay under 33ms for 30 tick)
        local svFrameTime = GetConvar('sv_frameTime', '33')

        print(('[PERF] Players: %d | Resources: %d | Target Frame: %sms')
            :format(playerCount, resCount, svFrameTime))

        -- Log to file for analysis
        SaveResourceFile(GetCurrentResourceName(), 'perf.log',
            os.date() .. ' | Players: ' .. playerCount ..
            ' | Resources: ' .. resCount .. '\n', -1)
    end
end)

Especificaciones de hardware recomendadas

El rendimiento de un servidor FiveM depende en gran medida de la velocidad de la CPU en un solo núcleo, no del número de núcleos. El entorno de ejecución del servidor es principalmente de un solo hilo, lo que significa que una CPU de 4 núcleos a 5.0 GHz superará ampliamente a una CPU de 16 núcleos a 2.5 GHz. Para la RAM, la base es 8 GB para un servidor pequeño (menos de 32 jugadores con scripts moderados), pero 16 GB es el mínimo práctico para un servidor serio de roleplay con 64 jugadores o más, un sistema de teléfono, MDT, trabajos personalizados y una economía completa. El almacenamiento NVMe es esencial para los servidores con muchas operaciones de base de datos, porque las consultas de oxmysql acceden al disco durante las uniones complejas y las lecturas grandes. Aquí tienes un desglose por tamaño de servidor:

  • Pequeño (1-32 jugadores): 4 núcleos a 4.0+ GHz, 8 GB RAM, 50 GB NVMe SSD, ancho de banda de 100 Mbps
  • Mediano (32-64 jugadores): 4-6 núcleos a 4.5+ GHz, 16 GB RAM, 100 GB NVMe SSD, ancho de banda de 250 Mbps
  • Grande (64-128 jugadores): 6-8 núcleos a 5.0+ GHz, 32 GB RAM, 200 GB NVMe SSD, ancho de banda de 500 Mbps
  • Empresarial (128+ jugadores): Dedicado i9/Ryzen 9 a 5.5+ GHz, 64 GB DDR5, 500 GB NVMe, 1 Gbps sin límite de tráfico

Protección DDoS: un requisito innegociable

Los servidores de FiveM son objetivos frecuentes de ataques DDoS. En algún momento, jugadores baneados descontentos, propietarios de servidores rivales y script kiddies al azar intentarán atacar tu servidor. Sin una mitigación DDoS adecuada, un solo ataque puede dejar tu servidor fuera de servicio durante horas o incluso días. Busca proveedores de hosting que ofrezcan protección DDoS de capa 4 siempre activa específicamente optimizada para el tráfico de servidores de juegos. La protección DDoS genérica enfocada en la web suele filtrar paquetes legítimos del juego porque se parecen al tráfico de ataque. Los mejores proveedores ofrecen filtrado adaptado a juegos que reconoce los patrones de tráfico UDP de FiveM. Algunos proveedores también admiten túneles GRE o reglas de firewall personalizadas que te permiten incluir en la lista de permitidos los rangos de IP de retransmisión de Cfx.re y bloquear todo lo demás. Así puedes configurar tu server.cfg para restringir el acceso y reducir la superficie de ataque:

# server.cfg: Security hardening
sv_hostname "Your Server Name"
sv_maxclients 64
sv_endpointPrivacy true
sv_scriptHookAllowed 0

# Restrict RCON access
rcon_password "YOUR_STRONG_PASSWORD_HERE"

# Rate limiting
rate_limiter "strict"

# Only allow connections through Cfx.re
sv_forceIndirectListing true

# Firewall rules (Linux iptables example)
# Run these in your server startup script:
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent --set
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent \
#   --update --seconds 10 --hitcount 20 -j DROP

La ubicación del servidor y la latencia son importantes

La ubicación física de tu servidor determina la latencia que experimentan tus jugadores. Si la mayoría de tus jugadores están en Europa, alojarlo en Frankfurt, Ámsterdam o París ofrece el mejor ping promedio en todo el continente. Para servidores de Norteamérica, las ubicaciones en Dallas, Chicago o Nueva York ofrecen una buena cobertura. Si tu comunidad se extiende por ambos continentes, elige la región donde se encuentre la mayoría de tus jugadores, ya que no hay una buena forma de ofrecer menos de 50ms de ping tanto en la UE como en Norteamérica desde una sola ubicación. Una latencia inferior a 50ms se siente fluida, entre 50-100ms se nota, pero se puede jugar, y cualquier valor superior a 100ms provoca una desincronización visible en situaciones de ritmo rápido, como persecuciones policiales o tiroteos. Prueba la latencia desde las ubicaciones de tus jugadores objetivo antes de contratar un proveedor, con una prueba de ping sencilla o la herramienta looking glass del proveedor.

Alojamiento de la base de datos: ¿en la misma máquina o en una externa?

La mayoría de los servidores de FiveM ejecutan MySQL o MariaDB en la misma máquina que el propio servidor de FiveM. Esto funciona bien para servidores pequeños y medianos porque elimina la latencia de red entre el servidor del juego y la base de datos. Sin embargo, para servidores grandes con 100+ jugadores y sistemas económicos complejos, alojar la base de datos en una máquina dedicada propia puede mejorar tanto el rendimiento del servidor del juego como el de la base de datos. El servidor del juego dispone de más RAM y CPU para ejecutar scripts, mientras que la base de datos obtiene ancho de banda de E/S dedicado. Si eliges esta opción, asegúrate de que el servidor de base de datos esté en el mismo centro de datos que el servidor del juego para mantener la latencia de las consultas por debajo de 1ms. Aquí tienes un ejemplo de cadena de conexión de oxmysql para ambas configuraciones:

# server.cfg: Database configuration

# Local database (same machine)
set mysql_connection_string "mysql://fivem:password@localhost/fivem_db?waitForConnections=true&connectionLimit=10&connectTimeout=60000"

# Remote database (separate server, same datacenter)
set mysql_connection_string "mysql://fivem:[email protected]/fivem_db?waitForConnections=true&connectionLimit=20&connectTimeout=10000"

# Performance tuning for oxmysql
set mysql_slow_query_warning 200
set mysql_debug false

# MariaDB recommended settings (my.cnf)
# [mysqld]
# innodb_buffer_pool_size = 4G
# innodb_log_file_size = 256M
# innodb_flush_method = O_DIRECT
# max_connections = 100
# query_cache_type = 1
# query_cache_size = 128M

Configura tu servidor en una VPS recién instalada

Una vez que hayas elegido tu proveedor de hosting, configurar un servidor de FiveM en una VPS Linux recién instalada sigue un proceso repetible. Empieza con Ubuntu 22.04 o Debian 12, actualiza el sistema, crea un usuario que no sea root para el proceso de FiveM y configura el firewall. Nunca ejecutes tu servidor de FiveM como root, porque una vulnerabilidad en cualquier script podría comprometer toda la máquina. Usa systemd para gestionar el proceso de FiveM, de modo que se reinicie automáticamente tras los fallos y se inicie al arrancar el sistema. Esta configuración tarda unos 15 minutos y te proporciona un entorno de servidor listo para producción:

#!/bin/bash
# setup-fivem.sh - Fresh VPS setup script

# Update system
apt update && apt upgrade -y

# Create FiveM user
useradd -m -s /bin/bash fivem
mkdir -p /home/fivem/server /home/fivem/server-data

# Download FiveM server artifacts
cd /home/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/LATEST_RECOMMENDED_URL -O fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz

# Set permissions
chown -R fivem:fivem /home/fivem

# Configure firewall
ufw allow 30120/tcp
ufw allow 30120/udp
ufw allow 40120/tcp
ufw allow OpenSSH
ufw --force enable

# Create systemd service
cat > /etc/systemd/system/fivem.service << 'EOF'
[Unit]
Description=FiveM Server
After=network.target mariadb.service

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/server-data
ExecStart=/home/fivem/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable fivem
echo "Setup complete! Place your server-data files and run: systemctl start fivem"

Supervisa y mantén tu servidor

Tras el despliegue, es fundamental supervisarlo continuamente. Configura la supervisión básica de recursos con herramientas como htop para consultar el uso de CPU y RAM en tiempo real, iotop para la E/S del disco y vnstat para controlar el ancho de banda. Configura copias de seguridad automatizadas de tu directorio server-data y de la base de datos, idealmente en una ubicación externa. Una buena estrategia de copias de seguridad consiste en una copia completa diaria de la base de datos y una copia incremental cada hora de las tablas de datos de los jugadores. Supervisa la frecuencia de ticks de tu servidor de FiveM desde el panel web de txAdmin, que la mayoría de los proveedores de hosting instalan previamente. Un servidor en buen estado mantiene una frecuencia de ticks constante, cercana al valor configurado, normalmente 30 o 48 ticks por segundo. Cuando la frecuencia de ticks cae por debajo del 80% del objetivo, es momento de optimizar tus scripts o mejorar el hardware.

¿Listo para empezar?

Consigue los scripts en nuestra tienda, o únete al Discord para soporte, novedades y un adelanto de lo que viene.