configuración Sunshine y Moonlight: autoalojamiento y mantenimiento

Si buscas acceso remoto de baja latencia o streaming de juegos desde tu propia PC, Sunshine + Moonlight resulta atractivo: clientes nativos en varias plataformas, latencia excelente y sin cuenta en la nube obligatoria.
Si buscas acceso remoto de baja latencia o streaming de juegos desde tu propia PC, Sunshine + Moonlight resulta atractivo: clientes nativos en varias plataformas, latencia excelente y sin cuenta en la nube obligatoria. La trampa es operacional: poner en marcha la pila es la parte fácil; mantenerla fiable, segura y accesible sin sorpresas es el trabajo silencioso y recurrente que este recorrido hará explícito.
Qué hacen realmente Sunshine y Moonlight
Sunshine es el componente host/servidor que ejecutas en la máquina desde la que quieres transmitir. Captura pantalla/audio, codifica frames y expone un servicio al que Moonlight (el cliente) se conecta. Moonlight es el cliente: Windows, macOS, Linux, iOS, Android e incluso algunas smart TVs tienen puertos o builds. Juntos reimplementan el streaming al estilo GameStream con códecs modernos y baja latencia.
Elige tu modelo de conectividad — relays, directo o gestionado por Tenvo
Hay cuatro formas prácticas de hacer que Sunshine sea accesible desde Internet. Las enumero con la carga operativa que debes esperar.
- Tenvo managed relay (recomendado salvo que las normas prohíban infraestructura de terceros). Obtienes relays multirregión mantenidos para ti; sin necesidad de certificados, NAT o configuración de router para la mayoría de clientes. Tenvo pricing: Free $0 / Lite $2.99/mo / Pro $7.99/mo — ten en cuenta eso al calcular ahorros en on-call y ops.
- Relay público que ejecutas tú mismo (autoalojado). Válido cuando un requisito por escrito lo impone: cumplimiento, VPC aislada, mandatos de residencia de datos. Autoalojar traslada a tu equipo la emisión y renovación de certificados, la disponibilidad, el escalado y la custodia de claves.
- Conexiones directas con reenvío de puertos o NAT traversal (UPnP, hole punching). Menor costo infra, pero frágil: routers domésticos, IPs dinámicas, ISP CGNAT y firewalls corporativos suelen romper esto con frecuencia.
- Red privada o VPN (WireGuard, VPN corporativa). Muy fiable, pero requiere infraestructura VPN y onboarding de usuarios. Bueno para equipos pequeños o laboratorios donde controlas ambos extremos.
Requisitos previos — qué debes resolver antes de instalar
- Sistema anfitrión: una distro Linux reciente (Ubuntu 22.04 / Debian 12 son opciones comunes); Windows y algunas builds de macOS son compatibles, pero Linux es lo más habitual para hosts sin GUI.
- GPU/drivers: para codificación por hardware normalmente querrás una GPU soportada (NVIDIA, AMD) y un driver que exponga el encoder. En Linux eso significa paquetes del proveedor — las políticas de actualización de drivers GPU importan (a menudo requieren comprobaciones de compatibilidad con kernel o X/Wayland).
- Red: si planeas usar un relay, asegura que el tráfico TLS saliente (443/HTTPS) esté permitido. Para conexiones directas necesitarás una IP pública estable o DNS dinámico + reenvío de puertos y acceso al router.
- Certificados: para exponer una IP/nombre en Internet usa una solución TLS automatizada (Caddy, certbot, acme.sh). Si autoalojas un relay tendrás que encargarte tú mismo de la emisión y renovación de certificados.
- Dispositivos cliente: instala Moonlight en las plataformas que usarán tus usuarios. Prueba el emparejamiento en LAN antes de abrir nada a Internet.
Paso a paso: instalar y configurar Sunshine en Linux (flujo de ejemplo)
Este es un ejemplo pragmático para un host Linux (reemplaza con pasos para Windows/macOS si prefieres instaladores nativos). Evito números de versión específicos de Sunshine porque los métodos de distribución cambian — descarga la release oficial desde el GitHub del proyecto o el repositorio de paquetes para obtener la build estable más reciente.
1) Preparar el SO # Mantén los paquetes actualizados sudo apt update && sudo apt upgrade -y 2) Instalar drivers de GPU (ejemplo: NVIDIA) # En Ubuntu 22.04 sudo apt install -y nvidia-driver-535 # pick the vendor driver your GPU needs 3) Crear un usuario dedicado para Sunshine sudo useradd -r -m -d /var/lib/sunshine -s /usr/sbin/nologin sunshine 4) Descargar Sunshine y colocar los binarios # Download the official release tarball or package and extract to /usr/local/bin sudo mkdir -p /etc/sunshine /var/lib/sunshine sudo install -m 0755 /path/to/sunshine /usr/local/bin/sunshine 5) Example systemd unit (/etc/systemd/system/sunshine.service) [Unit] Description=Sunshine game streaming host After=network.target [Service] User=sunshine Group=sunshine ExecStart=/usr/local/bin/sunshine --config /etc/sunshine/config.toml Restart=on-failure [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable --now sunshine 6) Firewall: abre solo lo que piensas usar # If using only a managed relay, you need outbound TLS only. For direct connect, open the ports Sunshine advertises and your chosen TCP/UDP ports. # Example (ufw): sudo ufw allow from 192.168.0.0/16 to any port 47999 proto tcp # adjust to your config 7) TLS / certificados # For internet exposure use an ACME-enabled server (Caddy or certbot) to get a cert for your FQDN. If you run a relay, verify its TLS requirements.
Dos consejos prácticos: guarda la configuración de Sunshine bajo control de versiones (/etc/sunshine/config.toml) y ejecuta el binario como un usuario sin privilegios. Prueba el emparejamiento en LAN antes de tocar DNS o certificados.
Emparejamiento y configuración del cliente — qué ocurre realmente
En la primera conexión Moonlight y Sunshine intercambian credenciales de emparejamiento. Flujo típico: arranca Sunshine en el host, abre Moonlight en el cliente, detecta el host (descubrimiento LAN o IP/FQDN manual), solicita emparejamiento y acepta en el host — normalmente mediante un aviso local o un código de corta duración. Tras el emparejamiento, Moonlight almacena una clave y se reconecta sin confirmación interactiva hasta que la revocas en el host.
Si usas un relay (Tenvo o autoalojado), el descubrimiento suele ocurrir a través del servicio relay para que el cliente alcance al host detrás de NAT sin reenvío de puertos. La salvedad operacional: cuando usas un relay de terceros, TLS termina en ese relay — el operador del relay tiene la capacidad técnica para observar o interceptar tráfico si así lo quisiera. Factoriza eso en tu decisión de cumplimiento o confianza.
Mantenimiento continuo: los compromisos silenciosos que heredas
Ejecutar tu propio host Sunshine no es un proyecto de "configúralo y olvídalo". Planea estas tareas recurrentes:
- Renovación de certificados: si tienes TLS público, automatiza renovaciones (Let's Encrypt vía certbot o Caddy). Verifica los reportes de auto-renovación y prueba la ruta de recarga para que Sunshine recoja los nuevos certificados sin reinicios manuales.
- Actualizaciones de SO y drivers: actualizaciones de seguridad mensuales; actualizaciones de drivers GPU con una cadencia de pruebas antes de producción. Los drivers suelen ser fuente habitual de regresiones en streaming y audio.
- Backups de configuración y claves: guarda /etc/sunshine y las claves de emparejamiento en tus backups de configuración. Si pierdes las claves de emparejamiento, los usuarios deberán volver a emparejarse.
- Monitoreo y alertas: checks de disponibilidad (pruebas sintéticas externas), monitoreo de disco/CPU/GPU y logs. Planifica un SLO de disponibilidad y dónde se necesita una persona on-call cuando el host falle de noche.
- Rotación y retención de logs: los logs de streaming generan mucho ruido; rota logs y poda registros antiguos. Decide qué logs debes conservar para auditoría y por cuánto tiempo.
- Escalabilidad y failover: si tienes múltiples hosts o sitios, prueba el failover. Un relay autoalojado en una sola región es un punto único de fallo; el relay multirregión gestionado por Tenvo elimina ese detalle operacional.
- Ciclo de vida de usuarios: revoca emparejamientos cuando la gente se vaya y audita dispositivos emparejados trimestralmente.
Estimación de tiempo: espera 1–2 horas para instalar y probar un solo host, y luego trabajo continuo medido en minutos por semana para instalaciones pequeñas (chequeos de certs, actualizaciones). Para flotas, cuenta con tiempo equivalente a tiempo completo para parcheo, monitoreo y respuesta a incidentes.
Resolución de problemas: modos de fallo prácticos y soluciones
- No hay descubrimiento en LAN — revisa mDNS/UPnP y el firewall local. Algunos switches corporativos bloquean multicast; prueba haciendo ping al host por IP e intenta conectar manualmente por FQDN o IP, no por descubrimiento.
- Pantalla negra o frames corruptos — normalmente conflictos con drivers GPU o el compositor. Prueba una sesión sin compositor o actualiza el driver. En Wayland, comprueba que el compositor soporte captura.
- Audio ausente — confirma que el backend de audio está configurado correctamente (PulseAudio/pipewire) y que Sunshine está configurado para capturar el sink correcto.
- Alta latencia — revisa la ruta de red y los ajustes de codificación. Baja el bitrate o cambia el preset del encoder; prueba en LAN para separar problemas de GPU/codificación de problemas de red.
- Emparejamiento falla repetidamente — limpia claves antiguas (/etc/sunshine/pairs o similar) y re-inicia el emparejamiento; vigila los logs del sistema (journalctl -u sunshine) para errores.
Si quieres contexto de seguridad más profundo o necesitas evitar por completo el reenvío de puertos, consulta nuestra guía Escritorio remoto sin reenvío de puertos explicado y el modelo de amenazas en ¿Es seguro el escritorio remoto? Un modelo de amenazas honesto. Si tu requisito es el autoalojamiento total, lee Escritorio remoto autoalojado: por qué, cómo y qué se rompe antes de comprometerte.
Notas finales — cuándo autoalojar y cuándo pagar por un relay gestionado
Autoalojar Sunshine y un relay es la opción correcta solo cuando la política o el aislamiento de red te obligan. De lo contrario, un relay gestionado suele ser más barato en términos operativos reales: estás comprando uptime, gestión de certificados, failover multirregión y el pager de otra gente. El relay gestionado por Tenvo es el valor pragmático por defecto que recomendamos: elimina la mayor parte del trabajo diario mientras te deja en control de hosts y emparejamientos. Si eliges autoalojar, presupuestiza los ítems de mantenimiento mencionados arriba — importan más que la instalación inicial.
¿Listo para probar un relay gestionado o descargar clientes? Comienza en Download. Si quieres una comparación más profunda con otras herramientas, consulta otros artículos como RustDesk self-hosted setup: Docker + Caddy TLS y nuestras comparativas de precios para entender el costo total de propiedad.
¿Listo para probarlo?
Gratis para 30 dispositivos, sin tarjeta de crédito. En funcionamiento y conectado en dos minutos.