# Fishnet

探索如何使用 FishNet HashGrid 示例中的技术在 Edgegap 上托管 Unity 项目。

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

## ✔️ 准备工作

在开始之前，您需要：

* Unity 6 - [使用 Unity Hub 下载](https://unity.com/releases/unity-6),
* FishNet Unity 包 - [从 Unity 资源商店下载](https://assetstore.unity.com/packages/tools/network/fishnet-networking-evolved-207815),
  * 此包包含 HashGrid 示例。

创建一个新项目并导入上述 FishNet 包。

## ⚡ 部署并连接

### 1. 在 Edgegap 上部署服务器

☑️ 要开始，您需要 [创建一个 Edgegap 免费帐户](https://app.edgegap.com/auth/register)。无需信用卡。

☑️ [为您的应用创建一个新的应用版本](https://app.edgegap.com/application-management/applications/fishnet-hashgrid-sample/versions/create)，选择 FishNet HashGrid 示例。

☑️ [使用您的 FishNet HashGrid 示例应用版本部署服务器](https://app.edgegap.com/deployment-management/deployments/list).

☑️ [打开您新部署的详细信息](https://app.edgegap.com/deployment-management/deployments/list).

☑️ 找到您部署的唯一一次性连接信息：

* **主机 URL** 格式为 `780aa4260e83.pr.edgegap.net` ,
* **外部端口** 格式为 `30854`  （5 位数字）。

✅ 现在您可以继续下一步。

### 2. 从编辑器连接

☑️ 在 Unity 中打开您的新项目。

☑️ 在文件夹 FishNet / Demos / HashGrid / Scenes / HashGrid\_Demo.unity 中打开场景。

☑️ 在场景中选择 NetworkManager 对象，并在检查器中修改 Tugboat 组件：

* 将 客户端 / 客户端地址 设置为 **主机 URL** 来自上一步，
* 将 服务器 / 端口 设置为 **外部端口** 来自上一步。

☑️ 展开 NetworkManager 的子游戏对象并选择 NetworkHudCanvas，然后设置 `自动启动类型`  转向 `已禁用`  以防止编辑器以客户端-主机模式启动。

☑️ 按下 ▶️ 播放 按钮以启动您的游戏客户端。

☑️ 按 客户端 按钮以连接到您的服务器。

☑️ 使用第二个虚拟玩家连接， [多人游戏播放模式](https://docs-multiplayer.unity3d.com/mppm/current/about/) 或 [ParrelSync](https://github.com/VeriorPies/ParrelSync).

🙌 恭喜您完成在 Edgegap 上的首次部署！

## ✏️ 自定义服务器构建

为确保服务器构建正确启动：

* 编辑您的构建配置（**编辑构建设置** 在 Edgegap 插件 中）并添加您的场景，
* 设置 `自动启动类型`  转向 `服务器`  置于 `NetworkHudCanvases`  组件（的子项 `NetworkManager`),
* 启用 `重用服务器地址` webhook URL `Tugboat`  组件以防止错误 `AddressAlreadyInUse`.

{% hint style="success" %}
参见 [unity](https://docs.edgegap.com/zh/unity "mention") 用于 Unity 以 **了解如何构建和自定义服务器**.
{% endhint %}
