> 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/ko/learn/orchestration/player-sessions.md).

# 플레이어 세션

세션 오케스트레이션 개념과 Lobby, Group, Session, Social Hub의 주요 차이점을 알아보세요. Edgegap과 함께 Lobby를 사용하는 방법도 배웁니다.

Edgegap은 여러 관리형 및 맞춤형 플레이어 세션 관리 모델을 지원합니다. 모델을 선택할 때는 권한, 지속 시간, 고정성, 서비스 품질 같은 측면을 고려하세요.

## 🚀 시작하기

모든 가능한 세션 모델을 제공하는 복잡한 게임 디자인을 고려해 보세요. 대부분의 게임은 더 작은 하위 집합으로 시작하며, 나중에 더 많은 세션 시스템을 포함하도록 확장되기도 합니다.

{% hint style="info" %}
다음을 [#key-concepts](#key-concepts "mention") 세션 관련 개념을 명확히 구분하려면 아래를 참조하세요.
{% endhint %}

<figure><img src="https://1562312210-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 %}

다음을 위한 인기 있는 게임 흐름 자동화 [플레이어 세션](/ko/learn/orchestration/player-sessions.md) 그리고 서버 확장을 다음 중 하나로:

{% columns %}
{% column width="33.33333333333333%" %}
[매치메이킹](/ko/learn/matchmaking.md):

* 경쟁 게임
* 온디맨드 매치
* 실력 평점 및/또는\
  사용자 지정 규칙
  {% endcolumn %}

{% column width="33.33333333333333%" %}
[서버 브라우저](/ko/learn/server-browser.md):

* 지속형 또는 소셜
* 긴 세션
* 자동 할당 및/또는\
  사용자 지정 검색
  {% endcolumn %}

{% column width="33.33333333333333%" %}
사용자 지정 백엔드:

* 라이브 게임 마이그레이션
* [v2 API로 배포](/ko/docs/api/dedicated-servers.md)
* [웹훅 모니터링](/ko/learn/orchestration/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 Friends</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" %}
**로비는 소셜 허브 서버와 혼동해서는 안 됩니다** (흔히 "로비 서버"라고 불립니다).
{% endhint %}

### **소셜 허브**

**소셜 허브** 는 세션에 메인 게임 모드를 시작할 만큼 충분한 플레이어가 모일 때까지 기다리는 동안 사회적 경험을 제공하는 특수한 전용 게임 서버입니다. 소셜 허브는 대기 시간이 길어질 경우를 대비한 대안으로, 때때로 해산되거나 봇으로 채워집니다.

소셜 허브는 다음과 유사합니다 [**영구 서버**](/ko/learn/orchestration/persistence.md) 이는 장시간 실행될 수 있습니다.

### **세션**

**세션** 는 다음 매개변수 집합으로 정의되는 단기적이고 소모성인 엔티티입니다:

* 연결된 그룹 - 고유한 플레이어 ID 집합으로 식별되는 하나 이상의 그룹.
* [배포](/ko/learn/orchestration/deployments.md) - 세션이 지속되는 동안 플레이어 연결을 보유하는 단일 서버 인스턴스입니다.

{% hint style="info" %}
Edgegap의 세션은 다음을 활용할 수 있습니다 [관리형 서비스](/ko/getting-started.md) , 타사 솔루션 또는 사용자 지정 백엔드를 사용할 수 있습니다.
{% endhint %}

## 🔀 세션 스택

{% hint style="info" %}
대부분의 게임 엔진은 서버를 실행하는 데 최소 0.25 vCPU를 필요로 하며, 다음을 사용해 벤치마크합니다 [배포](/ko/learn/orchestration/deployments.md#container-metrics).
{% endhint %}

맞춤형 게임 서버는 때때로 최소 요구치보다 적은 [세션당 0.25 vCPU](/ko/learn/orchestration/application-and-versions.md#resource-requirements):

* 락스텝 시뮬레이션 게임(예: 턴제, TCG/CCG 또는 전략 게임).
* 1대1 격투 게임 - 일반적으로 치팅 감지를 갖춘 맞춤형 스마트 릴레이를 사용합니다(예: [lightnet](https://github.com/edgegap/lightnet-unity-relay)).

그 결과 배포에 유휴 여유분이 생겨 호스팅 비용이 증가합니다. 이 여유분을 줄이려면 각 배포에 여러 세션을 겹쳐 배치해 보세요. 이를 위해 일부 서버 수정이 필요합니다.

{% hint style="warning" %}
**서버에 0.25 vCPU 이상이 필요하다면 세션 스택은 권장되지 않습니다.** 이 접근 방식은 세션 관리 복잡성을 추가하며, 이는 일반적으로 손쉬운 배포 격리가 제공하는 이점입니다.
{% endhint %}

세션 스택에는 세 가지 새로운 과제가 있습니다:

1. **유휴 여유분을 줄이기 위해 사용 가능한 배포 용량을 활성 세션으로 채우세요.**
   1. 사용 [매치메이킹 백필](/ko/learn/matchmaking/matchmaker-in-depth.md#backfill-match) 또는 [서버 브라우저](/ko/learn/server-browser.md) 를 사용해 배포 내의 빈 세션을 재사용하세요.
2. **빈 배포 또는 거의 비어 있는 배포를 비우고 장기 실행 세션을 이전하세요.**
   1. [비어 있는 배포를 중지하여 비용을 줄이세요.](https://docs.edgegap.com/ko/learn/orchestration/pages/1e75126474c80b6c476cbd5e97b171fce5779d47#id-5.-deployment-stopped) 마지막 몇 개의 장기 실행 세션에 대해서는 플레이어가 다른 배포로 이동해 세션을 통합하고 비용을 줄일 수 있도록 제안하세요.
3. **한 세션의 예기치 않은 오류가 전체 배포에 영향을 주지 않도록 하세요.**
   1. 세션 수준에서 예외를 잡기 위해 여러 안전장치를 구현하세요. 부분적인 오류 처리가 권장되지만, 짧은 세션에서는 경기 재시작이 훨씬 쉬운 경우가 많습니다.

[^1]: Steam, Epic Games Store, Nintendo Store 등 유사한
