# Fishnet

Découvrez comment héberger des projets Unity sur Edgegap en utilisant des techniques de l'exemple FishNet HashGrid.

{% embed url="<https://youtu.be/9Tnlgklg_qY>" %}

## ✔️ Préparation

Avant de commencer, vous aurez besoin de :

* Unity 6 - [télécharger via Unity Hub](https://unity.com/releases/unity-6),
* Package FishNet pour Unity - [télécharger depuis l'Asset Store Unity](https://assetstore.unity.com/packages/tools/network/fishnet-networking-evolved-207815),
  * ce package inclut l'exemple HashGrid.

Créez un nouveau projet et importez le package FishNet ci-dessus.

## ⚡ Déployer et se connecter

### 1. Déployer un serveur sur Edgegap

☑️ Pour commencer, vous devrez [créer un compte gratuit chez Edgegap](https://app.edgegap.com/auth/register). Aucune carte de crédit requise.

☑️ [Créez une nouvelle version d'application pour votre application](https://app.edgegap.com/application-management/applications/fishnet-hashgrid-sample/versions/create), choisissez l'exemple FishNet HashGrid.

☑️ [Déployez un serveur avec la version de votre application FishNet HashGrid](https://app.edgegap.com/deployment-management/deployments/list).

☑️ [Ouvrez les détails de votre nouveau déploiement](https://app.edgegap.com/deployment-management/deployments/list).

☑️ Trouvez les informations de connexion uniques et à usage unique de votre déploiement :

* **URL de l'hôte** au format `780aa4260e83.pr.edgegap.net` ,
* **Port externe** au format `30854`  (5 chiffres).

✅ Vous pouvez maintenant passer à l'étape suivante.

### 2. Se connecter depuis l'Éditeur

☑️ Ouvrez votre nouveau projet dans Unity.

☑️ Ouvrez la scène dans le dossier FishNet / Demos / HashGrid / Scenes / HashGrid\_Demo.unity.

☑️ Sélectionnez l'objet NetworkManager dans la scène, et modifiez le composant Tugboat dans l'Inspecteur :

* définir Client / Adresse du client sur **URL de l'hôte** de l'étape précédente,
* définir Serveur / Port sur **Port externe** de l'étape précédente.

☑️ Développez les objets enfants de NetworkManager et sélectionnez NetworkHudCanvas, puis définissez `Type de démarrage automatique`  vers `Désactivé`  pour empêcher votre éditeur de démarrer en mode client-hôte.

☑️ Appuyez sur le bouton ▶️ Play pour lancer votre client de jeu.

☑️ Appuyez sur le bouton Client pour vous connecter à votre serveur.

☑️ Connectez un deuxième joueur virtuel avec [Multiplayer Play Mode](https://docs-multiplayer.unity3d.com/mppm/current/about/) ou [ParrelSync](https://github.com/VeriorPies/ParrelSync).

🙌 Félicitations pour votre premier déploiement sur Edgegap !

## ✏️ Personnaliser la build du serveur

Pour garantir que la construction de votre serveur démarre correctement :

* modifiez votre profil de build (**Modifier les paramètres de build** dans le plugin Edgegap) et ajoutez votre scène,
* définir `Type de démarrage automatique`  vers `Serveur`  dans l’en-tête `NetworkHudCanvases`  composant (enfant de `NetworkManager`),
* activez `Réutiliser l'adresse du serveur` dans votre `Tugboat`  composant pour éviter l'erreur `AddressAlreadyInUse`.

{% hint style="success" %}
Voir [unity](https://docs.edgegap.com/docs.edgegap.com-fr/unity "mention") pour Unity afin de **apprendre comment construire et personnaliser des serveurs**.
{% endhint %}
