Cet article vous guidera à travers plusieurs étapes essentielles pour lancer des serveurs de salle pour votre jeu via brainCloud. Par souci de simplicité et d'accessibilité, nous déploierons un site web sur un serveur de salle, au lieu de la logique de jeu avec le système brainCloud S2S.
Étape 1: créez votre image Docker
Pour que brainCloud déploie votre jeu personnalisé ou votre logique métier sur les serveurs de la salle, il suffit de charger votre image Docker et d'exécuter ce conteneur d'images sur le serveur. Créons-en un.
Nous utiliserons le framework Vue pour le site de démonstration. (vous devez déjà avoir Docker et Vue installés sur votre machine).
- Exécutez ceci dans votre bash: 
vue create docker-vue
- construire le package 
yarn build
- créer un Dockfile 
cd docker-vue && touch Dockerfile
- créer un fichier de configuration Nginx 
touch default.conf
- écrivez la ligne suivante dans le fichier - default.conf
server { 
    listen       80; 
    server_name  localhost; 
    #charset koi8-r; 
    access_log  /var/log/nginx/host.access.log  main; 
    error_log  /var/log/nginx/error.log  error; 
    location / { 
        root   /usr/share/nginx/html; 
        index  index.html index.htm; 
    } 
    error_page   500 502 503 504  /50x.html; 
    location = /50x.html { 
        root   /usr/share/nginx/html; 
    } 
} - ouvrez Dockfile et écrivez-y le contenu suivant: 
FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
FROM nginx -- définissez l'image qui sera construite en fonction de nginx:latest image.
COPY dist/ /usr/share/nginx/html/ -- copie tout le contenu du dossier racine dist vers le dossier image /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf -- remplacez le fichier de configuration de l'image Nginx par celui que nous avons créé.
- exécutez la commande docker build pour créer une image via le Dockfile actuel. 
docker build -t yourdockeraccount/docker-vue .
-t -- donne un nom à l'image.
. -- utiliser le dossier actuel dans lequel Dockfile a été localisé.
- une fois que Docker a construit l'image avec succès, nous pouvons la vérifier en exécutant: 
docker image ls
- maintenant, nous pouvons exécuter l'image 
docker run -d -p 3500:80 --name docker-vue yourdockeraccount/docker-vue
-d -- définit le conteneur en mode détaché (arrière-plan).
-p -- mapper le port interne au port hôte Docker qui exécuterait le conteneur.
--name -- donne un nom au conteneur (ici: docker-vue)
- vérifiez tous les conteneurs en cours d'exécution en exécutant: 
docker ps -a
- ouvrez votre navigateur avec - localhost:3500pour vérifier le Web en cours d'exécution
- ouvrez le tableau de bord du bureau Docker, vous y trouverez le conteneur en cours d'exécution. 
- maintenant, il est temps d'expédier votre image vers votre hub Docker. 
docker push yourdockeraccount/docker-vue
- vous devriez le trouver dans vos référentiels Docker Hub après l'expédition. 
Étape 2: Configurer le serveur de salle et le lobby sur brainCloud
Afin de permettre à brainCloud de lancer votre image comme vous l'exécutez sur votre machine locale à partir de l'étape ci-dessus, vous devez indiquer à brainCloud où trouver votre image et configurer certains paramètres pour votre serveur et le déclencheur du serveur -- lobby.
- Accédez à la page "Conception | Mes serveurs | Code Cloud - Paramètres de mes serveurs", créez un nouveau serveur et remplissez les champs comme suit. (N'oubliez pas d'ajouter une région pour votre serveur dans la section "Régions") 
- Navigateur vers la page Conception | Multijoueur | Configurer les lobbies, créez un nouveau lobby et définissez-le comme lien vers le serveur de salle que vous venez de créer. 
Étape 3: écrire le code de test
Choisissez le langage compatible avec brainCloud que vous préférez pour écrire le code qui lance le serveur de salle. En résumé, votre code doit inclure les clés API suivantes:
- RTTService.enableRTT 
- RTTService.registerRTTLobbyCallback 
- LobbyService.createLobby 
...
_bc.RTTService.enableRTT(BrainCloud.RTTConnectionType.WEBSOCKET, rttConnectSuccess, rttConnectFailure);
public void rttConnectSuccess(response)
{
_bc.RTTService.registerRTTLobbyCallback(rttCallback);
String lobbyType = "wart";
int rating = 76;
String[] otherUserCxIds = response.data.cxId;
String settings = "{}";
boolean isReady = false;
String extraJson = "{}";
String teamCode = "all";
_bc.getLobbyService().createLobby(lobbyType, rating, otherUserCxIds, settings, isReady, extraJson, teamCode, this);
}
public void rttConnectFailure(String errorMessage)
{
System.out.print(String.format("Failed | %s", errorMessage));
}
...
Étape 4: tester et déboguer
Afin de mieux déboguer votre serveur de salle de test, l'intégration de l'alerte Slack est une bonne option. Consultez cet article pour plus de détails sur la mise en œuvre. Exécutez votre code de test: votre Slack recevra de nombreux messages d'état changeants de la part du serveur d'hébergement brainCloud.
À partir de ces messages de retour, vous pouvez obtenir toutes les informations sur votre serveur de salle en cours d'exécution, telles que l'IP et le port d'exécution de l'instance.
(pour notre exemple, il s'exécute à 35.183.69.27:9000, vous pouvez donc visiter l'adresse depuis votre navigateur pour le tester.)







