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

✔️ Подготовка
Networking Flows

При использовании Server Browser существуют четыре (4) важных потока данных:
Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.
Используйте v2/deploy API для сессии, привязанные к матчам, длящиеся менее 24 часов.
Используйте API развертывания приватного кластера чтобы запустить серверы в режиме ожидания Моё развёртывание готово, но я не могу подключиться в течение нескольких минут после этого. Сохранение состояния.
📢 Используйте Hot Standby для автоматического масштабирования по правилам и поддержки объединения сетей.
Server API используется выделенными серверами для объявления доступности и управления вместимостью.
Seat Reservation API используется игровыми клиентами для обнаружения и подключения к выделенным серверам.
Транспортные протоколы сетевого кода используются для связи между игровыми клиентами и выделенными серверами.
После релиза, ваш обозреватель серверов должен работать круглосуточно 24/7 чтобы игроки по всему миру могли подключаться к серверам.
▶️ Начать просмотр
Узнайте о жизненном цикле сервера/игрока и их обязанностях для обеспечения эффективного использования серверов.
Аутентификация
Server Browser автоматически генерирует два типа токенов:
Токен сервера - требуется для Server API методов, может быть внедрен как переменная версии приложения.
Предоставляет доступ ко всем методам API и удобен для тестирования, девопса или пользовательских оркестраторов.
Токен клиента - требуется для Monitor и Seat Reservation API методы, используемые игровыми клиентами.
Рекомендуем хранить этот токен в стороннем хранилище секретов, чтобы упростить смену токенов.
Обнаружение экземпляра
Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.
Используйте v2/deploy API для сессии, привязанные к матчам, длящиеся менее 24 часов.
Используйте API развертывания приватного кластера чтобы запустить серверы в режиме ожидания Моё развёртывание готово, но я не могу подключиться в течение нескольких минут после этого. Сохранение состояния.
📢 Используйте Hot Standby для автоматического масштабирования по правилам и поддержки объединения сетей.
Когда вы запускаете новый Развертывания, уведомьте Server Browser о новом экземпляре и задайте любое количество необязательных параметров метаданных полезных для фильтрации игроков, сортировки и просмотра:
информация о слотах — вместимость команды и командно-специфичные метаданные (например, название команды),
требуется как минимум один слот на экземпляр для управления вместимостью игрока;
имя и теги — настраиваемые, уникальные, удобочитаемые и поисковые метки;
детали подключения — URL, IP, внешние порты или другие параметры;
данные о совместимости — версия сервера или поддерживаемые версии клиента;
квалификаторы задержки — идентификаторы города и региона, и назначенные Пинг-маяки детали;
параметры игры — уровень/сцена/карта, режим игры, сложность, используемые моды;
любые другие пользовательские параметры, помогающие игрокам фильтровать и находить подходящий сервер.
Приведённые выше параметры метаданных — лишь примеры, вы можете определить любые параметры, включая перечисленные. Все параметры метаданных необязательны, и некоторым экземплярам может не требоваться задавать все параметры.
Метаданные поддерживают строковые ключи и значения типа string, number, boolean или массив строк.
Чтобы сериализовать вложенные объекты, попробуйте закодировать путь доступа в ключе как "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. Вы можете указать время жизни серверов и слотов, а также пользовательские метаданные:
Для лучшей производительности избегайте указания индексов для метаданных, которые не используются для фильтрации или сортировки. Неиндексированные параметры всё ещё можно задать и прочитать с помощью методов API деталей экземпляра сервера или слота, см. 📗 API.
☁️ Кластер хостинга
Server Browser удобно размещается и управляется Edgegap круглосуточно 24/7.
Выберите вариант хостинга, наиболее подходящий для вашей цели:
Уровни приватных кластеров
Обновитесь до приватного кластера в один клик, чтобы воспользоваться высокодоступным хостингом, обслуживаемым командой Edgegap с круглосуточной поддержкой для публично выпущенных игр.
Требования к ресурсам для вашего экземпляра будут зависеть от факторов:
количество игроков - больше игроков приводит к большему количеству запросов к API,
количество запросов на игрока - более частые повторы увеличивают нагрузку на сервис и потребляют ресурсы,
количество серверов - больше серверов означает больше хранимых данных и больше запросов к API,
логика резервного повторного запроса клиента - повторные попытки с джиттером и экспоненциальной задержкой помогают распределять пики трафика,
средняя продолжительность матча - более короткие сессии требуют более частого взаимодействия с обозревателем серверов.
📗 API
Игровые клиенты и выделенные серверы отправляют запросы к API на протяжении всего их жизненного цикла в Server Browser.
Импортируйте спецификацию API в Scalar API Web Client или Swagger Editor для изучения деталей.
Пагинация
Server Browser предоставляет курсорную пагинацию для поэтапной выборки отфильтрованных данных в определённом порядке. Этот подход требует отправки курсора (точки начала) и размера страницы (количества элементов в ответе) при каждом запросе дополнительных результатов, в отличие от традиционной пагинации limit-offset.
В сочетании с нашей проприетарной системой индексирования базы данных, разработанной для метаданных игровых серверов, курсорная пагинация обеспечивает быстрый, последовательный и гибкий пользовательский опыт при фильтрации сильно динамичных данных.
Наша цель — чтобы пользователи находили подходящий сервер на первой странице. Для лучшего опыта мы рекомендуем показывать кешированные результаты для предыдущих страниц и обновлять результаты только при нажатии пользователем на Поиск.
🔖 Changelog
Последняя версия обозревателя серверов — 0.0.4 . Следите за обновлениями и объявлениями.
0.0.4 (05 янв 2026)
Вход в OPEN BETA, введение фильтрации и сортировки для экземпляров серверов и слотов!
0.0.3 (28 ноя 2025)
Первоначальный выпуск сервиса Server Browser запущен в CLOSED BETA.
Просмотр серверов, управление вместимостью и получение данных для подключения.
Поддержка матч-сессий с облачными развертываниями и постоянная работа с приватными кластерами.
Последнее обновление
Это было полезно?

