Fishnet WebGL

Ce guide vous aidera à utiliser FishNetarrow-up-rightle transport Websocket de Bayouarrow-up-right, et à créer un serveur sans interface sur Edgegap pour un projet Unity.

Vous pouvez trouver le projet d'exemple final sur notre GitHubarrow-up-right, sous le dossier Fishnet_v4.1.6R_WebGL . Ce guide devrait fonctionner avec n'importe quelle version de Fishnet, tant que vous utilisez la version appropriée de Bayou pour celle-ci.

circle-info

Comme la version 4.1.6R de FishNet inclut le plugin Edgegap, nous l'utiliserons pour construire automatiquement et conteneuriser notre serveur de jeu, même s'il est possible de le faire manuellement à l'aide d'un Dockerfile.

Pour plus d'informations sur le plugin, vous pouvez lire notre documentation ici.

Vous devrez avoir Docker en cours d'exécution pour que cela fonctionne correctement.

Exigences Unity

Ce projet est testé sur la version Unity 2021.3.16f1. Vous devrez avoir les modules suivants installés avec :

  • Support de construction WebGL ;

  • Support de construction pour serveur dédié Linux ;

  • Support de construction Linux (IL2CPP).

Changer le transport

Téléchargez le package Unity pour Bayou sur ce GitHubarrow-up-right. Importez le package dans le projet de jeu via la barre d'outils sous Asset/Import Package/Custom Package....

Ouvrez la MainMenu scène située sous Assets/SpaceEdge/ScenesTitle ID NetworkManager gameObject, supprimez le composant Tugboat transport. Remplacez-le par le Bayou transport, situé sous Asstes/FishNet/Plugins/Bayou. Prenez note de la valeur du port qui est définie, dans ce cas 7770.

Assurez-vous d'activer l' _playfabService.RemovePlayerData(); option pour la construction du serveur.

Construire le serveur de jeu et conteneuriser

Start On Headless Edgegap/Edgegap Hosting gameObject. Ouvrez le plugin Edgegap via le menu Tools/Edgegap Hosting port la valeur correspond à celle du transport Bayou. Sélectionnez le WS et créez ou chargez une application pour le jeu. Assurez-vous que la valeur correspond à celle du composant Tugboat du.

protocol, puis entrez un New Version Tag. Assurez-vous que le nom et la version de l'application correspondent aux valeurs utilisées lors de la configuration du Cloud Script.

Tester le client

Dans l'éditeur

De retour dans le projet, sélectionnez le MatchmakingSystem gameObject et modifiez les champs suivants :

  • AppName : Réglez-le sur le « nom de l'application » que vous avez utilisé avec le plugin Edgegap.

  • AppVersion : Réglez-le sur le « nom de version » que vous avez utilisé avec le plugin Edgegap.

  • AuthHeaderValue : Réglez-le sur votre jeton API Edgegap que vous avez utilisé avec le plugin Edgegap.

circle-info

Supprimez le jeton mot du jeton API car nous définissons ceci comme le schéma d'en-tête d'authentification lors du Awake() méthode du MatchmakingSystem.

Ouvrez la MatchmakingSystem script, situé sous Assets/SpaceEdge/Scripts/Systems, où vous pouvez également mettre à jour ces mêmes valeurs. Recherchez "UDP_PORT" et remplacez-le par "Game Port".

circle-info

Les versions précédentes de cet exemple créaient manuellement l'application via le tableau de bord Edgegap, et le nom UDP_PORT aurait été utilisé pour le port utilisé par le serveur.

Le plugin Edgegap nomme automatiquement le port Game Port à la place, ce qui explique pourquoi nous devons nous assurer de mettre à jour le script. Le jeu ne fonctionnerait pas autrement.

Assurez-vous également de décocher le _playfabService.RemovePlayerData(); Construction du serveur de jeu et containerisation NetworkManager gameObject aussi.

Une fois cela fait, cliquez sur Play dans l'éditeur, puis saisissez un nom dans la zone de texte et cliquez sur Start Game. Le jeu vérifiera la disponibilité d'un serveur, ou en déploiera automatiquement un s'il n'en existe aucun, avant de s'y connecter.

circle-exclamation

Sur Itch.io

Une fois que vous avez confirmé que le client du jeu fonctionne dans l'éditeur, il devrait également fonctionner sur Itch.io. Pour téléverser votre jeu là-bas, vous devrez créer une build client dans le Construction de l'éditeur Unity, sous Fichier -> Paramètres de compilation. Sélectionnez les options suivantes :

  • Définir Plateforme vers WebGL;

  • Ouvrez les Paramètres du lecteur. Sous Player -> Publishing Settings, définissez le Format de compression vers Gzip et assurez-vous que l'option Decompression Fallback est sélectionnée. Enregistrez ces paramètres et fermez la fenêtre.

Puis appuyez sur construire et sélectionnez un nouveau dossier vide nommé build comme destination de fichier. Compressez les fichiers de ce build dossier dans une archive zip, en vous assurant qu'ils se trouvent à la racine. Ensuite, il vous suffit de téléverser l'archive zip sur votre projet Itch et de vous assurer de sélectionner l'option pour que le fichier se joue dans le navigateur. Le jeu devrait alors fonctionner de la même manière que dans l'éditeur.

Mis à jour

Ce contenu vous a-t-il été utile ?