Lobby
Descubrimiento de servidores mediante el sistema de lobby de Eco.
Lobby
La carpeta Sala implementa la comunicación entre servidores de juego y un servicio de lobby. Su objetivo es anunciar servidores disponibles y permitir que los clientes consulten la lista sin conocer de antemano sus endpoints.
Arquitectura
ServidorJuego
│
▼
EnlaceLobby
│
▼
LobbyServidor
▲
│
LobbyCliente
│
▼
JuegoLa implementación incluye variantes TCP y UDP para el enlace.
Cuándo utilizarlo
Un lobby tiene sentido cuando el juego necesita:
- lista pública de partidas;
- descubrimiento de servidores;
- actualización automática de jugadores y endpoints;
- separación entre el servicio de descubrimiento y el servidor de gameplay.
No necesitas lobby para una conexión directa a IP.
Datos publicados
El servidor puede anunciar información como nombre, número de jugadores, ID de juego y endpoints de conexión. La comunicación entre lobby y game server no debe confundirse con el canal donde sucede la partida.
Lobby ≠ canal
El lobby descubre servidores. El canal organiza jugadores y estado dentro de un servidor de juego. Son dos niveles diferentes.
Componentes
Sala/
├── EnlaceLobby
├── EnlaceLobbyTcp
├── EnlaceLobbyUdp
├── LobbyCliente
├── LobbyClienteTcp
├── LobbyClienteUdp
└── LobbyServidorSistema de lobby
Código fuente actual del subsistema.
ServidorJuego
Integración del lobby desde el servidor.
