> 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/docs/tools-and-integrations/unreal-eos-lobby-integration.md).

# Интеграция лобби EOS

Это руководство покажет вам, как интегрировать Edgegap для работы с лобби EOS в вашем проекте на Unreal. Некоторые шаги потребуют отправки запросов к нашему API с использованием токена, и `curl` команды, приведенные ниже, позволят вам просмотреть каждый из их ответов, чтобы вы могли определить, как обрабатывать их в своем коде. При использовании токена в ваших запросах убедитесь, что сохраняете `токен` ключевое слово.

Вам также потребуется заранее настроенная версия приложения на нашей платформе для вашего проекта. В этом случае мы рекомендуем использовать плагин Edgegap для Unreal, чтобы ускорить процесс тестирования. Для получения дополнительной информации о плагине вы можете прочитать нашу документацию [здесь](broken://pages/7ce756a6a6500cb502a107cbe2d27efe70032a36).

{% hint style="warning" %}
В качестве меры предосторожности не рекомендуется позволять владельцу лобби EOS отправлять запросы напрямую к API Edgegap в рабочей среде, поскольку клиент получит доступ к API-токену. Вместо этого следует использовать отдельный сервис для управления этими запросами.
{% endhint %}

### 1. Получение и сохранение публичного IP игроков

Для начала каждый игрок, который присоединяется к лобби — включая владельца лобби — должен получить свой публичный IP и сохранить его как [свойство участника лобби](https://dev.epicgames.com/docs/game-services/lobbies#lobby-and-lobby-member-properties).

```
curl --location --request GET 'https://api.edgegap.com/v1/ip' \
--header 'Authorization: [EDGEGAP_API_TOKEN]'
```

### 2. Создать деплоймент

Когда владелец лобби решит, что матч готов начаться, необходимо отправить запрос на создание нового деплоймента на Edgegap, используя сохраненные публичные IP-адреса.

```
curl --location --request POST 'https://api.edgegap.com/v1/deploy' \
--header 'Content-Type: application/json' \
--header 'Authorization: [EDGEGAP_API_TOKEN]' \
--data-raw '{
    "app_name": "[EDGEGAP_APP_NAME]",
    "version_name": "[EDGEGAP_APP_VERSION]",
    "ip_list": [
        "[LOBBY_MEMBER_IP]"
    ]
}'
```

После этого владельцу лобби потребуется периодически опрашивать деплоймент, используя request\_id, предоставленный в ответе на запрос создания деплоймента. Как только в ответе у деплоймента появится `текущее_состояние` установлено в `ГОТОВ`, владелец лобби должен будет установить значения IP и порта деплоймента как [свойства лобби EOS](https://dev.epicgames.com/docs/game-services/lobbies#lobby-and-lobby-member-properties).

```
curl --location --request GET 'https://api.edgegap.com/v1/status/[REQUEST_ID]' \
--header 'Authorization: [EDGEGAP_API_TOKEN]'
```

### 3. Подключение к деплойменту

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

### 4. Завершение матча и деплоймента

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

Для завершения деплоймента извне сервера можно использовать запрос, подобный `curl` команде, показанной ниже.

```
curl --location --request DELETE 'https://api.edgegap.com/v1/stop/[REQUEST_ID]' \
--header 'Authorization: [EDGEGAP_API_TOKEN]'
```

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.edgegap.com/ru/docs/tools-and-integrations/unreal-eos-lobby-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
