Реле (P2P)
Этот раздел документации находится в процессе разработки и может изменяться.
Не стесняйтесь задавать вопросы или делать запросы через наш Discord канал. Мы здесь, чтобы помочь вам!
Распределённые ретрансляторы Edgegap используют нашу распределённую облачную сеть, включающую сотни локаций. Это гарантирует, что ваши игроки всегда подключаются к лучшему доступному ретранслятору благодаря нашей запатентованной технологии принятия решений на основе телеметрии в реальном времени.
Внедрение ретрансляторов действительно может быть сложной задачей, поэтому мы разработали решение, которое берет на себя технические аспекты, чтобы вам не пришлось. Наше решение упрощает процесс настройки и управления ретрансляторами, позволяя вам сосредоточиться на бесшовной интеграции их в вашу игру или приложение без необходимости глубоких технических знаний.
Зачем нужен ретранслятор в P2P-игре
Сервер-ретранслятор может быть ценным инструментом для разработчиков P2P-игр. В P2P-играх игроки подключаются напрямую друг к другу без центрального сервера. Однако такой подход может создать ряд проблем, например:
Ограничения межсетевого экрана (файрвола)
Файрволы могут блокировать P2P-соединения между устройствами, затрудняя подключение игроков друг к другу.
Жёсткий NAT
Жёсткий NAT может значительно повлиять на способность игрока участвовать в играх типа P2P. P2P-игры полагаются на прямые соединения между устройствами игроков для обмена данными и игрового процесса, но жёсткий NAT может ограничивать или блокировать такие соединения. Это может привести к увеличенной задержке, разрывам соединения и трудностям при присоединении к играм или организации хостинга.

Сервер-ретранслятор может помочь преодолеть эти проблемы, выступая посредником между игроками. Когда один игрок пытается подключиться к другому, его соединение сначала проходит через ретранслятор. Это позволяет ретранслятору обрабатывать обход NAT и ограничения файрвола, облегчая подключение игроков друг к другу.
Ретрансляторы также могут способствовать повышению общей производительности P2P-игр за счёт уменьшения нагрузки на устройства игроков. Перенаправляя часть сетевого трафика между игроками, ретранслятор может снизить задержки и улучшить общий игровой опыт.
В итоге сервер-ретранслятор может быть ценным инструментом для разработчиков P2P-игр, помогая преодолевать проблемы обхода NAT и ограничения файрволов, а также улучшая общую производительность игры.
Сервер против клиента в P2P
В архитектуре одноранговой (P2P) многопользовательской игры один из игроков должен выступать в роли игрового сервера, так как нет выделенного сервера для управления игрой для всех участников. Этот игрок, называемый «сервером», отвечает за управление игровым миром и синхронизацию всей информации между игроками. Остальные игроки ("Client" alt="">
подключаются к серверу напрямую.
Начало работы
Реализуйте лобби или матчмейкер
Вам потребуется реализовать какую‑то форму лобби или матчмейкера для создания сессий ретрансляции для ваших игроков. Не переживайте: на начальном этапе вам не нужен полностью функциональный матчмейкер, достаточно чего‑то, что будет автоматизировать ваши API-запросы без раскрытия токена в клиенте игры. Рассмотрите возможность использования Управляемые кластеры на кластерах Edgegap.
Интеграция с API Edgegap
После выполнения предыдущего шага вам в основном потребуется совершить два простых действия с помощью API Edgegap: создание сессий ретрансляции и удаление сессий ретрансляции. За реализацию этих действий должен отвечать ваш лобби/матчмейкер, который будет авторизовывать или деавторизовывать доступ игроков к ретранслятору. Больше информации в этом разделе.
Интеграция с существующим транспортным уровнем
После авторизации ваших игроков на ретрансляторе вам всё равно нужно реализовать коммуникацию между игровым клиентом и ретранслятором, то есть транспортный уровень.
Чтобы упростить вам задачу, мы работаем над реализациями для разных сетевых стэков, языков и фреймворков. Если вы хотите интегрировать одну из наших текущих реализаций, просто следуйте руководству, соответствующему вашему стеку.
Сетевой модуль Unreal — скоро
(Альтернативно) Реализация собственного транспортного уровня
Если вы заинтересованы в реализации собственного транспортного уровня для конкретного сетевого стека, вы можете найти подробную информацию и рекомендации, следуя этому руководству:
Руководство по реализации ретранслятора
Если у вас есть вопросы по реализации или вы хотите узнать дорожную карту наших текущих интеграций, не стесняйтесь связаться с нами!
Последнее обновление
Это было полезно?

