Fishnet WebGL
Это руководство поможет вам использовать FishNetWebSocket-транспорт, Bayouи создать headless-сервер на Edgegap для проекта Unity.
Вы можете найти итоговый пример проекта на нашем GitHub, в Fishnet_v4.1.6R_WebGL папке. Это руководство должно работать с любой версией Fishnet, если вы используете подходящую версию Bayou для неё.
Требования к Unity
Этот проект протестирован на версии Unity 2021.3.16f1. Вам потребуется установить следующие модули:
Поддержка сборки WebGL;
Поддержка сборки Linux Dedicated Server;
Поддержка сборки Linux (IL2CPP).
Переключите транспорт
Скачайте Unity-пакет для Bayou на этом GitHub. Импортируйте пакет в проект игры через панель инструментов в разделе Asset/Import Package/Custom Package....
Откройте MainMenu сцену, расположенную в Assets/SpaceEdge/Scenes. В объекте NetworkManager удалите компонент транспорта Tugboat . Замените его транспортом Bayou , расположенным в Asstes/FishNet/Plugins/Bayou. Обратите внимание на заданное значение порта, в данном случае 7770.
Не забудьте включить Start On Headless для серверной сборки.

Сборка игрового сервера и контейнеризация
Откройте плагин Edgegap через меню панели инструментов Tools/Edgegap Hosting . Проверьте ваш Edgegap API Token и либо создайте, либо загрузите приложение для игры. Убедитесь, что значение port совпадает со значением транспорта Bayou. Выберите протокол WS затем введите New Version Tag.
После того как всё будет правильно настроено, нажмите Build and Push, после чего ваш игровой сервер будет автоматически контейнеризирован и через некоторое время на панели Edgegap будет создана новая версия приложения.
Тестирование клиента
В редакторе
Вернувшись в проект, выберите объект MatchmakingSystem gameObject и измените следующие поля:

AppName: Укажите здесь «Application name», который вы использовали в плагине Edgegap.
AppVersion: Укажите здесь «Version name», который вы использовали в плагине Edgegap.
AuthHeaderValue: Укажите здесь ваш токен Edgegap API, который вы использовали в плагине Edgegap.
Откройте MatchmakingSystem скрипта, расположенного в Assets/SpaceEdge/Scripts/Systems, где вы также можете обновить те же значения. Найдите "UDP_PORT" и замените его на "Game Port".


Убедитесь, что вы сняли галочку с Start On Headless опции в NetworkManager объекте gameObject, поскольку сейчас мы хотим протестировать интеграцию клиента.
После этого нажмите Play в редакторе, затем введите имя в текстовое поле и нажмите Start Game. Игра проверит наличие доступного сервера или автоматически развернёт его, если таковых нет, прежде чем подключиться к нему.
На Itch.io
После того как вы подтвердите, что игровой клиент работает в редакторе, он должен также работать в Itch.io. Чтобы загрузить туда свою игру, вам потребуется собрать клиентскую версию на экране Build в Unity Editor, в разделе File -> Build Settings. Выберите следующие параметры:
Установите
PlatformчтобыWebGL;Откройте
Player Settings. В разделеPlayer -> Publishing SettingsустановитеCompression FormatчтобыGzipи убедитесь, чтоDecompression Fallbackопция выбрана. Сохраните эти настройки и закройте окно.

Затем нажмите Build и выберите новую пустую папку с именем build в качестве папки назначения для файлов. Сожмите файлы этой build папки в zip-архив, убедившись, что они находятся в его корне. Затем вам нужно просто загрузить zip-архив в ваш проект Itch и обязательно выбрать опцию запуска файла в браузере. После этого игра должна работать так же, как и в редакторе.
Последнее обновление
Это было полезно?

