compassОбзор серверов

Добро пожаловать в Edgegap Server Browser ОТКРЫТАЯ БЕТА. Мы надеемся, что вам понравится возможность опробовать наш новый сервис и помочь сформировать его будущее через круглые столы в нашем Discord.

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

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

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

  • 📢 упростить операции с серверами включая обновления, перезапуски, сохранение состояния, объединение в сеть и многое другое.

circle-info

Элементы, отмеченные значком 📢, — это функции, запланированные для начального запуска и далее (пока недоступны).

circle-check

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

Сетевые потоки

Server Browser — сетевые потоки

При использовании Server Browser существуют четыре (4) важных потока данных:

  1. Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.

    1. Используйте v2/deploy API для сессий, связанных с матчем длительностью менее 24 часов.

    2. 📢 Используйте Hot Standby для поддержки автоматического масштабирования и объединения в сеть на основе правил.

  2. Server API используется выделенными серверами для объявления о своей доступности и управления вместимостью.

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

  4. Транспортные средства сетевого кода используются для связи между игровыми клиентами и выделенными серверами.

circle-info

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

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

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

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

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

  • Токен сервера - требуется для Server API методов, может быть внедрён как переменная версии приложения.

    • Предоставляет доступ ко всем методам API и удобен для тестирования, DevOps или кастомных оркестраторов.

  • Токен клиента - требуется для Мониторинга и Seat Reservation API методов, используемых игровыми клиентами.

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

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

Deployments API используется для развертывания, масштабирования и управления вашими выделенными серверами.

Когда вы запускаете новый Развертывания, уведомьте Server Browser о новом экземпляре и задайте любое количество дополнительных параметров метаданных полезных для фильтрации, сортировки и просмотра игроками:

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

    • требуется как минимум один слот на экземпляр для управления вместимостью игроков;

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

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

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

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

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

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

circle-info

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

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

circle-check

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

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

📢 Серверы могут переводить свой экземпляр в "режим гибернации" перед остановкой (масштабированием вниз), чтобы оставаться обнаруживаемыми без дальнейших запросов heartbeat. Когда игрок запрашивает Обзор серверов для гибернирующего экземпляра, Server Browser автоматически перезапустит ваш сервер.

circle-info

Смотрите Устойчивость (Persistence) для управления постоянным состоянием мира и Приложения и версии для более быстрого развертывания.

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

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

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

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

"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

circle-check
circle-info

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

Бронирование мест

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

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

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

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

circle-info

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

Подключение к серверу

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

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

circle-check

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

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

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

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

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

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

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

circle-check

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

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

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

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

chevron-right🍀 Простой примерhashtag
circle-info

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

☁️ Кластер хостинга

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

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

Уровни приватного кластера

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

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

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

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

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

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

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

📗 API

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

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

Пагинация

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

circle-info

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

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

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

circle-info

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

0.0.4 (05 янв. 2026)

0.0.3 (28 нояб. 2025)

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

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

  • Поддержка матч-сессий с Cloud Deployments и всегда онлайн с Private Fleets.

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

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