mailbox-flag-upРеле (P2P)

circle-exclamation

Распределённые ретрансляторы Edgegap используют нашу распределённую облачную сеть, включающую сотни локаций. Это гарантирует, что ваши игроки всегда подключаются к лучшему доступному ретранслятору благодаря нашей запатентованной технологии принятия решений на основе телеметрии в реальном времени.

Внедрение ретрансляторов действительно может быть сложной задачей, поэтому мы разработали решение, которое берет на себя технические аспекты, чтобы вам не пришлось. Наше решение упрощает процесс настройки и управления ретрансляторами, позволяя вам сосредоточиться на бесшовной интеграции их в вашу игру или приложение без необходимости глубоких технических знаний.


Зачем нужен ретранслятор в P2P-игре

Сервер-ретранслятор может быть ценным инструментом для разработчиков P2P-игр. В P2P-играх игроки подключаются напрямую друг к другу без центрального сервера. Однако такой подход может создать ряд проблем, например:

Ограничения межсетевого экрана (файрвола)

Файрволы могут блокировать P2P-соединения между устройствами, затрудняя подключение игроков друг к другу.

Жёсткий NAT

Жёсткий NAT может значительно повлиять на способность игрока участвовать в играх типа P2P. P2P-игры полагаются на прямые соединения между устройствами игроков для обмена данными и игрового процесса, но жёсткий NAT может ограничивать или блокировать такие соединения. Это может привести к увеличенной задержке, разрывам соединения и трудностям при присоединении к играм или организации хостинга.

Сервер-ретранслятор может помочь преодолеть эти проблемы, выступая посредником между игроками. Когда один игрок пытается подключиться к другому, его соединение сначала проходит через ретранслятор. Это позволяет ретранслятору обрабатывать обход NAT и ограничения файрвола, облегчая подключение игроков друг к другу.

Ретрансляторы также могут способствовать повышению общей производительности P2P-игр за счёт уменьшения нагрузки на устройства игроков. Перенаправляя часть сетевого трафика между игроками, ретранслятор может снизить задержки и улучшить общий игровой опыт.

В итоге сервер-ретранслятор может быть ценным инструментом для разработчиков P2P-игр, помогая преодолевать проблемы обхода NAT и ограничения файрволов, а также улучшая общую производительность игры.


Сервер против клиента в P2P

В архитектуре одноранговой (P2P) многопользовательской игры один из игроков должен выступать в роли игрового сервера, так как нет выделенного сервера для управления игрой для всех участников. Этот игрок, называемый «сервером», отвечает за управление игровым миром и синхронизацию всей информации между игроками. Остальные игроки ("Client" alt="">

подключаются к серверу напрямую.


Начало работы

Реализуйте лобби или матчмейкер

Вам потребуется реализовать какую‑то форму лобби или матчмейкера для создания сессий ретрансляции для ваших игроков. Не переживайте: на начальном этапе вам не нужен полностью функциональный матчмейкер, достаточно чего‑то, что будет автоматизировать ваши API-запросы без раскрытия токена в клиенте игры. Рассмотрите возможность использования Управляемые кластеры на кластерах Edgegap.

Интеграция с API Edgegap

После выполнения предыдущего шага вам в основном потребуется совершить два простых действия с помощью API Edgegap: создание сессий ретрансляции и удаление сессий ретрансляции. За реализацию этих действий должен отвечать ваш лобби/матчмейкер, который будет авторизовывать или деавторизовывать доступ игроков к ретранслятору. Больше информации в этом разделе.

Интеграция с существующим транспортным уровнем

После авторизации ваших игроков на ретрансляторе вам всё равно нужно реализовать коммуникацию между игровым клиентом и ретранслятором, то есть транспортный уровень.

Чтобы упростить вам задачу, мы работаем над реализациями для разных сетевых стэков, языков и фреймворков. Если вы хотите интегрировать одну из наших текущих реализаций, просто следуйте руководству, соответствующему вашему стеку.

(Альтернативно) Реализация собственного транспортного уровня

Если вы заинтересованы в реализации собственного транспортного уровня для конкретного сетевого стека, вы можете найти подробную информацию и рекомендации, следуя этому руководству:

Руководство по реализации ретранслятораarrow-up-right

Если у вас есть вопросы по реализации или вы хотите узнать дорожную карту наших текущих интеграций, не стесняйтесь связаться с нами!

Последнее обновление

Это было полезно?