Обзор серверов
Добро пожаловать в Edgegap Server Browser ОТКРЫТАЯ БЕТА. Надеемся, вам понравится возможность опробовать наш новый сервис и помочь сформировать его будущее через круглые столы в нашем Discord.
Server Browser — это управляемый сервис для Развертывания и постоянных серверов:
помогать игрокам просматривать список и подключаться к подходящим серверам на основе загрузки, задержки или игровых параметров;
📢 прогревать новые серверы чтобы обслуживать глобальный спрос в масштабе и предотвращать раздражающие очереди;
📢 упрощать операции с серверами включая обновления, перезапуски, сохранение состояния, объединение сетей и многое другое.
Хотите подбирать игроков на основе строгих правил, не позволяя выбор сервера? Рассмотрите Поиск матчей.

✔️ Подготовка
Тестирование этого сервиса полностью бесплатно, кредитная карта не требуется.
Бесплатный тариф позволяет до 3 часов работы на нашем общем тестовом кластере после каждой перезагрузки.
В этом руководстве предполагается, что вы уже:
опубликовали ваше серверное приложение на Edgegap (Unreal Engine, Unity),
успешно подключились от игрового клиента к вашему серверу на Edgegap.
Сетевые потоки

При использовании Server Browser существует четыре (4) важных потока данных:
Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.
Используйте v2/deploy API для сессий, привязанных к матчам продолжительностью менее 24 часов.
Используйте API развертывания частного флота чтобы запустить серверы в режиме ожидания с Сохранение состояния.
📢 Используйте Hot Standby для автоматического масштабирования по правилам и поддержки объединения сетей.
Server API используется выделенными серверами для объявления о доступности и управления емкостью.
Seat Reservation API используется игровыми клиентами для обнаружения и подключения к выделенным серверам.
Транспортные протоколы сетевого кода используются для общения между игровыми клиентами и выделенными серверами.
▶️ Начать просмотр
Узнайте о жизненном цикле сервера/игрока и их обязанностях, чтобы обеспечить эффективное использование серверов.
Аутентификация
В дополнение к существующей аутентификации клиента игры через ваш игровой бэкенд, все запросы к Matchmaker должны отправлять Заголовок Authorization HTTP с вашим секретом Токен аутентификации:
Authorization: xxxxxxxx-e458-4592-b607-c2c28afd8b62Храните свои токены в секрете и в безопасности! Сотрудники Edgegap никогда не будут просить ваши токены.
Server Browser автоматически генерирует два типа токенов:
Токен сервера - требуется для Server API методов, может быть внедрен как переменная версии приложения.
Предоставляет доступ ко всем методам API и удобен для тестирования, девопса или пользовательских оркестраторов.
Токен клиента - требуется для Мониторинг и методы Seat Reservation API методы, используемые игровыми клиентами.
Мы рекомендуем хранить этот токен в стороннем хранилище секретов, чтобы облегчить ротацию токенов.
Обнаружить экземпляр
Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.
Используйте v2/deploy API для сессий, привязанных к матчам продолжительностью менее 24 часов.
Используйте API развертывания частного флота чтобы запустить серверы в режиме ожидания с Сохранение состояния.
📢 Используйте Hot Standby для автоматического масштабирования по правилам и поддержки объединения сетей.
Когда вы запускаете новый Развертывания, уведомьте Server Browser о новом экземпляре и установите любое количество опциональных параметров метаданных полезных для фильтрации, сортировки и просмотра игроками:
информация о слотах — вместимость команды и метаданные, специфичные для команды (например, название команды),
требуется как минимум один слот на экземпляр для управления вместимостью игроков;
название и теги — настраиваемые, уникальные, читаемые человеком и ищущиеся метки;
подробности подключения — URL, IP, внешние порты или другие параметры;
данные совместимости — версия сервера или поддерживаемые версии клиента;
квалификаторы задержки — идентификаторы города и региона, и назначенные добавлены и обновлены советы по использованию подробности;
игровые параметры — уровень/сцена/карта, режим игры, сложность, используемые моды;
любые другие пользовательские параметры, помогающие игрокам отфильтровать и найти подходящий сервер.
Метаданные поддерживают строковые ключи и значения типа строка, число, логический или массив строк.
Чтобы сериализовать вложенные объекты, попробуйте закодировать путь доступа в ключе как "object.child.property".
Серверы могут обновлять метаданные экземпляра или слота в любое время чтобы изменить критерии их обнаружимости.
Экземпляры серверов должны периодически отправлять сигнал поддержания (heartbeat) чтобы подтвердить свою текущую доступность и предотвратить попытки игроков подключиться к упавшим или офлайн-серверам. Отсутствие heartbeat в течение 30 секунд автоматически удалит экземпляр и любые ожидающие резервирования мест.
📢 Серверы могут переводить свой экземпляр в «режим гибернации» перед остановкой (масштабированием вниз), чтобы оставаться обнаруживаемыми без дальнейших heartbeat-запросов. Когда игрок запрашивает Обзор серверов для экземпляра в гибернации, Server Browser автоматически повторно развернет ваш сервер.
Поиск и просмотр
Игроки могут перечислять экземпляры серверов и постранично просматривать результаты чтобы найти сервер, к которому они хотят присоединиться. Чтобы отображать данные пинга (задержки), прочитайте добавлены и обновлены советы по использованию подробности каждого экземпляра и измерьте задержку.
Экземпляры и слоты могут фильтроваться по доступным местам для подключения или индексированным параметрам метаданных.
"joinable_seats"
eq или ne или
lt или le или
gt или ge
"string"
(метаданные)
eq или ne или
lt или le или
gt или ge или
contains
"int" , или "float"
(метаданные)
eq или ne или
lt или le или
gt или ge
"bool"
(метаданные)
eq или ne
Отфильтруйте по регионам и/или городам, чтобы сузить выбор перед измерением задержки до серверов.
Резервирование мест
Перед подключением к серверу требуется резервирование места, чтобы убедиться, что экземпляр предлагает достаточную доступную емкость. Резервации могут включать группу игроков или отдельного игрока.
Резервации, превышающие вместимость присоединяемых мест слота, будут автоматически отклонены (409 Conflict). Присоединяемые места — это любые доступные места, которые еще не были зарезервированы другими игроками.
Федеративная идентификация: игроки должны предоставить уникальный сторонний идентификатор игрока в своей резервации. Отправка того же идентификатора после того, как они Обзор серверов позволит серверу проверить их личность.
После успешного создания резервации (200 OK) игроки должны попытаться подключиться немедленно. Ожидающие резервации истекут через 30 секунд, если они не будут подтверждены вашим сервером.
Подключиться к серверу
Как только игрок найдёт подходящий экземпляр, он может получить необходимые детали подключения из метаданных (URL, IP, Внешний порт). Как только резервирование места сделано, игроки могут подключаться к игровому серверу вашего развертывания и передавать свой идентификатор игрока.
Чтобы подключиться из PIE (Editor) во время разработки и тестирования, нажмите клавишу тильда ~ и введите open {URL}:{port} и дождитесь, пока ваш редактор загрузит карту.
В случае неудачных подключений или тёмного экрана обратитесь к нашему руководству по устранению неполадок.
Чтобы подключите ваш Unity Editor или игровой клиент к вашему облачному развертыванию, введите:
Развертывание URL указывающий на IP сервера, обычно в
NetworkManagerкомпоненте.Внешний порт маппируется на внутренний порт прослушивания сервера, обычно в компоненте Transport.
В случае таймаута соединения или других проблем обратитесь к нашему руководству по устранению неполадок.
Чтобы аутентифицировать новые подключения, ваш сервер должен отправить пакетный запрос подтверждения резерваций со всеми идентификаторами новых игроков, получая в ответе подтверждения информацию:
назначение принятых резервов игроков их предпочитаемому слоту,
назначение истёкших резервов игроков их предпочитаемому слоту,
список неизвестных идентификаторов игроков.
Ваш сервер может самостоятельно решать, как обрабатывать каждую группу игроков и разрешать ли или кикать/банить истёкших или отклонённых пользователей. Каждый из слотов экземпляра должен быть обновлён немедленно с новым количеством доступных мест чтобы гарантировать, что новые резервации не превысят вместимость.
Покинуть сервер
Когда игроки уходят, сервер должен обновить присвоенный им слот, чтобы отразить новую доступную вместимость мест.
Если ваша игровая логика допускает период повторного подключения, сервер может подождать перед освобождением мест.
Мы рекомендуем останавливать серверы без игроков, чтобы оптимизировать затраты на хостинг. Задержка в несколько минут перед этим может уменьшить количество перезапусков во время коротких периодов бездействия.
Читайте о Сохранение состояния чтобы предотвратить раздражающие откаты состояния постоянных серверов.
⚙️ Конфигурация
Server Browser API генерируется из JSON-конфигурации, указанной при создании нового (или быстрого перезапуска) Server Browser. Вы можете указать время жизни серверов и слотов, а также пользовательские метаданные:
☁️ Кластер хостинга
Server Browser удобно размещается и управляется Edgegap круглосуточно 24/7.
Выберите вариант хостинга, который лучше всего соответствует вашей цели:
Бесплатный кластер (общий) чтобы протестировать все функции и исследовать синергии с вашим дизайном,
автоматически отключается через 3 часа, для продолжения тестирования требуется перезапуск.
Приватный кластер (выделенный) чтобы обеспечить стабильную среду для ваших производственных нужд,
выберите ваш регион и получите круглосуточную поддержку живых игр для выпуска с уверенностью.
Уровни приватного кластера
В настоящее время мы предлагаем 3 уровня частных кластеров чтобы удовлетворить потребности всех:
Лучше всего подходит для
энтузиасты, одиночные разработчики
коммерческие релизы
запуски с высоким трафиком
Ресурсы
1 vCPU + 2 ГБ ОЗУ
6 vCPU + 12 ГБ ОЗУ
18 vCPU + 48 ГБ ОЗУ
Резервирование
1 виртуальный узел
3 виртуальных узла
3 виртуальных узла
Ограничение скорости (запросов/с)
200
750
2,000
Цена, почасово
$0.0312
$0.146
$0.548
Цена за 30 дней (беспрерывное использование)
$22.464
$105.12
$394.56
Обновитесь до приватного кластера одним кликом, чтобы воспользоваться высокодоступным хостингом, поддерживаемым командой Edgegap с круглосуточной живой поддержкой для публично выпущенных игр.
Требования к ресурсам для вашего экземпляра будут зависеть от факторов:
количество игроков - больше игроков приводит к большему количеству API-запросов,
количество запросов на игрока - более частые повторы увеличивают нагрузку на сервис и потребляют ресурсы,
количество серверов - больше серверов означает больше хранимых данных и больше API-запросов,
логика резервного повторного подключения клиента - повторные попытки с переменным бэкофом помогают распределять пиковые всплески трафика,
средняя продолжительность матча - более короткие сессии требуют более частого взаимодействия с серверным браузером.
📗 API
Игровые клиенты и выделенные серверы отправляют API-запросы на протяжении всего своего жизненного цикла в Server Browser.
Swagger Web UI: развертывание вашего сервиса сгенерирует спецификацию OpenAPI и удобный веб-интерфейс. Откройте URL в браузере, чтобы просмотреть и протестировать все конечные точки API и изучить примеры полезных нагрузок.
Импортируйте спецификацию API в Scalar API Web Client или Swagger Editor чтобы просмотреть подробности.
Пагинация
Server Browser предоставляет курсорную пагинацию, чтобы поэтапно получать отфильтрованные данные в определённом порядке. Этот подход требует отправки курсора (точки начала) и размера страницы (количества элементов ответа) при каждом получении дополнительных результатов, в отличие от традиционной пагинации с лимитом и смещением.
Наша цель — чтобы пользователи находили подходящий сервер на первой странице. Для лучшего опыта мы рекомендуем показывать кешированные результаты для предыдущих страниц и обновлять результаты только при нажатии пользователем кнопки Поиск.
🔖 Журнал изменений
Семантическое версионирование
Наш свах использует официальные Семантическое версионирование руководства. Каждый JSON конфигурации привязан к определённой версии сервиса. Версия сервиса определяет, какие правила и настройки доступны в вашей конфигурации и API. После выпуска версия больше никогда не изменится.
0.0.4 (05 янв. 2026)
Вход в ОТКРЫТУЮ БЕТУ, представлена фильтрация и сортировка для экземпляров серверов и слотов!
0.0.3 (28 нояб. 2025)
Первоначальный выпуск сервиса Server Browser запущен в ЗАКРЫТОЙ БЕТЕ.
Перечисление серверов, управление емкостью и получение данных подключения.
Поддержка матч-сессий с облачными развертываниями и постоянной доступности с приватными флотами.
Последнее обновление
Это было полезно?

