
Comment ajouter des serveurs dédiés à PurrNet Netcode avec le plugin d'Edgegap
Ce tutoriel explique comment déployer et héberger un serveur de jeu dédié pour votre projet PurrNet, directement depuis l'éditeur d'Unity, en utilisant l'intégration de serveur de jeu Edgegap intégrée de PurrNet — afin que vous puissiez mettre votre jeu en ligne et jouable dans le monde entier en quelques minutes.
Nous utilisons l'échantillon incrémental de PurrNet, un petit jeu de collecte de ressources déjà configuré pour fonctionner comme un serveur dédié. Tout projet PurrNet configuré pour des serveurs dédiés fonctionne de la même manière.
Nous vous recommandons également de suivre notre documentation.
C'est parti !
Partie 1 - Configuration
Avant d'intégrer Edgegap, quelques prérequis sont nécessaires pour s'assurer qu'Unity peut compiler et conteneuriser un serveur dédié.
Tout d'abord, installez Docker Desktop, que nous utilisons pour conteneuriser le serveur de jeu. Docker est utilisé par des millions de développeurs et par les plus grandes entreprises du monde. Laissez Docker s'exécuter chaque fois que vous téléversez une nouvelle version du serveur.
Deuxièmement, assurez-vous que Git est disponible. Sur les anciennes versions d'Unity, Git doit être installé sur votre système, car PurrNet récupère l'extension Edgegap via une URL Git ; Unity 6.3 et les versions ultérieures l'incluent par défaut.
Dans ce tutoriel, nous utilisons Unity 6.3 LTS avec les modules Linux Dedicated Server Build Support installés via Unity Hub.
Partie 2 - Edgegap : Hébergement et orchestration de serveurs de jeux
Chargez votre projet. PurrNet gère son intégration Edgegap via sa propre fenêtre de package, il n'y a donc rien à télécharger depuis un navigateur. Allez dans la barre d'outils supérieure, sélectionnez « Tools », puis « PurrNet », et ouvrez la fenêtre « PurrNet Packages ».
Avant d'ajouter Edgegap, assurez-vous que PurrNet est lui-même à jour. Si la fenêtre affiche une mise à jour disponible en haut, à côté de « Core », sélectionnez « Update All » et laissez le processus se terminer.
Ensuite, dans la section « Integrations », sélectionnez « Edgegap », puis sélectionnez « Install Release ». PurrNet installe automatiquement le plugin Unity d'Edgegap dans votre projet.
Astuce : Si l'installation se termine mais que la fenêtre de progression ne se ferme pas d'elle-même, déclenchez une actualisation des packages PurrNet, par exemple en changeant la version d'un package, ce qui la fermera.
PurrNet ajoute également un paramètre de configuration automatique à votre transport. Sélectionnez votre « Network Manager » : notez les « Start Server Flags », sur lesquels nous reviendrons avant de tester. Sur le composant « UDP Transport », vous trouverez un paramètre intitulé « Auto Setup Edgegap Server Port ». Laissez-le activé. Il détecte lorsque votre build s'exécute dans un environnement Edgegap et définit automatiquement le bon port de serveur pour vous. Le client configure toujours sa propre connexion, mais la partie serveur est gérée à votre place.
Maintenant, compilez le serveur de jeu. Sélectionnez « Tools » et ouvrez « Edgegap Server Hosting ».
La première étape consiste à récupérer un jeton Edgegap. Sélectionnez « Get a Token » ; une fenêtre de navigateur s'ouvre. Connectez-vous ou créez un compte en utilisant votre fournisseur SSO préféré, puis, si vous y êtes invité, saisissez le nom d'une organisation. Une fois que vous êtes dans le tableau de bord — que nous vous invitons à explorer — copiez le jeton de la fenêtre contextuelle. De retour dans Unity, collez-le dans le champ du jeton et sélectionnez « Validate Token ». Une fois validé, les onglets « Build your Game Server » s'ouvrent.
Confirmez que vos dépendances Linux sont installées. Si ce n'est pas le cas, retournez dans Unity Hub, et sous « Installs », sélectionnez « Manage » pour votre version de Unity et installez les trois modules : les modules « Linux Build Support » pour IL2CPP et Mono, ainsi que le module « Linux Dedicated Server Build Support ».
Sélectionnez « Build Server » pour compiler votre serveur dédié Linux. Après une courte attente, la compilation se termine.
Ensuite, conteneurisez la build à l'aide de Docker. Bien que vous puissiez exécuter le conteneur localement pour tester le serveur sur votre propre machine, nous passons directement aux tests en ligne et ignorons cette étape.
L'avant-dernière étape consiste à télécharger la version de votre application sur la plateforme d'Edgegap. Vous pouvez modifier le nom de votre application, le nom du serveur et les balises ; nous conservons ici les valeurs par défaut. Sélectionnez « Upload image and Create app version ». Une fois le téléchargement terminé, la plateforme s'ouvre dans votre navigateur sur votre nouvelle version. Vous pouvez modifier votre allocation de ressources, mais nous laissons les valeurs par défaut pour l'instant. Faites défiler vers le bas et sélectionnez « Submit ».
La fenêtre « Create a Port » s'ouvre. Vous pouvez définir un port personnalisé — 5000 est la valeur par défaut de PurrNet — mais nous conservons la valeur par défaut de 7777 pour utiliser le paramètre « Auto Setup Edgegap Server Port » mentionné précédemment. Définissez le protocole utilisé par votre jeu, ici UDP, donnez-lui un nom comme « gameport », puis sélectionnez « Submit ». Les numéros de port et les protocoles peuvent différer avec d'autres netcodes, consultez donc la documentation de votre netcode pour connaître les valeurs qui s'appliquent à votre projet.
Enfin, de retour dans Unity, déployez le serveur de jeu directement sur l'hébergement d'Edgegap depuis le plugin. Sélectionnez l'application et la version appropriées, puis sélectionnez « Deploy to Cloud ». Après quelques secondes de chargement, votre serveur de jeu est prêt — vous avez déployé votre premier serveur de jeu.
Partie 3 - Tests
Depuis la page de détails du serveur de jeu, faites défiler vers le bas et copiez le « Host », qui est votre adresse de connexion.
De retour dans Unity, sélectionnez le Network Manager. L'échantillon ne dispose pas de menu en scène pour héberger ou rejoindre ; il décide automatiquement en fonction des indicateurs de démarrage du Network Manager, et dans l'éditeur, il démarrerait normalement en tant qu'hôte. Pour rejoindre le serveur cloud en tant que client à la place, sous « Start Server Flags », décochez « Editor » afin que l'éditeur ne démarre plus son propre serveur.
Ensuite, sur le transport, recherchez le champ « Address » et collez l'adresse de votre serveur de jeu. Pour le port, revenez à la page de détails du déploiement, copiez le port « External » et saisissez-le dans le champ « Server Port » de PurrNet.
Démarrez votre scène. L'éditeur se connecte au serveur de jeu dédié fonctionnant sur Edgegap.
Le multijoueur comporte généralement plus d'un joueur, ce que nous allons simuler ensuite. ParrelSync est une option, mais nous utilisons le mode Play d'Unity. Sélectionnez « Window », puis « Multiplayer », et ouvrez le « Multiplayer Center » d'Unity. Nouveauté de la version 6.3, Unity vous demande le genre de votre jeu et le nombre de joueurs — remplissez ce qui correspond à votre projet. Unity proposera ses propres solutions multijoueurs ici ; comme nous utilisons PurrNet, supprimez toutes les options sauf « Multiplayer Play Mode », qui simule les joueurs localement.
Une fois installé, sélectionnez « Window », puis « Multiplayer », et ouvrez « Multiplayer Play Mode ». Activez un second joueur, et Unity ouvre une nouvelle fenêtre d'éditeur. Organisez les fenêtres et démarrez la scène de jeu. Les deux joueurs rejoignent votre serveur de jeu Edgegap en tant que clients, et les mouvements de chaque joueur sont répliqués dans le monde de l'autre.
Vous avez maintenant deux joueurs qui jouent à votre jeu en ligne.
Partie 4 - Étapes suivantes
C'est tout pour l'intégration de PurrNet avec Edgegap, qui donne aux développeurs de jeux la possibilité de créer des serveurs dédiés et de les héberger automatiquement dans le monde entier.
La prochaine étape probable dans le développement de votre jeu est de démarrer et d'arrêter automatiquement les serveurs et de connecter les joueurs dans des parties. Pour en savoir plus sur le matchmaker gratuit, simple et entièrement automatisé d'Edgegap, consultez notre tutoriel sur le matchmaker.
Vous pouvez également rejoindre notre serveur Discord communautaire pour demander de l'aide sur votre intégration à notre équipe de développement et à d'autres studios.







