Photon Fusion 2
Изучите, как размещать проекты Unity на Edgegap, используя методы из Примера Fusion 2 Asteroids.
✔️ Подготовка
Прежде чем начать, вам потребуется:
Unity 6 - скачать с помощью Unity Hub,
Проект Fusion 2 Asteroids Sample (модифицирован для Edgegap) - скачать с GitHub.
⚡ Развернуть и подключиться
1. Разверните сервер на Edgegap
☑️ Чтобы начать, вам нужно создать бесплатный аккаунт на Edgegap. Кредитная карта не требуется.
☑️ Создайте новую версию приложения для вашего приложения, выберите Fusion 2 Asteroids Sample.
☑️ Откройте ваш новый проект в Unity.
☑️ Перейдите в Tools / Edgegap Hosting, затем к шагу 6. Deploy a Server on Edgegap.
☑️ Нажмите Deploy to cloud и откройте детали вашего нового развертывания.
☑️ Найдите уникальные однократные данные для подключения к вашему развертыванию:
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 (Ded. Server), не Multiple (Client-Host)!
Клиенты игры будут подключаться к игровым серверам через Photon Fusion 2 сессию (комнату) функция.
Ваш игровой сервер должен зарегистрировать свой 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
создавайте развертывания для тестирования с помощью нашего плагина быстрого старта для хостинга,
в работе в клиенте игры получите его из matchmaking / назначение тикета / fqdn:
см. также начало работы с Matchmaking.
Устранение неполадок
Игра не существует (32758)
Photon комнаты требуют, чтобы игрок подключался к региону Photon Cloud, где находится развертывание. Развертывание с панели использует рандомизированный IP игрока.
Вам может понадобиться найти расположение развертывания на карте и настроить ваш клиент игры в Assets / Photon / Fusion / Resources / PhotonAppSettings.asset с соответствующим регионом Photon Cloud.
Edgegap размещает как можно ближе к игроку при использовании наших плагинов или API поэтому в продакшене установка региона Photon Cloud не требуется.
Последнее обновление
Это было полезно?

