FiveMConexiónserver.cfgListing6 min de lectura

Solucionar error de conexión y server list en FiveM

Cómo resolver el error 'context deadline exceeded' agregando las líneas de listing y endpoints a tu server.cfg existente.


¿Qué significa este error?

Si ves un error como este al intentar que tu servidor aparezca en la lista de FiveM:

terminal
Server list query returned an error: server request failed for endpoint
https://23.175.40.1:30120/info.json
(context deadline exceeded)

Significa que la master list de FiveM no puede llegar a tu servidor para obtener su información. Tu servidor está corriendo, pero no responde correctamente a las consultas externas de listing.

Causa principal

El servidor no anuncia su dirección correctamente, o el puerto no está accesible desde internet. Esto se soluciona verificando endpoints, firewall y opcionalmente configurando variables de listing.

Solución rápida (sin proxy — la mayoría de los casos)

Si tu servidor tiene una IP pública directa (sin proxy ni Cloudflare), verificá que tu server.cfg tenga:

bash
# Endpoints de red (OBLIGATORIOS — udp ANTES de tcp)
endpoint_add_udp "0.0.0.0:30120"
endpoint_add_tcp "0.0.0.0:30120"

# Proyecto (obligatorios para aparecer en la lista)
sets sv_projectName "Mi Servidor RP"
sets sv_projectDesc "Servidor de roleplay en Baires Host"

# Anti-cheat básico
sv_scriptHookAllowed 0
⚠️ Importante

endpoint_add_udp debe ir ANTES de endpoint_add_tcp en tu server.cfg para que la configuración de puertos funcione correctamente.

En la mayoría de los casos, con esto alcanza. FiveM deduce tu IP automáticamente y la anuncia en la master list.

Solución avanzada (múltiples IPs o proxy)

Si tu servidor tiene múltiples IPs, está detrás de un proxy/Cloudflare, o la master list no puede deducir tu IP correctamente, usá estas variables adicionales:

bash
# Previene que el server list anuncie tu IP real (útil con proxy)
set sv_forceIndirectListing true

# Le dice al backend del server list qué hostname consultar
# IMPORTANTE: es un DOMINIO (hostname), NO una IP con puerto
# La master list hace request HTTPS a este dominio
set sv_listingHostOverride "server1.tudominio.com"

# Fuerza una IP específica en el listing
# Solo necesario si tenés múltiples IPs o estás detrás de un
# firewall que impide que la master list descubra tu IP
set sv_listingIpOverride "23.175.40.1"

# Define los endpoints reales donde se conectan los jugadores
set sv_endpoints "23.175.40.1:30120"

¿Cuándo usar cada variable?

VariableCuándo usarlaFormato correcto
sv_forceIndirectListingCon proxy (Cloudflare, nginx) para no anunciar la IP realtrue o false
sv_listingHostOverrideCon dominio + HTTPS proxy. La master list hace request a https://hostname/Solo hostname: "server1.example.com" (SIN ip, SIN puerto)
sv_listingIpOverrideSolo si hay múltiples IPs y la master list no adivina cuál usarSolo IP: "23.175.40.1"
sv_endpointsPara especificar IP:puerto de conexión de jugadores (con proxy)IP y puerto: "23.175.40.1:30120"

Ejemplo con proxy Cloudflare + nginx (setup avanzado)

Si tenés un dominio server1.example.com proxied por Cloudflare apuntando a tu nginx, que a su vez redirige al FXServer:

bash
set sv_forceIndirectListing true
set sv_listingHostOverride "server1.example.com"
set sv_endpoints "23.175.40.1:30120"

En este caso la master list hace GET https://server1.example.com/info.json a través de tu proxy.

Ejemplo sin proxy (IP directa de Baires Host)

Si tu servidor tiene una sola IP pública directa y no hay proxy:

bash
# Normalmente NO necesitás nada extra, solo los endpoints base.
# Si aún así no aparece en la lista, probá agregar:
set sv_forceIndirectListing true
set sv_listingIpOverride "23.175.40.1"
set sv_endpoints "23.175.40.1:30120"

⚠️ NO uses sv_listingHostOverride con una IP — esa variable espera un hostname/dominio. Si no tenés dominio, no la uses.

Protección contra floods HTTP (sv_requestParanoia)

Este convar protege contra floods HTTP pero hay que usarlo con cuidado:

NivelEfecto
0Desactivado (default). Sin bloqueo.
1Bloquea IPs que envían header Via (proxies genéricos). Seguro para la mayoría.
2Bloquea IPs con header Upgrade-Insecure-Requests. Bloquea navegadoresinfo.json, players.json y dynamic.json devuelven "Nope."
3Igual que 2 pero además cierra el socket. Muy agresivo.
bash
# Recomendación: nivel 0 o 1 para la mayoría de servidores
set sv_requestParanoia 0

# Nivel 2+ solo si estás bajo ataque HTTP activo
# Con nivel 2+, no vas a poder verificar info.json desde el navegador

⚠️ Nivel 2 y 3 hacen que info.json, players.json y dynamic.json devuelvan "Nope." para requests desde navegadores. Esto NO afecta el listing ni la conexión de jugadores, pero impide que vos lo verifiques manualmente.

Verificar que funciona

Después de guardar el server.cfg y reiniciar el servidor:

  1. Esperá 2-3 minutos (puede tardar hasta 8 minutos en aparecer en la lista)
  2. Abrí en el navegador: http://TU_IP:30120/info.json
  3. Si devuelve un JSON con info del servidor → está funcionando
  4. Si no responde → problema de firewall (ver abajo)
  5. Si dice "Nope." → tenés sv_requestParanoia en 2 o más

También podés verificar estas URLs:

  • https://TU_DOMINIO/info.json (si usás proxy)
  • http://TU_IP:30120/players.json
  • http://TU_IP:30120/dynamic.json

Verificar que el puerto está abierto

Si info.json no responde en absoluto (timeout), el problema es de firewall:

En Linux (VPS):

bash
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw reload

En Windows (escritorio remoto):

terminal
netsh advfirewall firewall add rule name="FiveM TCP" dir=in action=allow protocol=TCP localport=30120
netsh advfirewall firewall add rule name="FiveM UDP" dir=in action=allow protocol=UDP localport=30120

Tabla de errores y soluciones

ErrorCausaSolución
context deadline exceededMaster list no llega al servidorVerificar puertos abiertos + endpoint_add_tcp/udp configurados
server request failed for endpointPuerto cerrado o firewallAbrir 30120 TCP/UDP en firewall
Servidor no aparece en la listaFalta sets sv_projectName o endpoints mal configuradosAgregar sets sv_projectName, sets sv_projectDesc y verificar endpoints
connection refusedPuerto TCP no abierto o servidor apagadoVerificar que el servidor esté corriendo
Nope. al acceder a info.jsonsv_requestParanoia en nivel 2+Normal si lo configuraste así — no afecta jugadores

Resumen

Para la mayoría de servidores en Baires Host con IP directa, solo necesitás:

bash
# Endpoints de red (udp ANTES de tcp)
endpoint_add_udp "0.0.0.0:30120"
endpoint_add_tcp "0.0.0.0:30120"

# Proyecto (obligatorio para listing)
sets sv_projectName "Mi Servidor"
sets sv_projectDesc "Descripción del servidor"

# Anti-cheat
sv_scriptHookAllowed 0

Si eso no alcanza porque tenés múltiples IPs o proxy, agregá sv_forceIndirectListing, sv_listingIpOverride y sv_endpoints.

NO uses sv_listingHostOverride con una IP — esa variable solo funciona con un dominio HTTPS.

Si seguís con problemas, abrí un ticket en nuestro Discord con una captura de la consola y te ayudamos.


¿Te resultó útil esta guía?