Proporcionamos APIs/configuraciones para gestionar cómo emparejamos a los jugadores con servidores en tu juego, y te permitimos dirigir a los jugadores a nuevos servidores para soportar escenarios de juegos Hub.
Preferencias de emparejamiento
Modo de llenado:
All Out aloja servidores en todo el mundo para ofrecer una experiencia de baja latencia a los jugadores; sin embargo, si tu juego acaba de comenzar, es posible que desees sacrificar algo de latencia para garantizar que los jugadores puedan jugar juntos en el mismo servidor. Los modos de llenado están documentados en la página principal del portal del Creador y pueden cambiarse en cualquier momento.
Prioridad de instancia + Requerir modo de alta prioridad
Hay un modo especial de emparejamiento que te permite evitar enviar jugadores a servidores específicos mediante código.
Los juegos pueden establecer un nivel de "prioridad" para cada instancia según el estado de la ronda, la cantidad de jugadores, etc., usando la API xxx TODO.
Opcionalmente, puedes solicitar habilitar el modo "Requerir alta prioridad" para tu juego, lo que solo redirigirá a los jugadores a instancias con prioridad establecida en cero y hará arrancar nuevos servidores si no los hay.
Esto puede ser útil si tienes un juego por rondas en el que no quieres que nuevos jugadores se unan a partidas ya en curso.
Esta función está disponible solo bajo petición ya que, si tus instancias nunca/rara vez se establecen en la prioridad número 0, ¡hará arrancar una gran cantidad de servidores! Por favor contáctanos!
Juegos Hub
Los juegos Hub son un patrón común que permite a los jugadores reunirse y hacer cola para un juego por rondas juntos. Algunos ejemplos incluirían:
Un vestíbulo para Red Sun que permite a los jugadores hacer cola para jugar juntos y comprar mejoras mientras esperan
El hub de Bed Wars que te permite seleccionar entre modos de juego (como clases/versus clásico)
Referencia de la API
Servidor::struct{// Transferir a un jugador a otro juego (hub -> partida, partida -> hub, etc).transfer_player_to_game::proc(player:Player,game_id:string);}
Estos son del lado del servidor APIs. Llámalas desde Game.is_server() código.
Ejemplo: enviar a un jugador a otro juego
Actualmente no hay forma de pasar información adicional al transferir a un jugador a un nuevo juego, ni hay forma de configurar dinámicamente los servidores al arrancar. Si deseas tener diferentes modos (p. ej., 1v1 vs 2v2) necesitarás crear juegos dedicados y vincularlos con el sistema de paternidad de juegos.
Recomendamos habilitar Productos/Datos entre Juegosal usar las APIs de teleportación/hub para asegurar que las compras de los jugadores y los datos guardados puedan reutilizarse fácilmente entre ambos.