> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XR-007 Juego entre redes — Implementación multijugador

> Guía de implementación de XR-007 en títulos multijugador basados en sesiones: emparejamiento multiplataforma, invitaciones, chat de voz y aplicación de silenciamientos o bloqueos.

# Ejemplo de implementación de multijugador entre redes de XBOX: juego multijugador

Versión 2.0, 9/1/2025

Este escenario de ejemplo tiene como objetivo ilustrar la funcionalidad y el flujo entre redes recomendados en un juego multijugador tradicional o MOBA. Muestra una posible ruta de diseño e implementación.

En este escenario, el título admite la siguiente funcionalidad multijugador:

* **Emparejamiento personalizado**: el título implementa un servicio de emparejamiento personalizado. Este servicio primero (de manera opcional) agrupa a los jugadores en equipos y luego empareja equipos y jugadores entre sí.
* **Servidores dedicados**: todo el juego del título se ejecuta en servidores dedicados. Todo el tráfico (incluido el tráfico de chat) también se enruta a través de estos servidores.
* **Tablas de clasificación personalizadas**: los servicios del título implementan tablas de clasificación personalizadas que incluyen información detallada sobre el progreso del jugador.
* **Varios modos y configuraciones de juego**: el título admite varios modos de juego, como cooperativo frente a por equipos, y permite al jugador configurar el mapa, el tamaño de la partida, las reglas y otros ajustes para estos modos.
* **Moneda del juego**: el título proporciona una tienda en el juego con moneda del juego (premium) que se puede comprar. Esta moneda permite a los jugadores comprar potenciadores para el equipo. También se pueden comprar artículos cosméticos para los personajes de los jugadores.
* **DLC**: el contenido descargable que se puede comprar incluye nuevos mapas y personajes adicionales.

## Servicios del título

Uno de los servicios personalizados del título en este ejemplo es un servicio de autenticación. Este servicio se usa para vincular una cuenta de la red de XBOX (o de otra red multijugador) a una cuenta de jugador específica del título. Cuando un jugador se conecta por primera vez al servicio, la vinculación de cuentas se realiza de forma silenciosa y se crea una nueva identidad de jugador entre redes. Para la red de XBOX, el XUID del jugador se usa como identificador único de jugador que se vincula a la cuenta específica del título. El acceso al XUID debe aprobarse antes de su uso y debe tratarse con un DAM.

La cuenta específica del título tiene un identificador único (GUID) que permite a todos los servicios del título gestionar a los jugadores independientemente de la red de origen, y almacena metadatos sobre el jugador. En este ejemplo, en esta cuenta se almacenan la red multijugador y las estadísticas básicas de juego del jugador.

Los servicios del título usan la información de la red multijugador de la cuenta específica del título para garantizar que la funcionalidad multijugador pueda restringirse únicamente a jugadores de la red de XBOX.

## Flujo del título

En un juego multijugador típico, un flujo conforme para la funcionalidad entre redes comienza cuando el jugador entra en el modo multijugador.

En este ejemplo, el título sigue estos pasos:

1. **Validar privilegios** Antes de iniciar el multijugador, un título valida el privilegio de multijugador (254 y 189). Si se deniega el privilegio, el título no entra en el modo multijugador. El título también debe comprobar el privilegio de comunicaciones (252) y finalizar o deshabilitar el chat de voz y texto según corresponda.
2. **Validar el privilegio entre redes** En este ejemplo, el título integra el juego entre redes en la experiencia de emparejamiento predeterminada. Cuando un jugador entra en la experiencia de emparejamiento, el título valida el privilegio de juego entre redes (185). Si se deniega el privilegio, solo es posible el emparejamiento dentro de la red de XBOX. La primera vez que se coloca a un jugador en una partida entre redes, el título presenta una notificación de que el juego entre redes está activo.
3. **Emparejamiento de equipos** El servicio de emparejamiento del título primero forma un equipo a partir de jugadores de varias redes según las reglas de emparejamiento.
4. **Crear y unirse a la sesión de MPSD de equipo/lobby** El servicio de emparejamiento del título crea una sesión de lobby de MPSD mediante llamadas de servicio a servicio a los servicios de XBOX. Todos los usuarios de la red de XBOX se unen a esta sesión de lobby y el servicio usa propiedades personalizadas para proporcionar además indicaciones sobre los usuarios que no pertenecen a la red de XBOX en la sesión. Estas indicaciones pueden usarse luego en la lógica del cliente para establecer el estado de la sesión en el paso siguiente.
5. **Establecer la sesión de MPSD de equipo/lobby** Los clientes de la red de XBOX establecen la sesión de lobby como sesión de actividad. La capacidad de unirse a la sesión y el estado de cierre deben establecerse en función del estado de los jugadores entre redes. Los jugadores de la red de XBOX permanecen en esta sesión mientras permanezcan en el equipo entre redes. Si la sesión está llena (o se llena más adelante en el flujo), el servicio o un árbitro del lobby debe establecer la sesión como cerrada. Una sesión de actividad que no tenga más plazas de jugador nunca debe permitir uniones.
6. **Lobby de equipo** En el lobby del equipo están presentes jugadores de la red de XBOX y jugadores de otras plataformas multijugador. El chat de voz está habilitado entre jugadores de la red de XBOX a través de un servicio personalizado del título. El chat de voz entre todos los jugadores (red de XBOX/fuera de la red de XBOX) solo se habilita después de validar todas las comprobaciones de privacidad y permisos necesarias. Para las relaciones de amistad fuera de la red de XBOX, el título usa los datos de relaciones de amistad de la red ajena a XBOX. En el lobby del equipo, los jugadores de la red de XBOX y los jugadores que no pertenecen a la red de XBOX se identifican de forma única mediante la identidad de la cuenta del título. Todos los identificadores de jugador también muestran los gamertags y los nombres de jugador equivalentes de otras redes multijugador. En la interfaz del lobby, el líder del equipo selecciona las propiedades de la partida (como el nivel o las reglas personalizadas) para el paso siguiente a fin de encontrar una sesión de juego con otro equipo y, a continuación, inicia la solicitud de partida.
7. **Emparejamiento de sesiones de juego** En este paso, los equipos entre redes existentes se envían al emparejamiento con propiedades de partida adicionales establecidas por el líder del equipo. Estas propiedades se usan para identificar la mejor coincidencia y dan como resultado un nuevo conjunto de dos equipos para una partida. En este punto, el servicio de emparejamiento también identifica el servidor dedicado para ambos equipos.
8. **Crear y unirse a la sesión de MPSD del juego** El resultado del emparejamiento anónimo de sesiones de juego es una sesión de juego de MPSD que crea el servicio de emparejamiento o el servicio dedicado mediante llamadas de servicio a servicio a los servicios de XBOX. Todos los usuarios de la red de XBOX se unen a esta sesión de juego, y el servicio usa propiedades personalizadas para proporcionar además indicaciones sobre los usuarios que no pertenecen a la red de XBOX en la sesión. Estas indicaciones pueden usarse luego en la lógica del cliente para establecer el estado de la sesión.
9. **Conectarse al servidor dedicado** En el paso final, todos los clientes se conectan de forma segura al servidor dedicado e inician el juego entre redes. Todo el tráfico entre redes multijugador debe enrutarse a través del servidor dedicado; no se permiten conexiones entre pares.
10. **Finalización del juego** Una vez completada la partida, los equipos pueden elegir entre:
    * **Repetir la partida**: los jugadores permanecen conectados al servidor y en la sesión de juego de MPSD. Los jugadores inician una nueva partida.
    * **Buscar nuevos oponentes**: los jugadores se desconectan del servidor y abandonan la sesión de juego de MPSD. Los jugadores permanecen en la sesión de lobby y vuelven a la pantalla del lobby para una nueva ronda de emparejamiento.

## Administración de sesiones

Para cumplir todos los Requisitos de XBOX, el título crea dos sesiones de MPSD para los jugadores de la red de XBOX:

* **Sesión de lobby**: esta sesión la crea el servicio de emparejamiento mediante llamadas de servicio a servicio a los servicios de XBOX. Contiene reservas para todos los jugadores de la red de XBOX de un equipo en el momento de su creación. Es la sesión para la que los jugadores pueden enviar invitaciones o a la que pueden unirse en curso. Las invitaciones y la unión en curso deben usar los sistemas de la red de XBOX y no pueden realizarse entre redes. Por lo tanto, todos los jugadores de la red de XBOX establecen esta sesión como su sesión de actividad.
* **Sesión de juego**: esta sesión la crea el servicio de emparejamiento mediante llamadas de servicio a servicio a los servicios de XBOX. Contiene reservas para todos los jugadores de la red de XBOX de una sesión de juego (entre equipos). Se usa para realizar el seguimiento de la actividad multijugador de los jugadores de la red de XBOX.

Los jugadores que no pertenecen a la red de XBOX no están representados directamente en las sesiones de MPSD como miembros de la sesión. El título solo realiza el seguimiento de su presencia en una propiedad de sesión personalizada:

```text theme={null}
{{"name":"jackplayer"},{"name":"johnplayer"},{"name":"joeplayer"}}
```

Esta lista y los miembros de la sesión de la red de XBOX pueden usarse para determinar si la sesión está llena. Si está llena, la funcionalidad de invitación y unión en curso de la red de XBOX debe deshabilitarse para lograr un comportamiento correcto. Un jugador (o el servidor) establece la propiedad closed en la sesión para deshabilitar esta funcionalidad.

La sesión de MPSD usada para realizar el seguimiento de los jugadores en el juego debe habilitar la capacidad **gameplay** para cumplir los Requisitos de XBOX.

## Bloqueo y denuncia de comunicaciones de jugadores

El bloqueo de jugadores en el título se admite a nivel del título:

* **Bloqueo de jugadores de la red de XBOX**: el título usa `check_multiple_permissions_with_multiple_target_users` para comprobar los privilegios de multijugador y chat con otro jugador de la red de XBOX y las clases de jugador de los jugadores/amigos que no pertenecen a la red de XBOX. El título también proporciona acceso al perfil de otro jugador mediante `ShowProfileCardAsync`. El bloqueo puede realizarse en la interfaz de perfil de un jugador.
* **Bloqueo de jugadores que no pertenecen a la red de XBOX**: el título usa una lista de bloqueo interna del título para admitir el bloqueo de la comunicación con jugadores que no pertenecen a la red de XBOX. Esta lista se mantiene en un servicio del título y se comprueba para los permisos de multijugador. El chat entre redes no está disponible de forma predeterminada. Un jugador que no pertenece a la red de XBOX puede bloquearse en el título mediante una interfaz personalizada del título.
* **Denuncia de jugadores de la red de XBOX**: el título también permite denunciar a jugadores. Para la red de XBOX, la denuncia la realiza el jugador a través de la interfaz de perfil. El equipo de cumplimiento de la red de XBOX gestiona las denuncias de jugadores.
* **Denuncia de jugadores que no pertenecen a la red de XBOX**: para los usuarios que no pertenecen a la red de XBOX, el título proporciona un flujo de interfaz de denuncia personalizado. El título gestiona las denuncias de jugadores según corresponda para el título o según las directrices de otras redes multijugador.

## Marketplace

Las compras de moneda del juego en la red de XBOX y en otras redes multijugador se registran en un servicio del título. El título proporciona una cartera de moneda virtual y un inventario de artículos del juego compartidos entre todas las versiones del título.

Para las versiones del título ajenas a la red de XBOX se aplican las siguientes restricciones:

* **Aspectos de jugador**: los aspectos de jugador solo pueden comprarse con moneda del juego. La moneda del juego se administra en una cartera unificada del juego que está disponible en todas las redes. Todos los aspectos de jugador son idénticos en todas las versiones del título.
* **Consumibles**: los consumibles solo pueden comprarse con moneda del juego. Al igual que la moneda, los artículos consumibles se administran en un inventario unificado del juego.
* **Contenido descargable**: en las plataformas de la red de XBOX, el contenido descargable (nuevos mapas y tipos de personajes) se administra a través de Microsoft Store. Los derechos de otras tiendas no se comparten. Todos los jugadores deben tener un derecho válido en su tienda respectiva para jugar juntos en el mismo mapa. Un tipo de personaje no comprado es visible pero no jugable para un jugador que no tenga el derecho correspondiente.

## Logros

El título tiene varios logros basados en acciones multijugador, incluidas las partidas multijugador jugadas. El progreso de estos logros (y otros similares) incluye las sesiones de juego multijugador entre redes.

El título no tiene ningún logro que se limite al juego entre redes. El progreso de los logros del título de XBOX es posible mediante el juego en otras versiones del título.

## Progreso del jugador

El progreso del jugador se comparte entre todas las versiones del título. La cuenta personalizada del título contiene partes del progreso del jugador.

## Game DVR/difusión

El título es compatible con Game DVR y capturas de pantalla, así como con la difusión, en las partidas multijugador entre redes.

## Tablas de clasificación

La tabla de clasificación del título se implementa mediante un servicio del título que proporciona una amplia funcionalidad de tablas de clasificación más allá de las tablas de clasificación de la red de XBOX. El servicio crea varias tablas de clasificación subyacentes y las actualiza en paralelo: una tabla de clasificación para cada red multijugador y una tabla de clasificación combinada que reúne los resultados de todas las redes multijugador.

Cuando el multijugador entre redes está habilitado, se muestra la tabla de clasificación combinada. Todos los jugadores se representan de la misma manera que en el lobby multijugador.

La tabla de clasificación exclusiva de la red de XBOX se muestra cuando un jugador ha deshabilitado la funcionalidad de juego entre redes.

Se usa una cuenta específica del título para identificar internamente a todos los jugadores en el servicio de tablas de clasificación. Los identificadores externos de los jugadores de la red de XBOX dependen de la instancia del título que realiza la consulta. En las instancias del título de la red de XBOX, se devuelve el XUID y el cliente realiza una búsqueda para determinar la cadena del gamertag del jugador. En las instancias del título ajenas a la red de XBOX, se devuelve directamente la cadena del gamertag o DisplayName del jugador. El servicio obtiene esta cadena mediante una llamada de servicio a servicio a los servicios de XBOX y la almacena en caché durante un máximo de 4 horas.

## Temas relacionados

* [XR-007 Juego entre redes, uso de datos e interacciones con aplicaciones complementarias](/publishing/certification/xr/xr-007)
* [Ejemplo de MMO de XR-007](/publishing/certification/xr/xr-007-mmo)
* [XR-015 Administración de la comunicación entre jugadores](/publishing/certification/xr/xr-015)
* [XR-045 Red de XBOX y privilegios de cuenta](/publishing/certification/xr/xr-045)


## Related topics

- [XR-007 Juego entre redes, uso de datos y aplicaciones complementarias](/es/publishing/certification/xr/xr-007.md)
- [XR-007 Juego entre redes — Ejemplo de implementación de MMO](/es/publishing/certification/xr/xr-007-mmo.md)
- [Ejemplo de implementación de multijugador entre redes: MMO](/es/services/xbox-services/multiplayer/concepts/live-console-xr007-mmo-example.md)
- [Ejemplo de implementación de multijugador entre redes](/es/services/xbox-services/multiplayer/concepts/live-console-xr007-multiplayer-example.md)
- [XR-007 Uso de datos entre redes (PC)](/es/publishing/certification/xr/xr-007-pc.md)
