Браузер серверов
Добро пожаловать в открытый бета-тест Edgegap Server Browser. Надеемся, вам понравится возможность ознакомиться с нашим новым сервисом и помочь сформировать его будущее через круглые столы в нашем Discord.
Server Browser — это управляемый сервис для Match-Bound и постоянных серверов:
помощи игрокам в поиске и подключении к подходящим серверам на основе вместимости, задержки или игровых параметров;
предварительного прогрева новых серверов чтобы обслуживать аудиторию по всему миру в масштабе и предотвращать раздражающие очереди;
упрощения операций серверов включая обновления, перезапуски, постоянство, мэшинг и многое другое.
Ищете способ подбирать игроков по строгим правилам, не позволяя выбирать сервер? Рассмотрите Подбор игроков.

✔️ Подготовка
Поток и иерархия

Server Browser предлагает две основные функции:
Браузер серверов с игровыми клиентами для:
Обнаружения и поиска подходящих экземпляров серверов, просмотра слотов и резервирования доступной вместимости.
Резервирования мест в слоте экземпляра, получения данных подключения и соединения с серверами.
Аутентификации подключений игроков из развертываний с помощью Федеративной идентификации.
Обновления доступной вместимости и/или метаданных слотов экземпляра для изменения критериев обнаружения.
Браузер серверов (необязательно) с политиками масштабирования для:
Мониторинга доступных экземпляров серверов, слотов, вместимости — по регионам и/или другим критериям.
Развертывания серверов для увеличения вместимости с предварительным прогревом или масштабированием just-in-time.
Автоматизации операций с помощью специальных политик для демо, обновлений, тестирования, QA, турниров и многого другого.
После релиза ваш сервер-браузер должен работать 24/7 чтобы игроки по всему миру могли подключаться к серверам.
▶️ Начать просмотр
Узнайте о жизненном цикле сервера/игрока и об их обязанностях, чтобы обеспечить эффективное использование серверов.
Аутентификация
Server Browser автоматически генерирует два типа токенов:
Токен сервера - требуется для методов Server API может быть внедрён как переменная версии приложения.
Даёт доступ ко всем методам API и удобен для тестирования, devops или собственной оркестрации.
Токен клиента - требуется для Monitor API и Seat Reservation API используется игровыми клиентами.
Рекомендуем хранить этот токен во внешнем хранилище секретов, чтобы упростить ротацию токенов.
Обнаружение экземпляра
Новый Развертывания должен создавать новый экземпляр как минимум с одним слотом при инициализации.
См. Браузер серверов чтобы узнать о политиках масштабирования и автоматически запускать развертывания.
Необязательные пользовательские параметры метаданных для фильтрации игроков, сортировки и просмотра.
Примеры:
информация о слоте — вместимость команды и специфичные для команды метаданные (например, название команды),
имя и теги — настраиваемые, уникальные, человекочитаемые и searchable метки;
данные подключения — URL, IP, внешние порты или другие параметры;
данные совместимости — версия сервера или поддерживаемые версии клиента;
критерии задержки — идентификаторы города и региона, а также назначенные Маяки Ping сведения;
игровые параметры — уровень/сцена/карта, игровой режим, сложность, используемые моды;
любые другие пользовательские параметры, помогающие игрокам фильтровать и находить подходящий сервер.
Параметры метаданных выше — лишь примеры, вы можете определить любые параметры, включая перечисленные. Все параметры метаданных необязательны, и некоторым экземплярам не нужно определять все параметры.
Метаданные поддерживают строковые ключи и значения, содержащие строку, число, булево значение или массив строк.
Чтобы сериализовать вложенные объекты, попробуйте кодировать путь доступа к ним в ключе как "object.child.property".
Серверы могут обновлять метаданные экземпляра или слота в любое время чтобы изменить критерии обнаружения.
Экземпляры серверов должны периодически отправлять heartbeat keep-alive чтобы подтверждать свою доступность и не позволять игрокам подключаться к упавшим или офлайн-серверам. Отсутствие heartbeat в течение заданного периода истечения автоматически удалит экземпляр и все ожидающие резервации мест.
См. Постоянство для управления постоянным состоянием мира и Приложения и версии для более быстрых развертываний.
Поиск и просмотр
Игроки могут перечислять экземпляры серверов и переходить по страницам результатов чтобы найти сервер, к которому хотят присоединиться. Чтобы отображать данные 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
Фильтруйте по регионам и/или городам, чтобы сузить выбор перед измерением задержки до серверов.
Узнайте о курсорной Браузер серверов чтобы пользователи могли получать больше результатов.
Резервирование мест
Перед подключением к серверу требуется резервирование места, чтобы убедиться, что экземпляр предлагает достаточную доступную вместимость. Резервации могут включать группу игроков или одного игрока.
Резервации, превышающие вместимость доступных мест слота, будут автоматически отклонены (409 Conflict). Доступные для подключения места — это любые свободные места, которые ещё не были зарезервированы другими игроками.
Федеративная идентификация: игроки должны указать в своей резервации уникальный ID игрока стороннего сервиса. Отправка того же ID после того, как они Браузер серверов позволит серверу подтвердить их личность.
После успешного создания резервации (200 OK) игрокам следует попытаться подключиться немедленно. Ожидающие резервации истекут через 30 секунд, если они не будут подтверждены вашим сервером.
Сервер может принудительно изменить вместимость любого слота, добавить, удалить или обновить любые слоты. Все резервации для данного слота будут удалены, если любые ожидающие резервации превысят новую доступную вместимость слота.
Подключиться к серверу
Как только игрок нашёл подходящий экземпляр, он может получить необходимые данные подключения из метаданных (URL, IP, внешний порт). Как только резервирование места сделано, игроки могут подключиться к игровому серверу вашего развертывания и передать свой ID игрока.
Чтобы подключиться из PIE (Editor) во время разработки и тестирования, нажмите клавишу тильды ~ и введите open {URL}:{port} и дождитесь загрузки карты в редакторе.
В случае неудачных подключений или чёрного экрана обратитесь к нашему руководству по устранению неполадок.
Чтобы подключите ваш Unity Editor или игровой клиент к вашему облачному развертыванию, введите:
Развертывание URL указывающий на IP сервера, обычно в
NetworkManagerкомпоненте.Внешний порт сопоставленный с внутренним портом прослушивания сервера, обычно в компоненте Transport.
В случае тайм-аута подключения или других проблем обратитесь к нашему руководству по устранению неполадок.
Чтобы аутентифицировать новые подключения, ваш сервер должен отправить массовый запрос подтверждения резервации со всеми ID новых игроков, получив информацию в ответе подтверждения:
назначение принятых резерваций игроков в их предпочтительный слот,
назначение истёкших резерваций игроков в их предпочтительный слот,
список неизвестных ID игроков.
Ваш сервер может решить, как обрабатывать каждую группу игроков и разрешать ли либо кикать/банить истёкших или отклонённых пользователей. Каждый из слотов экземпляра должен быть немедленно обновлён с новым количеством доступных мест чтобы новые резервации не превышали вместимость.
Покинуть сервер
Когда игроки уходят, сервер должен обновить назначенный им слот, чтобы отразить новую доступную вместимость места.
Если дизайн вашей игры допускает период повторного подключения, сервер может подождать перед освобождением мест.
Рекомендуем останавливать серверы без игроков, чтобы оптимизировать стоимость хостинга. Если подождать несколько минут перед этим, можно сократить число перезапусков во время коротких периодов простоя.
Читайте о Постоянство чтобы предотвратить раздражающие откаты постоянных серверов.
🚀 Автоматическое масштабирование
Server Browser совместим с несколькими разными методами автоскейлинга:
метод предварительного прогрева - запуск серверов строго с политиками масштабирования Server Browser,
метод just-in-time - запуск через Подбор игроков и заполнение с помощью Server Browser,
пользовательский автоскейлер - запуск через собственный игровой backend и заполнение с помощью Server Browser.
Следующее руководство сосредоточится на предварительном прогреве с политиками масштабирования как на основном методе.
Узнайте, как останавливать развертывания в Unreal Engine, Unityили с API чтобы надёжно управлять жизненным циклом.
Мониторинг вместимости
Политики масштабирования непрерывно обновляют список ваших экземпляров серверов (обнаруженных развертываний), повторяя это каждые monitoring_interval . Каждая политика может включать фильтр, используя тот же синтаксис фильтрации что и игроки при поиске экземпляров — по региону, вместимости или другим критериям.
Ваш настроенный minimum_active_instances значение может рассматриваться либо как:
фиксированная вместимость развертываний, которые вы хотите держать запущенными постоянно,
резерв предварительно прогретых развертываний, чтобы скрыть задержки инициализации.
Фиксированная вместимость
Поддержание фиксированного количества серверов может быть полезно особенно для игр с Постоянство, особенно когда такие игры предлагают игрокам арендовать Постоянство.
Этот тип конфигурации политики также иногда используется для обеспечения качества, турниров, закрытых альф, демо для издателей и других видов событий и операций с ограниченной вместимостью.
Политика масштабирования помогает автоматически перезапускать и перерабатывать упавшие или остановленные серверы на лету.
Резерв предварительного прогрева
Запуск серверов заранее до спроса игроков может быть преимуществом, когда:
вы выпускаете крупные релизы или обновления и ожидаете быстрый приток игроков за короткое время,
или инициализация сервера занимает более 30 секунд (не считая времени развертывания),
или игра реализует стратегии мэшинга, требующие сложных или циклических сетевых зависимостей.
С матчмейкингом вам нужно Подробный обзор чтобы использовать эту вместимость перед запуском новых развертываний.
Развернуть серверы
Новые развертывания будут запускаться автоматически, когда число отслеживаемых экземпляров серверов упадёт ниже настроенного минимума активных экземпляров. Все развертывания запрашиваются немедленно и бесконечно повторяются после deployment_registration_period истечения.
Проверьте, что новые развертывания выполняют автообнаружение и создают экземпляры соответствующие фильтру вашей политики корректно, иначе ваша политика может зациклиться бесконечно и создать большое количество неиспользуемых развертываний!
При определении запроса на развертывание для вашей политики мы используем стандартные параметры развертывания, позволяющие развёртывание в Private Fleets (с Overflow to Cloud) или напрямую в Cloud:
приложение и версия - версия сборки, ресурсы и другие параметры оркестрации,
пользователи - один набор координат для предпочтительного размещения сервера,
идентификаторы частных хостов - оставьте пустым для облака или укажите хосты в желаемом регионе,
теги - пометьте именем политики, чтобы позже найти развертывания, запущенные с этой политикой,
переменные окружения - передайте серверам пользовательские параметры и секреты,
webhooks - уведомляйте ваш игровой backend (или матчмейкер) о событиях жизненного цикла развертывания,
требовать кэшированные локации - если вы предпочитаете более быстрые развертывания только в кэшированных локациях.
Примеры политик
Тестируйте и изменяйте любые из этих политик по необходимости. Большинство игр будет использовать несколько политик.
🍀 Пул для контроля качества (минимальный пример)
Простая политика, чтобы постоянно держать развернутым один сервер для тестирования.
🌡️ Предварительный прогрев релиза по регионам
Каждый регион запускает развертывания до релиза в ожидании спроса.
❄️ Группа серверного мэшинга
Одна политика на группу серверов, где игровой backend добавляет новую политику для каждой группы.
🔑 Комьюнити-сервер
Одна политика на владельца сервера, передающая пользовательский пароль, используемый для аутентификации сервера.
🔒 MMO с привязкой к региону
Каждый регион добавляет развертывания, когда доступная вместимость падает ниже порога.
⚙️ Конфигурация
API Server Browser генерируется из JSON-конфигурации, указанной при создании нового Server Browser (или при быстром перезапуске). Вы можете указать срок истечения для серверов и слотов, а также пользовательские метаданные:
Для наилучшей производительности избегайте указания индексов для метаданных, не используемых для фильтрации или сортировки. Неиндексированные параметры всё ещё можно задавать и читать через методы API данных экземпляра сервера или слота, см. 📗 API.
☁️ Хостинг-кластер
Server Browser удобно размещается и управляется Edgegap 24/7 круглосуточно.
Выберите вариант хостинга, наиболее подходящий для вашей цели:
Тиры частного кластера
Обновитесь до частного кластера в один клик, чтобы воспользоваться высокодоступным хостингом, поддерживаемым командой Edgegap, с круглосуточной живой поддержкой для публично выпущенных игр.
Требования к ресурсам для вашего экземпляра будут зависеть от факторов:
количество игроков - больше игроков приводит к большему числу API-запросов,
количество запросов на игрока - более частые повторы увеличивают нагрузку на сервис и потребляют ресурсы,
количество серверов - больше серверов означает больше хранимых данных и больше API-запросов,
логика fallback при повторных попытках клиента - повторные попытки с jittered backoff помогают распределить всплески трафика,
средняя длительность матча - более короткие сессии требуют более частого взаимодействия с сервер-браузером.
📗 API
Игровые клиенты и выделенные серверы отправляют API-запросы в течение всего жизненного цикла в Server Browser.
Импортируйте спецификацию API в веб-клиент Scalar API или Swagger Editor чтобы просмотреть детали.
Пагинация
Server Browser предоставляет курсорную пагинацию для поэтапного получения отфильтрованных данных в определённом порядке. Этот подход требует отправлять курсор (точку начала) и размер страницы (число элементов ответа) каждый раз при получении дополнительных результатов, в отличие от традиционной пагинации limit-offset.
В сочетании с нашей фирменной системой индексирования базы данных, разработанной для метаданных игровых серверов, курсорная пагинация обеспечивает быстрый, последовательный и гибкий пользовательский опыт при фильтрации высокодинамичных данных.
Наша цель — чтобы пользователи находили подходящий сервер уже на первой странице. Для наилучшего опыта мы рекомендуем показывать кэшированные результаты предыдущих страниц и обновлять результаты только тогда, когда пользователь нажимает Поиск.
🔖 Журнал изменений
Последняя версия 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.
Последнее обновление
Это было полезно?

