Lobby y descubrimiento
Arquitectura de lobby, descubrimiento de servidores y separación entre el servicio de entrada y la partida.
Lobby y descubrimiento
El lobby y el servidor de juego resuelven problemas diferentes. El lobby ayuda a encontrar o anunciar servidores; el servidor de juego mantiene la partida y su estado.
Cliente
│
├── Lobby / Discovery ──► lista de servidores
│
└── Servidor de juego ──► conexión de gameplayEl lobby no es la partida
Un servidor de lobby puede actuar como directorio o punto de descubrimiento. La autoridad sobre jugadores, canales y objetos continúa perteneciendo al servidor de juego.
Flujo recomendado
Descubrir servidores
Consulta el servicio de lobby o el mecanismo de descubrimiento disponible.
Elegir un servidor
Selecciona el endpoint de gameplay según latencia, región, capacidad o estado anunciado.
Conectar directamente
Usa Eco.Conectar(...) contra el servidor de juego elegido.
Entrar en un canal
Una vez conectada la sesión, la lógica de partida pasa a los canales de Eco.
Heartbeats y estado anunciado
El material upstream describe mecanismos de lobby que utilizan mensajes de control, ping y actualizaciones del estado de los servidores. El objetivo es evitar que el directorio necesite replicar todo el estado de la partida.
Servidor de juego
│
├── nombre
├── jugadores
├── capacidad
├── estado
└── endpoint
↓
Lobby
↓
ClientesCuándo necesitas un lobby
No todos los proyectos lo requieren.
| Arquitectura | Lobby |
|---|---|
| Cliente → IP fija | No |
| Servidor dedicado listado | Normalmente sí |
| Matchmaking propio | Depende |
| LAN | Puede sustituirse por discovery local |
| Steam / plataforma externa | Puede recaer en la plataforma |
Discovery no equivale a NAT traversal
Encontrar un servidor y conseguir que un cliente pueda alcanzarlo son problemas diferentes. UPnP, port forwarding, Steam Networking y otras técnicas pertenecen a la segunda parte.
UPnP y NAT
Conectividad y exposición del servidor.
Steam y conexiones
Transportes de plataforma y conexiones personalizadas.
Relación con TNet
DeepWiki mantiene páginas separadas para lobby cliente, lobby servidor y discovery. En Eco la documentación debe conservar esa separación conceptual, pero las APIs deben seguir las implementaciones reales disponibles en el repositorio de Eco.
DeepWiki · Lobby y discovery
Referencia upstream para arquitectura de lobby y descubrimiento.
