Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

Cocos Creator

Déployer sur Edgegap

Cocos Creator : comment ajouter des serveurs de jeu dédiés en quelques minutes, ainsi que le Matchmaking à votre jeu multijoueur

Publié

Publié

dernière vérification de l'exactitude

dernière vérification de l'exactitude

Logo Cocos : Guide d'intégration de Cocos Creator pour les serveurs de jeu dédiés et le matchmaking Edgegap

Ce guide vous montre comment ajouter des serveurs de jeu dédiés à un jeu multijoueur Cocos Creator et les héberger sur Edgegap, puis ajouter du matchmaking afin que les joueurs soient regroupés et connectés automatiquement à un serveur proche d'eux.

Une fois votre serveur de jeu conteneurisé, Edgegap le déploie à l'échelle mondiale sur plus de 615 emplacements Edge Cloud (à la demande) à partir d'un simple appel d'API et facturé exclusivement à l'utilisation : aucun serveur entier à louer, approvisionner ou maintenir en fonctionnement entre les matchs. Pour les serveurs persistants à capacité réservée, Edgegap propose des Private Fleets. Le Matchmaking d'Edgegap repose sur cette base et est optionnel.

Cocos Creator ne dispose pas de build de serveur headless. Le serveur multijoueur d'un jeu Cocos est un programme distinct, généralement une application Node.js située dans un dossier de votre projet : Colyseus, ou votre propre serveur WebSocket. C'est ce serveur qui s'exécute sur Edgegap, et votre projet Cocos reste une build client standard. Chaque match obtient son propre serveur à proximité de ses joueurs, accessible via wss://, et le serveur s'arrête automatiquement lorsque le match est terminé.

Ce guide couvre :

  • La préparation de Cocos Creator, de votre dossier serveur, de votre compte Edgegap et de Docker

  • La connexion de votre agent de codage à Edgegap (optionnel)

  • La préparation de votre serveur de jeu pour Edgegap

  • La compilation et le téléversement avec l'extension Edgegap pour Cocos

  • Le déploiement d'un serveur de test et la connexion à celui-ci

  • L'ajout du matchmaking (optionnel)

  • La livraison de builds web et natives

  • Le test de la boucle complète avec deux joueurs

Vous pouvez procéder de deux manières différentes, ou les combiner :

  • Avec un agent de codage. Connectez Claude Code, Cursor ou un autre agent au serveur MCP d'Edgegap et à ses compétences d'agent. L'agent apporte les modifications au serveur, configure l'extension et intègre le matchmaker dans vos scripts Cocos. Vous vous connectez, parcourez l'extension en quelques clics et effectuez les tests de jeu.

  • Manuellement. Chaque étape ci-dessous fonctionne également sans agent, grâce à l'extension Edgegap pour Cocos dans l'éditeur.

Ce guide utilise le fork d'Edgegap de la démo de morpion Cocos de Colyseus, mise à niveau vers Cocos Creator 3.8.8 et Colyseus 0.17. Il a été testé sur Edgegap le 29 octobre 2026 avec une build web : mise en relation via le matchmaker, partie jouée jusqu'au bout et arrêt automatique du serveur.

Aucune carte de crédit requise. L'offre gratuite inclut les ressources nécessaires pour déployer un véritable serveur de jeu.

Aucune carte de crédit requise. L'offre gratuite inclut les ressources nécessaires pour déployer un véritable serveur de jeu.

Quel serveur votre jeu utilise-t-il ?

Serveur de votre jeu

Comment suivre ce guide

Testé sur Edgegap

Colyseus

Toutes les étapes, avec l'exemple du morpion comme référence et la compétence edgegap-colyseus

Oui, avec une version web-desktop (29 octobre 2026)

Votre propre serveur WebSocket Node.js (ws, socket.io)

Les mêmes étapes, avec les modèles serveur et client de la compétence edgegap-cocos

Les modèles s'exécutent localement ; pas encore de bout en bout sur Edgegap

D'autres langages fonctionnent également : le serveur doit uniquement s'exécuter dans un conteneur Linux.

Cocos Creator tic-tac-toe sample in play: a hand-drawn board on lined paper, a 5-second turn timer and the prompt “Your move!”

Guide étape par étape

Étapes d'intégration détaillées

1. Avant de commencer

  • Un compte Edgegap gratuit. Vérifiez votre e-mail. Aucune carte de crédit n'est requise pour tester.

  • Cocos Creator 3.8 ou plus récent. L'exemple utilise la version 3.8.8.

  • Le serveur de votre jeu dans un dossier de votre projet (l'extension cherche dans Server/ par défaut), avec Node.js 22 pour un serveur Node.js.

  • Docker Desktop, en cours d'exécution. L'extension Edgegap Cocos fonctionne sous Windows et macOS.

  • Pour le chemin de l'agent : un jeton d'API Edgegap, accessible depuis Tableau de bord → Paramètres utilisateur → Jetons. Il s'applique à l'ensemble de l'organisation, traitez-le donc comme un mot de passe : ne l'intégrez jamais dans un client, dans l'image de votre serveur ou dans une discussion.

Raccourci : exécutez d'abord l'exemple. Clonez le fork du morpion, exécutez cd Server && npm install && npm start, puis ouvrez le projet dans Cocos Creator 3.8.8 et lancez l'aperçu (localhost:7456) dans deux onglets de navigateur. Chaque modification de l'étape 3 y est déjà intégrée.

2. Connectez votre agent de codage à Edgegap

Ignorez cette étape si vous faites tout manuellement.

Le serveur MCP Edgegap permet à votre agent de créer des applications et des versions, de déployer des serveurs, de lire les journaux et de générer des configurations de matchmaker sur votre compte. Deux compétences couvrent Cocos Creator : edgegap-colyseus lorsque votre serveur est Colyseus (testé avec l'exemple tic-tac-toe), et edgegap-cocos pour tout autre serveur, avec un squelette de serveur, les fichiers clients Cocos et les paramètres de l'extension.

Claude Code : installez le plugin Edgegap. Il ajoute à la fois le serveur MCP et les compétences, et demande votre jeton d'API lors de l'installation (stocké dans le gestionnaire d'identifiants de votre système) :

/plugin marketplace add edgegap/llm-agent-skills, puis /plugin install edgegap@edgegap. Redémarrez la session.

Vous voulez seulement le serveur MCP, sans le plugin ? Exécutez plutôt ceci dans votre propre terminal : claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token YOUR_EDGEGAP_API_TOKEN" --scope user. Ne faites pas les deux, sinon vous aurez deux serveurs edgegap.

Cursor, VS Code et autres clients qui envoient des en-têtes : ajoutez https://mcp.edgegap.dev/mcp avec l'en-tête Authorization: token YOUR_EDGEGAP_API_TOKEN, et installez les compétences avec npx skills add edgegap/llm-agent-skills --skill "*".

Claude Desktop : les connecteurs personnalisés ne peuvent pas envoyer l'en-tête, utilisez donc le serveur local à la place (Node 22) : { "mcpServers": { "edgegap": { "command": "npx", "args": ["-y", "@edgegap/mcp"] } } }. Il vous demandera le jeton lors de la première utilisation.

Vérifiez que cela fonctionne :

« Liste mes applications Edgegap. »

3. Préparez votre serveur de jeu pour Edgegap

Edgegap démarre un serveur lorsqu'un match en a besoin. Seul votre jeu sait quand le match est terminé, le serveur arrête donc son propre déploiement. Sinon, un serveur vide continue de fonctionner, et d'être facturé, jusqu'à sa durée maximale.

  • Écoutez sur le port défini par PORT, sur 0.0.0.0, via WebSocket. Les builds web servis via https:// ne peuvent ouvrir que du wss://. La mise à niveau TLS (étape 4) gère le certificat, de sorte que votre serveur communique en simple ws.

  • Un module de cycle de vie qui s'exécute uniquement sur Edgegap (lorsque ARBITRIUM_REQUEST_ID est défini, ce qu'Edgegap fait à chaque déploiement). Il arrête le déploiement lorsque personne ne s'est connecté dans les 120 secondes, lorsque le serveur est vide depuis 30 secondes ou lorsque le match se termine. Dans l'exemple, il s'agit de Server/src/edgegap.ts.

  • Terminez le match : verrouillez la salle, affichez le résultat pendant quelques secondes, déconnectez les joueurs, puis arrêtez. Gérez également SIGTERM : informez les joueurs et quittez.

  • Colyseus : désactivez le playground et le monitor sur Edgegap : toute personne possédant l'adresse du serveur pourrait les ouvrir. L'exemple ne les monte que lorsqu'il ne s'exécute pas sur Edgegap.

  • Un Dockerfile dans le dossier du serveur, avec Node.js comme processus principal. L'extension en génère un de départ si vous n'en avez pas.

Avec votre agent :

« Charge la compétence edgegap, puis edgegap-colyseus (ou edgegap-cocos si mon serveur n'est pas Colyseus). Ajoute le cycle de vie Edgegap au serveur de mon jeu Cocos dans Server/ : écoute sur PORT, arrête le déploiement quand personne ne rejoint, quand tout le monde quitte et quand un match se termine, et gère SIGTERM. Ensuite, teste-le localement dans Docker. »

4. Créez et mettez en ligne votre serveur

Edgegap exécute votre serveur dans un conteneur. Utilisez l'une des options, ou les deux.

Option A : l'extension Edgegap pour Cocos. Elle compile, teste, téléverse et déploie votre serveur depuis un panneau unique dans l'éditeur.

  • Installation : téléchargez l'extension et copiez-la dans votre projet sous extensions/edgegap-extension/. Elle est précompilée, il n'y a donc rien à installer. Dans Cocos Creator, ouvrez Extension → Extension Manager → Project et activez edgegap-extension, puis ouvrez Extension → Edgegap → Open Panel.

  • Connexion : sélectionnez Get a token (connexion en un clic sur le tableau de bord Edgegap), collez-le et sélectionnez Verify and sign in. L'extension récupère automatiquement vos identifiants de registre. Un jeton d'API standard fonctionne également : le panneau demande alors le Projet, le Nom d'utilisateur et le Jeton depuis la page Container Registry du tableau de bord. Les deux restent dans votre profil utilisateur Cocos Creator, jamais dans le projet.

  • Serveur : le dossier du serveur, le nom de l'image, le tag (un horodatage UTC, également utilisé comme nom de version), le port, le protocole WS avec TLS Upgrade activé, et le nom du port gameport. Ces paramètres sont enregistrés dans le projet, afin que votre équipe puisse les partager.

  • Build image, puis Run locally et pointez un client vers ws://localhost:<port>. Utilisez Stop local lorsque vous avez terminé.

  • Push image and create version : pousse l'image, crée l'application si nécessaire, et crée la version avec votre port, CPU, mémoire et durée maximale.

L'extension ne définit pas de politique de redémarrage ni de variables d'environnement. Après le premier téléversement, ouvrez la version dans le tableau de bord, définissez la politique de redémarrage sur Never, et ajoutez les variables d'environnement lues par votre serveur.

Option B : demandez à votre agent.

« Compile le serveur de mon jeu Cocos situé dans Server/ pour linux/amd64, pousse-le sur mon Edgegap Container Registry avec un nouveau tag, et crée l'application ainsi que la version de l'application : port de mon serveur, protocole WS, TLS Upgrade activé, nommé gameport, 0.25 vCPU et 512 Mo, politique de redémarrage never. »

L'agent vous demande d'exécuter vous-même docker login registry.edgegap.com avec le nom d'utilisateur et le jeton issus de la page Container Registry, afin que ces identifiants restent en dehors de la discussion. Utilisez un nouveau tag d'image pour chaque compilation, jamais latest.

Pour l'intégration continue (CI), le fichier scripts/e2e.mjs de l'extension exécute les mêmes étapes sans l'éditeur. Pour seulement expédier des builds, edgegap/deploy-action est plus simple.

5. Déployez un serveur de test et connectez-vous

  • Dans le panneau, sélectionnez Deploy near me. Cela démarre un serveur proche de votre adresse IP publique et affiche l'adresse à laquelle les clients se connectent : wss://<id>.pr.edgegap.net:<port>. Stop server l'arrête ; il s'arrête également de lui-même une fois la durée maximale atteinte.

  • Transmettez l'adresse à un client. Dans la version web de l'exemple, ajoutez ?server=wss://... à l'adresse de la page. Utilisez toujours le nom d'hôte et non l'adresse IP, sinon la vérification du certificat échoue.

  • Si la première tentative de connexion échoue avec l'erreur 502, réessayez : un serveur qui vient de démarrer peut renvoyer une erreur 502 pendant quelques secondes. La fonction joinWithRetry de l'exemple réessaie 10 fois, à 2 secondes d'intervalle.

Lorsque les joueurs quittent, le serveur arrête son propre déploiement et celui-ci disparaît du tableau de bord. L'offre gratuite exécute un seul déploiement à la fois.

6. Ajouter le matchmaking

Le matchmaker d'Edgegap regroupe les joueurs, déploie votre serveur près d'eux et fournit son adresse à chaque client.

  • Partez du fichier edgegap/matchmaker-config.json de l'exemple : un profil casual de 2 joueurs. Définissez la version de l'application sur le tag que vous avez téléversé.

  • Listez vos adresses web dans allowed_cors_origins : chaque adresse qui héberge votre version web, plus http://localhost:7456 pour la prévisualisation Cocos. Sinon, le navigateur bloquera les réponses du matchmaker.

  • Dans le tableau de bord, ouvrez Matchmaker, sélectionnez Create Matchmaker, téléversez le fichier et sélectionnez Create and Start. Copiez son API URL et son Auth Token. L'Auth Token est destiné à être intégré dans votre jeu : il ne peut que créer et lire des tickets de matchmaking. Il ne s'agit pas de votre jeton d'API Edgegap.

  • Dans l'exemple : ajoutez ?mm=<API URL>&mmToken=<Auth Token> à l'adresse de la page, ou remplissez les champs Matchmaker URL et Token du composant SceneManager sur le nœud Canvas.

  • Dans votre propre projet : copiez les fichiers Matchmaker.ts et joinWithRetry.ts de l'exemple dans vos scripts et exécutez npm i @edgegap/sdk : Matchmaker.ts utilise le SDK JavaScript d'Edgegap. Annulez le ticket lorsqu'un joueur quitte pendant la recherche.

Avec votre agent :

« En utilisant la compétence edgegap-colyseus (ou edgegap-cocos), ajoute le matchmaking Edgegap à mon client Cocos : un profil casual de 2 joueurs, mes adresses web et localhost:7456 dans allowed_cors_origins, un bouton Trouver une partie, et une connexion qui réessaie après l'attribution du serveur. »

Manuellement : consultez la documentation Matchmaking.

Lorsque vous déployez une nouvelle version du serveur, mettez à jour application.version dans la configuration du matchmaker (Stop, Edit, Start), sinon les parties continueront à déployer l'ancienne version.

7. Déployez les versions web et natives

  • Web (web-desktop, web-mobile) : se connecter à wss:// par nom d'hôte. Testé sur Edgegap avec un build web-desktop dans Chrome ; web-mobile n'a pas été exécuté.

  • Natif (Windows, macOS, Android, iOS) : Cocos Creator prend en charge les WebSockets dans les builds natifs, et depuis Cocos Creator 3.5, wss:// sur Android ne nécessite plus de fichier de certificat. Les builds natifs n'ont pas encore été exécutés sur Edgegap. Si un build Windows échoue lors de la connexion sécurisée, transmettez un bundle de certificats CA au WebSocket. Un jeu qui ne propose que des builds natifs peut également utiliser des ports UDP ou TCP, sans mise à niveau TLS.

  • Nouveaux builds de serveur : dans le panneau, sélectionnez Now pour un nouveau tag, puis Build image et Push image and create version. Pointez ensuite le matchmaker vers la nouvelle version.

8. Testez la boucle complète avec deux joueurs

  • Assurez-vous qu'aucun déploiement de test n'est encore en cours d'exécution. Avec le forfait gratuit, un déploiement restant bloque celui du matchmaker.

  • Ouvrez deux clients avec les paramètres du matchmaker : deux builds web, ou un build web et le bot d'exemple (node scripts/e2e.mjs --players=1 --mm=<API URL> --mm-token=<Auth Token> dans Server/, en moins de 30 secondes).

  • Gardez l'onglet Cocos au premier plan : un build web Cocos dans un onglet masqué n'exécute aucune image, de sorte qu'il ne répond jamais à son tour.

  • Les deux joueurs arrivent sur le même serveur et jouent. Lorsque le match se termine, le serveur arrête son propre déploiement et il disparaît du tableau de bord.

Avant le lancement : définissez inspect sur false dans la configuration du matchmaker, n'indiquez que vos véritables adresses web, augmentez la durée maximale pour l'adapter à vos matchs, et n'autorisez que les joueurs mis en relation (chaque déploiement mis en correspondance reçoit ses identifiants de ticket dans MM_TICKET_IDS).

Avec le forfait gratuit, le matchmaker s'arrête 3 heures après chaque démarrage (redémarrez-le depuis le tableau de bord), les déploiements s'arrêtent après 60 minutes, et un seul déploiement s'exécute à la fois.

Étapes suivantes

Étapes suivantes

Vous passez en production ? Demandez à votre agent d'exécuter la liste de contrôle de la compétence edgegap-launch.

Bloqué ? Demandez à votre agent de charger edgegap-troubleshoot, ou posez vos questions à notre équipe et à d'autres studios sur le Discord d'Edgegap.

Questions Fréquemment Posées

Questions fréquentes sur l'hébergement de jeux multijoueurs Cocos Creator sur les serveurs dédiés d'Edgegap.

Cocos Creator permet-il de créer un serveur dédié ?

Non. Le serveur multijoueur d'un jeu Cocos Creator est un programme distinct, généralement une application Node.js telle que Colyseus ou votre propre serveur WebSocket. Edgegap exécute ce programme dans un conteneur, à raison d'un serveur par partie, à proximité de ses joueurs.

Quelles versions de Cocos Creator sont compatibles ?

L'extension Edgegap Cocos nécessite Cocos Creator 3.8 ou une version plus récente, et l'échantillon utilise la version 3.8.8. La partie serveur ne dépend pas de votre version de Cocos : tout serveur fonctionnant dans un conteneur Linux convient.

Puis-je utiliser Colyseus avec Cocos Creator sur Edgegap ?

Oui. Le fork d'Edgegap de la démo de morpion Cocos de Colyseus exécute un serveur Colyseus 0.17 par match sur Edgegap, démarré par le matchmaker, et a été testé avec une version Web de Cocos.

Comment les builds web de Cocos se connectent-ils au serveur en toute sécurité ?

Une page desservie via https:// ne peut ouvrir que des WebSockets sécurisés (wss://). Activez TLS Upgrade sur le port WS du serveur : Edgegap gère le certificat et transfère le trafic non chiffré vers votre serveur. Connectez-vous par nom d'hôte, et non par adresse IP.

Ai-je besoin de l'extension Edgegap Cocos ?

Non. C'est le moyen le plus rapide depuis l'éditeur, mais vous pouvez compiler et pousser avec Docker et créer la version dans le tableau de bord, laisser votre agent IA le faire avec le serveur MCP d'Edgegap, ou déployer des versions depuis la CI avec edgegap/deploy-action.

Le jeton de matchmaking peut-il être inclus en toute sécurité dans mon jeu ?

Oui. Le jeton d'authentification du matchmaker peut uniquement créer et lire les tickets de matchmaking. Votre jeton d'API Edgegap contrôle l'ensemble de votre organisation, il ne va donc jamais dans un client de jeu.

Clients

Découvrez les témoignages de clients qui ont intégré Edgegap

31 études de cas sont disponibles auprès de studios ayant migré d'une autre plateforme vers Edgegap.

Principales raisons pour lesquelles ils ont choisi Edgegap

Découvrez l’impact de l’orchestration automatisée des serveurs de jeu d’Edgegap pour une expérience multijoueur impeccable.

Coût

Prix

Prix

Optimisez les coûts et les performances grâce à l'orchestration hybride

Optimisez les coûts et les performances grâce à l'orchestration hybride

Optimisez les coûts et les performances grâce à l'orchestration hybride

Cloud de périphérie

À la demande

0,00115 $

/ vCPU

/ MINUTE

Facturé à la minute, uniquement à l'utilisation

Payez quand les joueurs jouent. 0 serveur actif = 0 $

Déployez des serveurs de jeu dans le monde entier, par instance, dans plus de 615 emplacements edge cloud. Sans engagement.

Ajoutez simplement une carte de crédit.

Cloud de périphérie

À la demande

0,00115 $

/ vCPU

/ MINUTE

Facturé à la minute, uniquement à l'utilisation

Payez quand les joueurs jouent. 0 serveur actif = 0 $

Déployez des serveurs de jeu dans le monde entier, par instance, dans plus de 615 emplacements edge cloud. Sans engagement.

Ajoutez simplement une carte de crédit.

Private Fleet (Bare Metal)

Capacité réservée

0,0261 $

/ vCPU

/ HEURE

Facturé mensuellement, toujours actif

280 $ par hôte/mois (tarif sur 12 mois), ou 350 $ par mois

Optimisez la rentabilité de votre serveur de jeu grâce à l'hébergement sans frais de transfert de données sortantes (egress-free) des flottes privées (Private Fleets).

Permanent, disponible 24h/24 et 7j/7, exclusif à votre studio.

Private Fleet (Bare Metal)

Capacité réservée

0,0261 $

/ vCPU

/ HEURE

Facturé mensuellement, toujours actif

280 $ par hôte/mois (tarif sur 12 mois), ou 350 $ par mois

Optimisez la rentabilité de votre serveur de jeu grâce à l'hébergement sans frais de transfert de données sortantes (egress-free) des flottes privées (Private Fleets).

Permanent, disponible 24h/24 et 7j/7, exclusif à votre studio.

Votre facture varie selon le tarif et l'utilisation, qui peuvent varier en fonction
du type de jeu, du nombre de joueurs et plus encore.

Votre facture varie selon le tarif et l'utilisation, qui peuvent varier en fonction
du type de jeu, du nombre de joueurs et plus encore.

Modélisez votre utilisation avec notre calculateur d'estimation ->

Modélisez votre utilisation avec notre calculateur d'estimation ->

Fonctionnalités et tarifs d'Edgegap : comparaison détaillée entre Edge Cloud et Private Fleets

Fonctionnalités et tarifs d'Edgegap : comparaison détaillée entre Edge Cloud et Private Fleets

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.