Photon Fusion 2
Узнайте, как размещать проекты Unity на Edgegap, используя техники из Fusion 2 Asteroids Sample.
✔️ Подготовка
Перед началом вам потребуется:
Unity 6 - скачать через Unity Hub,
Проект Fusion 2 Asteroids Sample (модифицирован для Edgegap) - скачать с GitHub.
⚡ Развернуть и подключиться
1. Разверните сервер на Edgegap
☑️ Чтобы начать, вам нужно создать бесплатную учетную запись на Edgegap. Кредитная карта не требуется.
☑️ Создайте новую версию приложения для вашего приложения, выберите Fusion 2 Asteroids Sample.
☑️ Откройте ваш новый проект в Unity.
☑️ Перейдите в Tools / Edgegap Hosting, затем к шагу 6. Разверните сервер на Edgegap.
☑️ Нажмите Deploy to cloud и откройте детали вашего нового развертывания.
☑️ Найдите уникальные одноразовые данные для подключения к развертыванию:
Host URL в формате
780aa4260e83.pr.edgegap.net.
✅ Теперь вы можете перейти к следующему шагу.
2. Подключение из редактора
☑️ Откройте ваш новый проект в Unity.
☑️ Нажмите кнопку ▶️ Play, чтобы запустить клиент игры.
☑️ Введите Host URL (данные подключения из предыдущего шага) в качестве имени комнаты.
☑️ Нажмите кнопку Start Edgegap, чтобы подключиться к вашему серверу.
☑️ Подключите второго виртуального игрока с помощью Multiplayer Play Mode или ParrelSync.
🙌 Поздравляем с вашим первым развертыванием на Edgegap!
✏️ Настройка сборки сервера
См. Unity для Unity чтобы узнать, как собирать и настраивать серверы.
Создание приложения в Photon
Чтобы упростить первоначальную демонстрацию, мы использовали бесплатный уровень Photon Cloud, принадлежащий Edgegap.
☑️ Создайте бесплатную учетную запись в Photon.
☑️ Создайте приложение в Photon:
Многопользовательская игра,FusionPhoton SDK,Fusion 2версия SDK.
☑️ Найдите ваш Application ID в формате 85314a99-56fc-4ab3-ba26-50efca09f303 .
☑️ Введите ваш ID в настройках Photon в Tools / Fusion / Fusion Hub (Alt + F).
Интеграция проекта Fusion 2 с Edgegap
См. EdgegapServerManager.cs скрипт для примерной интеграции Fusion 2 с Edgegap.
Ваш NetworkProjectConfig должен использовать Peer Mode = Single (Выделенный сервер), не Multiple (Client-Host)!
Клиенты игры будут подключаться к игровым серверам через Photon Fusion 2 Session (комната) функция.
Ваш игровой сервер должен зарегистрировать свой IP-адрес и внешний порт с именем сессии при вызове _runnerInstance.StartGame(StartGameArgs args):
используйте
GameMode.Serverчтобы гарантировать, что ваше соединение не будет ретранслироваться через Photon Cloud (увеличивает задержку),используйте
NetAddress.CreateFromIpPortметод из Fusion,укажите IP-адрес сервера:
Environment.GetEnvironmentVariable("ARBITRIUM_PUBLIC_IP")укажите внешний порт сервера:
Environment.GetEnvironmentVariable("ARBITRIUM_PORT_GAMEPORT_EXTERNAL")это имя сопоставления портов по умолчанию, если вы используете наш плагин Unity для упаковки вашего сервера.
Используйте Deployment Host URL Edgegap в качестве имени сессии:
в игровом сервере получите его с помощью
$"{Environment.GetEnvironmentVariable("ARBITRIUM_REQUEST_ID")}.pr.edgegap.net"при тестировании игрового клиента получите его с панели управления - страница деталей развертывания / Host URL
создавайте развертывания для тестирования с нашего quickstart hosting plugin,
в живой игре клиент получает его из matchmaking / назначение билета / fqdn:
см. также начало работы с Matchmaking.
Устранение неполадок
Игра не существует (32758)
Photon комнаты требуют, чтобы игрок подключался к региону Photon Cloud, где расположено развертывание. Развертывание из панели управления использует случайный IP игрока.
Вам может понадобиться найти расположение развертывания на карте и настроить ваш игровой клиент в Assets / Photon / Fusion / Resources / PhotonAppSettings.asset с соответствующим регион Photon Cloud.
Edgegap развертывает как можно ближе к игроку при использовании наших плагинов или API так что в продакшене настройка региона Photon Cloud не требуется.
Последнее обновление
Это было полезно?

