Il s'agit du propre échantillon Unity de PlayFab pour PlayFab Multiplayer Servers, issu de MpsSamples de Microsoft, fonctionnant à la place sur Edgegap. Le fork d'Edgegap conserve les mêmes serveur et client Unity, supprime le SDK PlayFab Game Server (GSDK), puis compile et téléverse le serveur avec le plugin Unity d'Edgegap.
Rien n'est pré-provisionné. Il n'y a aucune région de build, aucun pool de secours ni aucune machine virtuelle à dimensionner : chaque serveur dédié démarre à la demande, à proximité de ses joueurs, et s'arrête de lui-même lorsqu'ils partent.
Le réseau d'Edgegap s'étend sur plus de 615 emplacements Edge Cloud (en savoir plus). Chaque serveur est déployé vers le meilleur emplacement disponible pour ses joueurs et n'est facturé que pendant la durée de la partie.
Cloner l'échantillon : Échantillon PlayFab Multiplayer Servers sur GitHub
Vous quittez PlayFab Multiplayer Servers ? Lisez le guide de migration PlayFab
Vous conservez PlayFab Matchmaking ? Suivez le guide d'intégration PlayFab
Plateformes : Client de bureau Windows (testé), serveur dédié Linux. Échantillon original par Microsoft PlayFab, sous licence Apache 2.0.
Comment ça fonctionne
Vous compilez le serveur Unity et le téléversez en tant que version d'application Edgegap, à l'aide du plugin Unity d'Edgegap.
Une petite application console,
EdgegapAllocatorSample, demande à Edgegap un serveur proche des adresses IP des joueurs. Elle joue le rôle de l'appelRequestMultiplayerServerde PlayFab et affiche l'adresse du serveur une fois qu'il est prêt.Le serveur écoute sur le port TCP 7777 dès son démarrage. Les clients se connectent à l'adresse avec
-server host:port.Lorsque les joueurs partent, le serveur arrête son propre déploiement, ce qui interrompt la facturation.
Sur PlayFab Multiplayer Servers vs sur Edgegap :
Sur PlayFab Multiplayer Servers (GSDK) | Sur Edgegap |
|---|---|
|
|
| Inutile. Le serveur consigne son nombre de joueurs dans les journaux |
| Edgegap envoie SIGTERM ; les joueurs reçoivent le même |
Build, taille de VM, serveurs par VM, serveurs de secours | Une version d'application : image, 0,5 vCPU / 1 Go par serveur, port |
|
|
Le serveur tourne jusqu'à ce que PlayFab l'arrête | Le serveur arrête son propre déploiement 120 s après le démarrage si personne ne le rejoint, ou 30 s après le départ du dernier joueur |
1. Avant de commencer
Un compte Edgegap gratuit et un jeton d'API provenant de Tableau de bord → Paramètres utilisateur → Jetons. Il s'applique à toute l'organisation : conservez-le sur votre machine ou votre backend, jamais dans un client de jeu.
Unity 2021.3.45f2, avec la Prise en charge du build Linux et la Prise en charge du build de serveur dédié Linux. Les deux projets utilisent cette version.
Docker Desktop, pour la création du conteneur du plugin.
Le SDK .NET 8 ou plus récent, pour
EdgegapAllocatorSample.Clonez le fork. L'échantillon se trouve dans
UnityMirror/(UnityServeretUnityClient) etEdgegapAllocatorSample/.
Git : Unity nécessite un client Git (2.14.0 ou plus récent) sur votre PATH pour installer des packages à partir d'une URL Git, comme le plugin Edgegap. macOS en possède généralement déjà un (Xcode Command Line Tools) ; sur Windows, installez Git.
2. Compiler et téléverser le serveur
Ouvrez UnityMirror/UnityServer dans Unity. Le plugin Edgegap Unity est déjà présent dans ses packages, fixé à la version 3.2.1. Ouvrez Tools → Edgegap Server Hosting :
Sign in with Edgegap, puis Build server.
Containerize with Docker : nom de l'image
mps-unity-mirror, tag d'image vide (le plugin utilise l'heure UTC actuelle).Vérification locale facultative : paramètres d'exécution
-p 7777:7777/tcp, puis Deploy local container.Upload to Edgegap : application
mps-unity-mirror, puis Upload image and Create app version.
Dans le formulaire de version :
Un port : nom
gameport, 7777, TCP (l'exemple utilise le transport Telepathy de Mirror).0,5 vCPU et 1 Go.
Une durée maximale de 60 minutes. Le serveur s'arrête également de lui-même.
Si demandé, le nom d'utilisateur et le jeton du registre provenant de la page Container Registry du tableau de bord.
Pour compiler plutôt depuis la ligne de commande (CI, tests scriptés), avec le projet fermé dans l'Éditeur :
"<Unity>" -batchmode -projectPath UnityMirror/UnityServer -executeMethod EdgegapPluginBuild.BuildServer -logFile build-server.log
3. Démarrer un serveur
EdgegapAllocatorSample est l'équivalent Edgegap du MpsAllocatorSample de PlayFab : une application console .NET qui appelle l'API Edgegap avec HttpClient, sans SDK. Fournissez-lui votre jeton, l'application et le nom de version de l'étape 2 :
cd EdgegapAllocatorSample
export EDGEGAP_API_TOKEN="token xxxxxxxx" EDGEGAP_APP=mps-unity-mirror EDGEGAP_VERSION=<version name>
dotnet run -- deploy <your public IP>
Elle affiche -server <host>:<port> une fois que le serveur est prêt. Vous pouvez également transmettre les joueurs sous la forme latitude,longitude, plusieurs à la fois : Edgegap choisit le meilleur emplacement disponible pour l'ensemble du groupe.
Exécutez dotnet run sans arguments pour afficher le menu : lister les versions, lister les déploiements, obtenir un déploiement ou en arrêter un.
MpsAllocatorSample de PlayFab | EdgegapAllocatorSample | API Edgegap |
|---|---|---|
| 1 : déployer un serveur, attendre qu'il soit prêt, afficher |
|
| 2 : lister les versions de l'application |
|
| 3 : lister les déploiements |
|
| 4 : obtenir un déploiement |
|
| 5 : arrêter un déploiement |
|
Chaque déploiement qu'elle démarre porte le tag edgegap-allocator-sample.
4. Connecter deux clients
Générez UnityClient pour Windows. Il n'a pas de build serveur, donc la ligne de commande d'Unity fonctionne telle quelle :
"<Unity>" -batchmode -quit -projectPath UnityMirror/UnityClient -buildTarget Win64 -buildWindows64Player Builds/Client/win64/Client.exe
Lancez ensuite deux clients avec l'adresse obtenue à l'étape 3 :
UnityMirror/UnityClient/Builds/Client/win64/Client.exe -server <host>:<port>
Les deux rejoignent le même serveur. Sans -server, le client utilise l'adresse et le port définis sur son NetworkManager dans l'Inspector. Quittez les clients : le serveur arrête son déploiement 30 secondes plus tard et disparaît du tableau de bord Edgegap.
5. Migrez votre propre jeu hors de PlayFab Multiplayer Servers
Ce fork est une référence fonctionnelle pour quitter PlayFab Multiplayer Servers : votre agent de codage peut copier ses fichiers testés au lieu de les écrire de zéro. Quatre modifications permettent de migrer un serveur Unity hors du GSDK :
Supprimez le GSDK. Supprimez
Assets/PlayFabSdket remplacezAgentListener.cspar un petit script serveur qui écoute sur un port fixe au démarrage (le fichierEdgegapServer.csdu fork conserve le même.meta, la scène n'a donc pas besoin d'être modifiée).Arrêtez le serveur vous-même. Appelez l'
ARBITRIUM_DELETE_URLqu'Edgegap fournit à chaque déploiement, avec leARBITRIUM_DELETE_TOKEN, lorsque personne ne rejoint ou que tout le monde est parti. AppelezSelfStop()lorsqu'un match se termine.Démarrez les serveurs via l'API Edgegap. Remplacez
RequestMultiplayerServerparPOST /v2/deployments, envoyé depuis votre backend, avec les IP ou les coordonnées des joueurs.Conteneurisez avec le plugin. Compilez, conteneurisez et téléversez avec le plugin Edgegap Unity, puis créez une version d'application avec le port de votre jeu.
Avec Mirror, démarrez le serveur via NetworkManager.StartServer() plutôt que NetworkServer.Listen, sinon les clients seront déconnectés car non authentifiés.
Avec votre agent :
« Charge la compétence edgegap, puis edgegap-unity et la compétence pour mon netcode. En utilisant github.com/edgegap/backend-game-sample-unity-mirror-playfab-mps (UnityMirror) comme référence, supprime le GSDK PlayFab de mon serveur Unity, fais-le écouter sur un port fixe au démarrage et arrête son propre déploiement Edgegap lorsqu'il est vide, puis conteneurise-le avec le plugin Edgegap Unity. »
Pour effectuer l'ensemble de la migration manuellement, consultez le guide de migration PlayFab.
6. Ajouter le matchmaking
L'exemple ne dispose pas encore de matchmaker : vous démarrez chaque serveur avec EdgegapAllocatorSample ou le tableau de bord. Pour regrouper les joueurs sur ces serveurs, choisissez l'une des options suivantes :
Conserver PlayFab Matchmaking. Désactivez l'allocation de serveur sur votre file d'attente et laissez une fonction Azure démarrer un serveur Edgegap pour chaque match. Le guide d'intégration de PlayFab détaille la procédure, et l'exemple SpaceEdge l'exécute de bout en bout.
Utiliser le matchmaker d'Edgegap. Un matchmaker hébergé qui démarre le serveur pour chaque match, sans aucun code backend. Consultez la documentation du matchmaker.
Limites connues
Aucun entremetteur (matchmaker) dans l'échantillon. Les serveurs démarrent depuis
EdgegapAllocatorSamplesur votre machine, avec votre jeton d'API. En production, démarrez-les depuis votre backend ou un matchmaker, jamais depuis un client de jeu.Le plugin 3.2.1 consigne le jeton d'arrêt automatique (self-stop token). Son Dockerfile exécute d'abord
env, de sorte que les journaux de déploiement affichent les variables injectées, y comprisARBITRIUM_DELETE_TOKEN. Corrigé dans la prochaine version du plugin (edgegap/buildtool-unity-plugin#62) : mettez à jour la version épinglée dès qu'elle sera disponible.Le serveur ne vérifie pas qui se connecte. Pour la production, transmettez les joueurs attendus au serveur et rejetez les autres.
Seul le client Windows a été testé. Les autres exemples PlayFab dans le fork (Unreal, télémétrie, encapsulation du GSDK) sont inchangés par rapport au dépôt de Microsoft.
Ce qui a été testé
Testé de bout en bout sur Edgegap le 29 octobre 2026, avec Unity 2021.3.45f2 et le plugin Edgegap Unity 3.2.1 :
EdgegapAllocatorSample deploya démarré le serveur à Toronto en quelques secondes.Deux clients Windows se sont connectés via TCP (
2 player(s) connected).Après leur déconnexion, le serveur a arrêté son propre déploiement.
Également exécuté localement dans Docker : même résultat, et
docker stopa envoyé au client connecté un message d'arrêt avant que le serveur ne se ferme.
Questions Fréquemment Posées
Questions sur l'exécution de l'exemple Multiplayer Servers de PlayFab sur Edgegap.
Puis-je exécuter les exemples de serveurs multijoueurs de PlayFab sur Edgegap ?
Oui. Le fork d'Edgegap des MpsSamples de Microsoft exécute l'échantillon Unity Mirror sur les serveurs dédiés d'Edgegap sans le GSDK. Il a été testé de bout en bout en octobre 2026, avec deux clients sur un serveur.
Ai-je besoin du GSDK PlayFab sur Edgegap ?
Non. Le serveur écoute sur un port fixe lorsqu'il démarre et arrête son propre déploiement lorsque les joueurs partent. Il n'y a aucun agent auquel faire rapport, aucun battement de cœur (heartbeat) et aucun état prêt à définir.
Qu'est-ce qui remplace RequestMultiplayerServer sur Edgegap ?
Un appel POST /v2/deployments à l'API Edgegap, avec les adresses IP ou les coordonnées des joueurs. Edgegap démarre le serveur au meilleur emplacement disponible pour eux et renvoie son adresse. Le EdgegapAllocatorSample de l'échantillon montre l'appel à côté de chaque commande MpsAllocatorSample.
Ai-je besoin de serveurs de secours sur Edgegap ?
Non. Chaque serveur démarre à la demande, à proximité de ses joueurs, il n'y a donc pas de pool en attente à dimensionner. Si votre jeu a besoin de serveurs préchauffés, les Private Fleets peuvent maintenir la capacité active.

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.

Un lancement mondial impeccable pour Rivals of Aether 2
Aether Studios
Découvrez comment Aether Studios a rapidement ajouté Edgegap et a offert un lancement et un post-lancement sans faille à sa communauté.
Étude de cas

Surmontez la latence introduite par l'utilisation de WiFi par la réalité virtuelle dans les jeux multijoueurs compétitifs.
Halfbrick Studios
Découvrez comment Halfbrick a réussi à lancer et à maintenir un accès anticipé axé sur le multijoueur sur la plateforme VR META Quest.
Étude de cas

L'application sociale de MENA ajoute des jeux en ligne
WOLF
Découvrez comment l'application sociale très populaire de la région MENA a facilement ajouté des jeux de matchmaking et d'orchestration multijoueur à WOLF Qanawat.
Étude de cas

L'orchestration hybride maintient Kickoff Tactics prêt pour tout type de trafic
Birch Games
Comment l'orchestration hybride d'Edgegap pour gérer tant le le trafic prévisible et imprévisible, grâce aux flottes "egress-free" et le cloud.
Étude de cas

Lunes de sang de 7 jours
The Fun Pimps & iLLOGIKA
Découvrez comment Illogika a considérablement réduit ses coûts de serveur et garanti l'expérience en ligne attendue par la franchise 7 Days to Die.
Étude de cas

La guerre en ligne authentique nécessite l'orchestration ultime
Highwire Games
Découvrez comment le besoin de performance de Highwire nécessite une orchestration que seul Edgegap peut fournir.
Étude de cas

22 000 avis, 4,8 étoiles et une infrastructure qui s'est adaptée automatiquement
Sinn Studios
Comment une intégration simple, prise en charge par Slack, a permis au titre VR à succès de Sinn Studio d'être mis en ligne rapidement et de s'y maintenir.
Étude de cas

Orchestration de Serveurs Dynamiques
Under NDA - AAA Studio
Découvrez comment l'un des plus grands studios AAA du monde a amélioré son expérience multijoueur pair à pair grâce à l'informatique en périphérie.
Étude de cas

Latence presque nulle pour un jeu de combat AAA
AAA Studio - Under NDA
Comment un projet non annoncé a permis d'obtenir le délai d'attente le plus bas possible et d'améliorer l'équité dans son jeu 1v1.
Étude de cas

Jouez aux dieux avec la physique multiplayer
Squido Studio
Découvrez comment Squido utilise les serveurs de jeu optimisés par Edgegap pour offrir un gameplay VR époustouflant et chaotique.
Étude de cas

Des solutions entièrement gérées qui font gagner du temps à un jeu VR
Dirty Pearl Studios
Découvrez comment Dirty Pearl Studios a gagné du temps de développement grâce à l'intégration facile d'Edgegap et à l'orchestration automatisée de son intégration avec Nakama.
Étude de cas

Déploiement instantané de serveurs globaux pour l'éducation médicale en XR
AlensiaXR
Comment AlensiaXR utilise Edgegap pour offrir des sessions d'anatomie partagées à faible latence et toujours disponibles aux étudiants en médecine du monde entier.
Étude de cas

The Lightkeepers : un jeu coopératif social en VR avec des serveurs dédiés
Spectral Games
Comment Spectral Games a utilisé Edgegap Matchmaking et Server Browser pour lancer des serveurs dédiés pour son salon social VR, sans aucune expérience préalable des serveurs.
Étude de cas

Déploiements rapides & fiables dans le monde pour le PvPvE Gravebound
Crater Studios
Comment l'orchestration et le matchmaking d'Edgegap ont aidé Crater Studios à se concentrer sur le gameplay plutôt que sur l'infrastructure.
Étude de cas

Échelle rapide du métavers web
Hiber
Découvrez comment Hiber a éliminé les incertitudes de sa planification de capacité serveur avec Edgegap.
Étude de cas

Exigences matérielles élevées et pools de serveurs de jeux personnalisés
Alderon Games
Découvrez comment Alderon Games utilise instantanément une pool personnalisée de serveurs de jeux à travers plusieurs fournisseurs dans le monde pour son MMO populaire.
Étude de cas

Intégration facile pour les développeurs indépendants
WhaleFood Games
Découvrez comment WhaleFood Games a "chassé" ses problèmes de netcode avec Edgegap.
Étude de cas

Une technologie qui propulse le premier jeu eSports de l'Asie du Sud-Est.
Anantarupa Studios
Découvrez comment Edgegap a transformé le paysage du jeu en Asie du Sud-Est en démocratisant des infrastructures complexes avec sa solution.
Étude de cas

Une frappe. Portée mondiale.
Triple Hill Interactive
Comment Triple Hill Interactive tire parti de l'orchestration d'Edgegap pour offrir une faible latence et améliorer l'équité dans un genre où chaque milliseconde compte.
Étude de cas

Un Battle Royale en équipe au rythme effréné... avec des peluches d'animaux armées jusqu'aux dents !
SANDYFLOOR
Découvrez comment un studio indépendant basé en Corée a lancé son jeu multijoueur dans le monde entier.
Étude de cas

Les courses de chevaux sur mobile disponible mondialement grâce à Edgegap.
Mirai Labs
Comment Mirai Labs propulse les courses multijoueurs mondiales de Pegaxy Blaze grâce au déploiement de serveurs juste-à-temps et au vCPU fractionné pour maintenir un coût bas.
Étude de cas

Gestion et distribution des serveurs
Matrioshka Games
Lisez comment Matrioshka Games a réussi à expédier un Battle Royale en accès anticipé avec des ressources limitées.
Étude de cas

À mon signal, déchaînez l'enfer !
TyGames
Découvrez comment le studio indépendant TyGames immerge les joueurs dans un combat multijoueur de gladiateurs à la troisième personne.
Étude de cas

Orchestration Instantanée Mondiale
Soliton Interactive
Découvrez comment Soliton Interactive a réalisé l'impossible… Livrer son premier jeu jouable en mode multijoueur !
Étude de cas

Le jeu de hockey avec une physique côté serveur & une latence sous les 50ms
NS7
Découvrez pourquoi seul Edgegap pourrait permettre à un studio indépendant de réaliser sa vision d'un gameplay sportif F2P de qualité AAA grâce à la physique côté serveur et à l'autorité.
Étude de cas

Déploiements régionaux pour les jeux en ligne
X1 Contra 1
X1 Contra 1 propose des jeux PvP décontractés en temps réel à sa base de joueurs brésilienne grâce à un hébergement économique et à des déploiements régionaux
Étude de cas

Payez uniquement lorsque les joueurs jouent : une infrastructure abordable
Meltdown Interactive
Comment Edgegap a aidé le développeur indépendant Meltdown Interactive Media à résoudre la mise à l’échelle rentable et le matchmaking sans complexité
Étude de cas

Une plateforme Edgegap, trois profils réseau très différents
Warped Games
Comment Warped Games gère un hub social, du coopératif en temps réel et du coopératif au tour par tour, le tout sur la même API de déploiement Edgegap et le même pipeline de conteneurs.
Étude de cas

Pool Live Tour Max
RETA Games
Étude de cas

Le tireur d'extraction POP Web3 de Corée devient mondial, instantanément
NDUS Entertainment
Comment XOCIETY a facilement ajouté l'orchestration Edgegap et intégré un matchmaking personnalisé en travaillant aux côtés des Edgegap Ping Beacons pour optimiser la latence.
Étude de cas

Multijoueur dans chaque dimension
Arcadia.tv
Découvrez comment Arcadia.tv utilise le réseau edge d'Edgegap pour offrir un sport VR innovant basé sur l'équipe et la localisation.
Étude de cas

Un jeu mobile F2P réduit ses coûts d'infrastructure grâce aux serveurs JIT
Game Changers Worldwide
Comment Game Changer Worldwide a hébergé le PvP 3v3 en temps réel de Rumble Rush à l'échelle mondiale sur mobile.
Étude de cas
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.









