compassБраузер серверов

Добро пожаловать в открытый бета-тест Edgegap Server Browser. Надеемся, вам понравится возможность ознакомиться с нашим новым сервисом и помочь сформировать его будущее через круглые столы в нашем Discord.

Server Browser — это управляемый сервис для Match-Bound и постоянных серверов:

  • помощи игрокам в поиске и подключении к подходящим серверам на основе вместимости, задержки или игровых параметров;

  • предварительного прогрева новых серверов чтобы обслуживать аудиторию по всему миру в масштабе и предотвращать раздражающие очереди;

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

circle-check

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

Поток и иерархия

Server Browser: Поток и иерархия

Server Browser предлагает две основные функции:

Браузер серверов с игровыми клиентами для:

  • Обнаружения и поиска подходящих экземпляров серверов, просмотра слотов и резервирования доступной вместимости.

  • Резервирования мест в слоте экземпляра, получения данных подключения и соединения с серверами.

  • Аутентификации подключений игроков из развертываний с помощью Федеративной идентификации.

  • Обновления доступной вместимости и/или метаданных слотов экземпляра для изменения критериев обнаружения.

Браузер серверов (необязательно) с политиками масштабирования для:

  • Мониторинга доступных экземпляров серверов, слотов, вместимости — по регионам и/или другим критериям.

  • Развертывания серверов для увеличения вместимости с предварительным прогревом или масштабированием just-in-time.

  • Автоматизации операций с помощью специальных политик для демо, обновлений, тестирования, QA, турниров и многого другого.

circle-info

После релиза ваш сервер-браузер должен работать 24/7 чтобы игроки по всему миру могли подключаться к серверам.

▶️ Начать просмотр

Узнайте о жизненном цикле сервера/игрока и об их обязанностях, чтобы обеспечить эффективное использование серверов.

Аутентификация

Server Browser автоматически генерирует два типа токенов:

Обнаружение экземпляра

Новый Развертывания должен создавать новый экземпляр как минимум с одним слотом при инициализации.

circle-info

См. Браузер серверов чтобы узнать о политиках масштабирования и автоматически запускать развертывания.

Необязательные пользовательские параметры метаданных для фильтрации игроков, сортировки и просмотра.

Примеры:

  • информация о слоте — вместимость команды и специфичные для команды метаданные (например, название команды),

  • имя и теги — настраиваемые, уникальные, человекочитаемые и searchable метки;

  • данные подключения — URL, IP, внешние порты или другие параметры;

  • данные совместимости — версия сервера или поддерживаемые версии клиента;

  • критерии задержки — идентификаторы города и региона, а также назначенные Маяки Ping сведения;

  • игровые параметры — уровень/сцена/карта, игровой режим, сложность, используемые моды;

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

circle-info

Параметры метаданных выше — лишь примеры, вы можете определить любые параметры, включая перечисленные. Все параметры метаданных необязательны, и некоторым экземплярам не нужно определять все параметры.

Метаданные поддерживают строковые ключи и значения, содержащие строку, число, булево значение или массив строк.

circle-check

Серверы могут обновлять метаданные экземпляра или слота в любое время чтобы изменить критерии обнаружения.

Экземпляры серверов должны периодически отправлять heartbeat keep-alive чтобы подтверждать свою доступность и не позволять игрокам подключаться к упавшим или офлайн-серверам. Отсутствие heartbeat в течение заданного периода истечения автоматически удалит экземпляр и все ожидающие резервации мест.

circle-info

См. Постоянство для управления постоянным состоянием мира и Приложения и версии для более быстрых развертываний.

Поиск и просмотр

Игроки могут перечислять экземпляры серверов и переходить по страницам результатов чтобы найти сервер, к которому хотят присоединиться. Чтобы отображать данные ping (задержки), прочитайте Маяки Ping сведения каждого экземпляра и измерьте задержку.

Экземпляры и слоты могут фильтроваться по доступным для подключения местам или индексированным параметрам метаданных.

Параметр
Операторы
Пример фильтра (на основе простого примера)

"joinable_seats"

eq или ne или

lt или le или

gt или ge

"string" (метаданные)

eq или ne или

lt или le или

gt или ge или содержит

"int" или "float"

(метаданные)

eq или ne или

lt или le или

gt или ge

"bool" (метаданные)

eq или ne

circle-check
circle-info

Узнайте о курсорной Браузер серверов чтобы пользователи могли получать больше результатов.

Резервирование мест

Перед подключением к серверу требуется резервирование места, чтобы убедиться, что экземпляр предлагает достаточную доступную вместимость. Резервации могут включать группу игроков или одного игрока.

Резервации, превышающие вместимость доступных мест слота, будут автоматически отклонены (409 Conflictarrow-up-right). Доступные для подключения места — это любые свободные места, которые ещё не были зарезервированы другими игроками.

Федеративная идентификация: игроки должны указать в своей резервации уникальный ID игрока стороннего сервиса. Отправка того же ID после того, как они Браузер серверов позволит серверу подтвердить их личность.

После успешного создания резервации (200 OKarrow-up-right) игрокам следует попытаться подключиться немедленно. Ожидающие резервации истекут через 30 секунд, если они не будут подтверждены вашим сервером.

circle-info

Сервер может принудительно изменить вместимость любого слота, добавить, удалить или обновить любые слоты. Все резервации для данного слота будут удалены, если любые ожидающие резервации превысят новую доступную вместимость слота.

Подключиться к серверу

Как только игрок нашёл подходящий экземпляр, он может получить необходимые данные подключения из метаданных (URL, IP, внешний порт). Как только резервирование места сделано, игроки могут подключиться к игровому серверу вашего развертывания и передать свой ID игрока.

Чтобы подключиться из PIE (Editor) во время разработки и тестирования, нажмите клавишу тильды ~ и введите open {URL}:{port} и дождитесь загрузки карты в редакторе.

circle-check

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

  • назначение принятых резерваций игроков в их предпочтительный слот,

  • назначение истёкших резерваций игроков в их предпочтительный слот,

  • список неизвестных ID игроков.

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

Покинуть сервер

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

circle-check

Рекомендуем останавливать серверы без игроков, чтобы оптимизировать стоимость хостинга. Если подождать несколько минут перед этим, можно сократить число перезапусков во время коротких периодов простоя.

Читайте о Постоянство чтобы предотвратить раздражающие откаты постоянных серверов.

🚀 Автоматическое масштабирование

Server Browser совместим с несколькими разными методами автоскейлинга:

Следующее руководство сосредоточится на предварительном прогреве с политиками масштабирования как на основном методе.

circle-check

Мониторинг вместимости

Политики масштабирования непрерывно обновляют список ваших экземпляров серверов (обнаруженных развертываний), повторяя это каждые monitoring_interval . Каждая политика может включать фильтр, используя тот же синтаксис фильтрации что и игроки при поиске экземпляров — по региону, вместимости или другим критериям.

Ваш настроенный minimum_active_instances значение может рассматриваться либо как:

  • фиксированная вместимость развертываний, которые вы хотите держать запущенными постоянно,

  • резерв предварительно прогретых развертываний, чтобы скрыть задержки инициализации.

Фиксированная вместимость

Поддержание фиксированного количества серверов может быть полезно особенно для игр с Постоянство, особенно когда такие игры предлагают игрокам арендовать Постоянство.

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

circle-info

Политика масштабирования помогает автоматически перезапускать и перерабатывать упавшие или остановленные серверы на лету.

Резерв предварительного прогрева

Запуск серверов заранее до спроса игроков может быть преимуществом, когда:

  • вы выпускаете крупные релизы или обновления и ожидаете быстрый приток игроков за короткое время,

  • или инициализация сервера занимает более 30 секунд (не считая времени развертывания),

  • или игра реализует стратегии мэшинга, требующие сложных или циклических сетевых зависимостей.

circle-info

С матчмейкингом вам нужно Подробный обзор чтобы использовать эту вместимость перед запуском новых развертываний.

Развернуть серверы

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

circle-exclamation

При определении запроса на развертывание для вашей политики мы используем стандартные параметры развертывания, позволяющие развёртывание в Private Fleets (с Overflow to Cloud) или напрямую в Cloud:

Примеры политик

Тестируйте и изменяйте любые из этих политик по необходимости. Большинство игр будет использовать несколько политик.

chevron-right🍀 Пул для контроля качества (минимальный пример)hashtag

Простая политика, чтобы постоянно держать развернутым один сервер для тестирования.

chevron-right🌡️ Предварительный прогрев релиза по регионамhashtag

Каждый регион запускает развертывания до релиза в ожидании спроса.

chevron-right❄️ Группа серверного мэшингаhashtag

Одна политика на группу серверов, где игровой backend добавляет новую политику для каждой группы.

chevron-right🔑 Комьюнити-серверhashtag

Одна политика на владельца сервера, передающая пользовательский пароль, используемый для аутентификации сервера.

chevron-right🔒 MMO с привязкой к регионуhashtag

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

⚙️ Конфигурация

API Server Browser генерируется из JSON-конфигурации, указанной при создании нового Server Browser (или при быстром перезапуске). Вы можете указать срок истечения для серверов и слотов, а также пользовательские метаданные:

circle-info

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

☁️ Хостинг-кластер

Server Browser удобно размещается и управляется Edgegap 24/7 круглосуточно.

Выберите вариант хостинга, наиболее подходящий для вашей цели:

Тиры частного кластера

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

Требования к ресурсам для вашего экземпляра будут зависеть от факторов:

  • количество игроков - больше игроков приводит к большему числу API-запросов,

  • количество запросов на игрока - более частые повторы увеличивают нагрузку на сервис и потребляют ресурсы,

  • количество серверов - больше серверов означает больше хранимых данных и больше API-запросов,

  • логика fallback при повторных попытках клиента - повторные попытки с jittered backoff помогают распределить всплески трафика,

  • средняя длительность матча - более короткие сессии требуют более частого взаимодействия с сервер-браузером.

📗 API

Игровые клиенты и выделенные серверы отправляют API-запросы в течение всего жизненного цикла в Server Browser.

Импортируйте спецификацию API в веб-клиент Scalar APIarrow-up-right или Swagger Editorarrow-up-right чтобы просмотреть детали.

Пагинация

Server Browser предоставляет курсорную пагинацию для поэтапного получения отфильтрованных данных в определённом порядке. Этот подход требует отправлять курсор (точку начала) и размер страницы (число элементов ответа) каждый раз при получении дополнительных результатов, в отличие от традиционной пагинации limit-offset.

circle-info

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

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

🔖 Журнал изменений

circle-info

Последняя версия server browser — 0.0.5 . Следите за обновлениями и объявлениями.

0.0.5 (18 мар. 2026 г.)

0.0.4 (05 янв. 2026)

0.0.3 (28 нояб. 2025)

  • Первый выпуск сервиса Server Browser запущен в ЗАКРЫТОЙ БЕТЕ.

  • Просматривайте серверы, управляйте ёмкостью и получайте сведения о подключении.

  • Поддержка матч-сессий с облачными развёртываниями и режима always online с Private Fleets.

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

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