> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/ru/learn/orkestraciya/seansy-igrokov.md).

# Сеансы игроков

Ознакомьтесь с понятиями оркестрации сеансов и ключевыми различиями между Lobby, Group, Session и Social Hub. Узнайте, как использовать ваш Lobby с Edgegap.

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

## 🚀 Начало работы

Рассмотрим сложный игровой дизайн, предлагающий все возможные модели сессий. Большинство игр начинают с меньшего набора и иногда позже расширяются, включая больше систем сессий.

{% hint style="info" %}
См. [#key-concepts](#key-concepts "mention") ниже для чёткого разграничения понятий, связанных с сессиями.
{% endhint %}

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2F7RalnCJMkfGvNrw3Qwtb%2FUntitled-2026-09-18-1656.png?alt=media&amp;token=a309d4e2-0c22-4ec0-8b1f-e738341a1e34" alt=""><figcaption><p>Переходы от лобби к сессии</p></figcaption></figure>

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

{% hint style="warning" %}
**Ручного запуска развертываний и вставки URL и портов недостаточно для живой игры.**
{% endhint %}

Автоматизируйте популярные игровые сценарии для [Сеансы игроков](/ru/learn/orkestraciya/seansy-igrokov.md) и масштабирования серверов с помощью одного из следующих вариантов:

{% columns %}
{% column width="33.33333333333333%" %}
[Матчмейкинг](/ru/learn/matchmeiking.md):

* Соревновательные игры
* Матчи по запросу
* Рейтинг навыка и/или\
  Пользовательские правила
  {% endcolumn %}

{% column width="33.33333333333333%" %}
[Браузер серверов](/ru/learn/brauzer-serverov.md):

* Постоянные или социальные
* Длительные сессии
* Автораспределение и/или\
  Пользовательский поиск
  {% endcolumn %}

{% column width="33.33333333333333%" %}
Пользовательский бэкенд:

* Переносите игры в продакшене
* [Развертывайте с API v2](/ru/docs/api/vydelennye-servery.md)
* [Отслеживайте вебхуки](/ru/learn/orkestraciya/deployments.md#webhooks)
  {% endcolumn %}
  {% endcolumns %}

## 📚 Ключевые понятия

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

### Лобби

**Лобби** (также называется **пати**) относится к кратковременной и одноразовой группе игроков. Лобби начинается с приглашения друга (или запроса на присоединение), чаще всего до установления сессии (подключения к серверу), чтобы группа друзей могла вместе войти в одну игровую сессию и настроить различные параметры, такие как выбор персонажа/роли, предпочтение игрового режима, предпочтение карты или другие.

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

{% hint style="info" %}
Лобби, запрашивающие выделение сессии (новой или существующей), часто называют группами.
{% endhint %}

{% hint style="success" %}
Лобби во многом опираются на социальные функции и функции друзей, встроенные в [платформы распространения](#user-content-fn-1)[^1]. **Сервисы Edgegap интегрируются с предпочитаемым вами сервисом лобби вместо того, чтобы заменять его.**
{% endhint %}

<table data-search="false"><thead><tr><th width="414">Игровой бэкенд (включая сторонний сервис лобби)</th><th width="120" data-type="checkbox">Unreal Engine</th><th width="75" data-type="checkbox">Unity</th><th data-type="checkbox">Godot</th></tr></thead><tbody><tr><td><a href="https://dev.epicgames.com/docs/game-services/lobbies-and-sessions/lobbies/lobbies-intro">Лобби Epic Online Services</a><br>(Epic Games)</td><td>true</td><td>true</td><td>true</td></tr><tr><td><a href="https://partner.steamgames.com/doc/features/multiplayer/matchmaking#friends">Лобби Steamworks</a><br>(Valve Corporation)</td><td>true</td><td>true</td><td>true</td></tr><tr><td><a href="https://heroiclabs.com/docs/nakama/concepts/groups/">Группа Nakama</a><br>(Heroic Labs)</td><td>true</td><td>true</td><td>true</td></tr><tr><td><a href="https://learn.microsoft.com/en-us/gaming/playfab/community/associations/groups/quickstart">Лобби Playfab</a><br>(Microsoft)</td><td>true</td><td>true</td><td>true</td></tr><tr><td><a href="https://docs.braincloudservers.com/learn/key-concepts/multiplayer/lobbies/#lobby-experience">Лобби brainCloud</a><br>(bitHeads)</td><td>true</td><td>true</td><td>true</td></tr><tr><td><a href="https://github.com/foxssake/noray">noray</a><br>(Netfox)</td><td>false</td><td>false</td><td>true</td></tr><tr><td><a href="https://developer.apple.com/documentation/gamekit/connecting-players-with-their-friends-in-your-game">Друзья Gamekit</a><br>(Apple)</td><td>true</td><td>true</td><td>false</td></tr><tr><td>Пользовательское лобби<br>(ваша компания)</td><td>true</td><td>true</td><td>true</td></tr></tbody></table>

{% hint style="warning" %}
**Лобби не следует путать с сервером Social Hub** (часто называемым «сервером лобби»).
{% endhint %}

### **Социальный хаб**

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

Социальные хабы похожи на [**Постоянные серверы**](/ru/learn/orkestraciya/postoyanstvo.md) которые могут работать в течение длительного времени.

### **Сессия**

**Сессия** — это кратковременная и одноразовая сущность, определяемая набором параметров:

* Связанные группы — одна или несколько групп, каждая из которых идентифицируется набором уникальных идентификаторов игроков.
* [Развертывание](/ru/learn/orkestraciya/deployments.md) — один экземпляр сервера, удерживающий подключения игроков на протяжении всей сессии.

{% hint style="info" %}
Сессии в Edgegap могут использовать [управляемые сервисы](/ru/nachalo-raboty.md), стороннее решение или ваш собственный бэкенд.
{% endhint %}

## 🔀 Стэкинг сессий

{% hint style="info" %}
Большинству игровых движков требуется как минимум 0,25 vCPU для запуска серверов, проводите бенчмарк с использованием [Развертывания](/ru/learn/orkestraciya/deployments.md#container-metrics).
{% endhint %}

Пользовательским игровым серверам иногда требуется меньше минимального [0,25 vCPU на сессию](/ru/learn/orkestraciya/application-and-versions.md#resource-requirements):

* Игры с симуляцией lockstep (например, пошаговые, TCG/CCG или стратегические игры).
* 1 на 1 файтинги — обычно используют Custom Smart Relay с обнаружением читов (например, [lightnet](https://github.com/edgegap/lightnet-unity-relay)).

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

{% hint style="warning" %}
**Стэкинг сессий не рекомендуется, если вашему серверу требуется 0,25 vCPU или больше.** Этот подход добавляет сложность управления сессиями, которую обычно обеспечивает простая изоляция развертываний.
{% endhint %}

Стэкинг сессий создаёт три новые проблемы:

1. **Заполняйте доступную ёмкость развертывания активными сессиями, чтобы уменьшить неиспользуемый запас.**
   1. Использование [дозаполнения матчмейкинга](/ru/learn/matchmeiking/matchmaker-in-depth.md#backfill-match) или [браузера серверов](/ru/learn/brauzer-serverov.md) для повторного использования пустых сессий в развертываниях.
2. **Освобождайте пустые или почти пустые развертывания и переносите длительно работающие сессии.**
   1. [Останавливайте пустые развертывания, чтобы снизить затраты.](https://docs.edgegap.com/ru/learn/orkestraciya/pages/4ad5d792bc82dceeaec6d7dd56165ae188da0417#id-5.-deployment-stopped) Для последних нескольких длительно работающих сессий предложите игрокам перейти в другое развертывание, чтобы объединить сессии и снизить ваши затраты.
3. **Не допускайте, чтобы неожиданная ошибка в одной сессии повлияла на всё развертывание.**
   1. Реализуйте несколько уровней защиты, чтобы перехватывать исключения на уровне сессии. Рекомендуется частичная обработка ошибок, хотя перезапуск матча часто гораздо проще при более коротких сессиях.

[^1]: Steam, Epic Games Store, Nintendo Store и аналогичные
