BR200 est l'exemple de battle royale à la troisième personne de Photon pouvant accueillir jusqu'à 200 joueurs, conçu sur Photon Fusion 2. Il peut déjà fonctionner en tant que serveur dédié sans interface graphique (headless). Le kit d'Edgegap exécute ce serveur sur Edgegap, à raison d'un déploiement par partie.
Le kit ne modifie aucun code de BR200 ou de Fusion. Les joueurs trouvent toujours des parties via Photon Cloud, avec votre propre Photon App ID. Seul le serveur change d'emplacement : il s'exécute sur Edgegap au lieu de la machine d'un joueur, et les clients s'y connectent directement plutôt que par l'intermédiaire d'un relais Photon.
Le réseau d'Edgegap s'étend sur plus de 615 emplacements Edge Cloud (en savoir plus). Chaque serveur est déployé sur le meilleur emplacement disponible pour ses joueurs et s'arrête automatiquement à la fin de la partie, ce qui interrompt également la facturation.
La documentation de Fusion 2 de Photon liste Edgegap comme fournisseur d'hébergement de sessions de jeu.
Obtenir le kit : Kit BR200 pour Edgegap sur GitHub
Guide complet : ajoutez Edgegap à votre propre jeu Fusion grâce au guide d'intégration de Photon Fusion 2
Plateformes : serveur dédié Linux (Docker, linux/amd64). Testé avec des clients Windows, compilé sur Windows 11 avec Unity 6000.3.11f1. Le kit est sous licence MIT ; BR200 provient de l'Unity Asset Store et reste soumis au CLUF de l'Asset Store ainsi qu'aux conditions de Photon. Le dépôt ne contient aucun code de BR200 ou de Fusion.
Comment ça marche
Vous lancez un déploiement Edgegap avec les adresses IP publiques des joueurs. Edgegap le positionne au plus près d'eux.
Le script de démarrage du kit lit les variables d'Edgegap et lance BR200 avec ses propres options :
-dedicatedServer, adresse de liaison0.0.0.0, port 7777/UDP, et l'adresse du déploiement comme nom de session.Le script sélectionne la région Photon la plus proche du déploiement. Le serveur enregistre sa session auprès de Photon Cloud dans cette région.
Les clients utilisent le même App ID Photon, la même version de l'application et la même région, trouvent la session par son nom (ou dans la liste des serveurs du menu), et se connectent en Direct au serveur Edgegap.
Lorsque la partie se termine et que BR200 se ferme, le script demande à Edgegap d'arrêter le déploiement.
Ce que le kit ajoute :
Chemin | Ce qu'il fait |
|---|---|
| Ajoute Tools > Edgegap BR200 : vérifie le projet (serveur IL2CPP, chaîne d'outils Linux, code unsafe, scènes, App ID, Peer Mode) et compile le serveur Linux dans |
| Image Ubuntu 22.04 qui exécute le serveur en tant qu'utilisateur non-root. |
| Associe les variables |
| Envoie uniquement le build du serveur à Docker ; conserve les fins de ligne Linux. |
| Compiler, packager et pousser, exécuter localement, lancer les tests dans un conteneur. |
| Un corps de version d'application et une requête de déploiement pour l'API Edgegap. |
| 46 vérifications sur le script de démarrage. Aucun Unity nécessaire. |
La documentation de Fusion 2 de Photon liste Edgegap comme fournisseur d'hébergement de sessions de jeu pour les serveurs dédiés Fusion.

Le battle royale BR200 de Photon, avec chaque partie sur son propre serveur dédié Edgegap.
1. Avant de commencer
Un compte Edgegap gratuit.
BR200 depuis l'Unity Asset Store. Le dépôt est un kit et n'inclut pas le jeu.
Unity avec le module de build Linux Dedicated Server. Testé avec Unity 6000.3.11f1, BR200 2.1.0 et Fusion 2.1.1.
Votre propre App ID Photon Fusion depuis le tableau de bord Photon. Chaque développeur a besoin du sien ; le kit n'en fournit jamais.
Facultatif : le plugin Edgegap pour Unity, si vous préférez compiler et téléverser depuis l'éditeur.
Clonez le kit.
Git : Unity nécessite un client Git (2.14.0 ou plus récent) dans votre PATH pour installer des paquets depuis une URL Git, comme le plugin Edgegap. macOS en possède généralement déjà un (Xcode Command Line Tools) ; sous Windows, installez Git.
2. Ajoutez le kit et configurez Photon
Copiez Assets/EdgegapBR200, edgegap/, scripts/, .dockerignore et .gitattributes dans la racine du projet BR200, à côté de Assets/.
Ensuite, dans Unity :
Tools > Fusion > Realtime Settings : collez votre ID d'application Fusion et notez l'App Version. Le serveur et les clients doivent partager l'ID d'application, l'App Version et la région Photon, sinon ils ne pourront pas se trouver.
Tools > Fusion > Network Project Config : définissez Peer Mode sur
Single.Le serveur doit utiliser IL2CPP, la valeur par défaut de BR200. Sur un serveur Mono, les RPC de BR200 échouent et les joueurs n'obtiennent jamais de personnage. Pour compiler Linux IL2CPP sous Windows avec Unity 6000.3 ou ultérieur, ajoutez
com.unity.toolchain.win-x86_64-linuxetcom.unity.sdk.linux-x86_64dans le Package Manager (+ > Add package by name).Exécutez Tools > Edgegap BR200 > Check Project et corrigez ce qu'il signale.
Vous ne modifiez pas la scène Loader ni aucun script : le mode, l'adresse, le port, la session et la région du serveur proviennent tous de la ligne de commande.
3. Construisez le serveur et déployez-le sur Edgegap
Créez le serveur Linux depuis un terminal (Git Bash fonctionne sous Windows), ou avec Tools > Edgegap BR200 > Build Linux Server. La compilation IL2CPP a pris 56 minutes lors de notre test :
scripts/build-server.sh
Empaquetez et publiez l'image. Connectez-vous d'abord avec les identifiants de la page Container Registry :
scripts/package.sh registry.edgegap.com/<project>/br200
Si vous utilisez plutôt le plugin Edgegap, pointez son étape Containerize vers edgegap/Dockerfile et conservez le chemin de compilation Builds/EdgegapServer.
Dans le tableau de bord, créez l'application br200 ainsi qu'une version avec le tag affiché par le script :
Un port : nom
gameport, 7777, UDP.Politique de redémarrage
never. Le déploiement prend fin lorsque la partie se termine.Durée maximale un peu supérieure à votre match le plus long (60 minutes dans l'exemple).
1 vCPU et 2 Go pour commencer. Un match complet à 200 joueurs n'a pas encore été dimensionné.
examples/app-version.json contient les mêmes paramètres pour l'API.
4. Lancez une partie et connectez-vous
Testez d'abord l'image sur votre propre machine, avec les mêmes variables que celles obtenues lors d'un déploiement réel :
scripts/run-local.sh eu
En local, les clients affichent le type de connexion Relayed : un client situé sur la même machine ne peut pas accéder directement à l'adresse de Docker Desktop. Sur Edgegap, la même image donne Direct.
Lancez ensuite un déploiement depuis le tableau de bord, le plugin ou l'API (examples/deploy-request.json), avec les adresses IP publiques des joueurs. Son FQDN, tel que 0a1b2c3d4e5f.pr.edgegap.net, correspond également au nom de session BR200. Les premières lignes de log indiquent l'adresse de liaison (bind address), l'adresse publique et la région Photon choisie par le serveur.
Pour rejoindre, ouvrez la scène configurée comme Batch Mode Scene du Loader, et dans le Standalone Manager, définissez Game Mode sur Client, Server Name et Session Name sur le FQDN, et Region sur la région du serveur. Lancez ensuite la partie. (Rejoindre depuis la liste des serveurs de la scène Menu devrait également fonctionner, mais n'a pas été testé.)
BR200 démarre un délai d'attente de 120 secondes au démarrage du serveur. Connectez-vous dès que le déploiement est Prêt (Ready).
Dans un client connecté, appuyez sur Tab : le CT (type de connexion) de l'overlay devrait afficher Direct.
5. Ajoutez-le à votre propre jeu Fusion
Le kit est une référence fonctionnelle : votre agent de codage démarre à partir de fichiers qui ont déjà été exécutés sur Edgegap, il s'appuie donc sur une configuration testée plutôt que de faire des suppositions.
Pour BR200, le kit ne modifie aucun code de jeu (voir le tableau dans « Comment ça marche »). Pour votre propre jeu Fusion, voici les éléments à reprendre :
Exécutez en mode headless dans
GameMode.Server. Démarrez le runner en tant que serveur dédié à partir d'options de ligne de commande ou de variables d'environnement (edgegap/start-server.shmontre le mappage).Liez à
0.0.0.0. DéfinissezStartGameArgs.Addresssur0.0.0.0sur le port fixe (7777/UDP). Fusion détecte l'adresse publique de lui-même et les clients se connectent en Direct.127.0.0.1force les relais Photon ; l'IP publique du déploiement échoue à la liaison.Nommez la session d'après le déploiement. Utilisez le FQDN (
<ARBITRIUM_REQUEST_ID>.pr.edgegap.net) pour que les clients puissent la trouver via Photon.Choisissez la région Photon proche du déploiement, à partir de
ARBITRIUM_DEPLOYMENT_LOCATION(le modeautodu script).Arrêtez lorsque le match prend fin. Appelez
ARBITRIUM_DELETE_URLavecARBITRIUM_DELETE_TOKENlorsque le serveur se ferme, et n'affichez jamais l'environnement.Compilez le serveur avec IL2CPP et conteneurisez-le en prenant
edgegap/Dockerfilecomme modèle.
Avec votre agent :
« Charge la compétence edgegap, puis edgegap-fusion. En utilisant github.com/edgegap/netcode-game-sample-photon-fusion2-battleroyale-200 comme référence, fais fonctionner mon jeu Fusion 2 en tant que GameMode.Server headless sur Edgegap : lie 0.0.0.0 sur le port 7777/UDP, utilise le FQDN du déploiement comme nom de session, choisis la région Photon la plus proche du déploiement, arrête le déploiement à la fin du match et compile une image de serveur Linux avec IL2CPP. »
Pour chaque étape détaillée manuellement, consultez le guide d'intégration de Photon Fusion 2.
6. Comment les joueurs trouvent le serveur
Le Matchmaking reste sur Photon Cloud. Le déploiement Edgegap fait office de serveur de jeu : il enregistre sa session auprès de Photon, et les clients la trouvent grâce au nom de session, à l'App ID, à l'App Version et à la région. Vous n'avez pas besoin du système de matchmaking d'Edgegap pour cet exemple, et il n'a pas été testé avec Fusion.
Nom de la session : le FQDN du déploiement par défaut. Définissez
BR200_SESSIONpour le modifier.Région :
auto(par défaut) sélectionne la région Photon la plus proche du déploiement. DéfinissezBR200_REGIONsur un code tel queeusi vos clients utilisent une région fixe, ou limitezautoavecBR200_REGION_ALLOWLIST.bestpermet à Fusion d'effectuer un ping à la place.Paramètres de la partie :
BR200_MAX_PLAYERS(1 à 200),BR200_MODE(battleRoyale,deathmatchouelimination),BR200_SCENE, définis sur la version de l'application ou sur un déploiement.
Le backend ou le lobby de votre jeu décide du moment où lancer un déploiement et transmet aux joueurs le nom de la session ainsi que la région. Pour ce flux dans votre propre jeu, consultez le guide d'intégration de Photon Fusion 2.
Limites connues
200 joueurs non testé pour l'instant. Le test a fonctionné avec des matchs à deux joueurs. Le processeur et la mémoire pour un match complet de 200 joueurs n'ont pas été dimensionnés : 1 vCPU / 2 Go n'est qu'un point de départ.
Une seule carte testée. Seule GenArea7 a fonctionné sur Edgegap.
Connexion via le menu non testée. Les clients se sont connectés avec le Standalone Manager. La liste des serveurs du menu devrait fonctionner, mais n'a pas été testée.
Hôte de compilation Windows uniquement. La compilation sur macOS ou Linux n'a pas été testée.
Minuteur de 120 secondes. BR200 démarre son minuteur d'attente au lancement du serveur ; les joueurs qui se connectent plus tard sont comptabilisés comme éliminés.
Le serveur doit être sous IL2CPP. Un serveur Mono compile en quelques minutes mais corrompt les RPC de BR200.
Ce qui a été testé
Testé de bout en bout sur Edgegap les 19 et 20 octobre 2026, avec BR200 2.1.0, Fusion 2.1.1 (build 2177), Unity 6000.3.11f1, Windows 11 et Docker Desktop. Les clients étaient des builds IL2CPP Windows sans interface graphique (headless).
Build : Check Project et Build Linux Server ont généré un serveur Linux IL2CPP en 56 minutes.
Conteneur local : deux clients se sont connectés sans aucune exception (CT Relayed, comme prévu localement).
Edgegap : déploiements à Toronto (région
cae) et Newark (régionus). Deux clients ont rejoint chacun d'eux avec CT Direct. Dans un Battle Royale à deux joueurs, un client a quitté, l'autre a obtenu Game Over, et le déploiement s'est arrêté de lui-même 2,5 minutes après son lancement.Script de démarrage : 46 vérifications, aucun Unity requis :
bash tests/start-server.test.sh
Questions Fréquemment Posées
Questions concernant l'exécution du BR200 de Photon sur Edgegap.
Dois-je modifier le code du BR200 pour l'exécuter sur Edgegap ?
Non. BR200 prend déjà en charge les options de ligne de commande pour un serveur dédié. Le kit d'Edgegap ajoute un outil de compilation pour l'éditeur, un Dockerfile et un script de démarrage qui transmettent ces options, et ne modifie aucun code de BR200 ou de Fusion.
Est-ce que BR200 sur Edgegap utilise le système de matchmaking d'Edgegap ?
Non. Le Matchmaking reste sur Photon Cloud. Le serveur Edgegap enregistre sa session auprès de Photon, et les clients la trouvent par nom de session et région, puis se connectent directement au serveur.
Pourquoi mon client affiche-t-il « CT Relayed » ?
Sur Edgegap, cela signifie généralement que le serveur est lié à 127.0.0.1. Liez 0.0.0.0, comme le fait le kit. Dans un test local sur Docker Desktop, le statut Relayed est attendu ; la même image donne Direct sur Edgegap.
Le serveur BR200 peut-il être compilé avec Mono ?
La compilation réussit, mais les RPC de BR200 échouent sur un serveur Mono et les joueurs n'obtiennent jamais de personnage. Compilez le serveur avec IL2CPP, la valeur par défaut de BR200.

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é.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

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.
Case Study

À 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.
Case Study

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

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é.
Case Study

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
Case Study

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é
Case Study

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.
Case Study

Pool Live Tour Max
RETA Games
Case Study

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.
Case Study

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.
Case Study

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.
Case Study
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.









