> 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/zh/learn/bian-pai/wan-jia-hui-hua.md).

# 玩家会话

了解会话编排概念，以及 Lobby、Group、Session 和 Social Hub 之间的关键区别。学习如何将你的 Lobby 与 Edgegap 一起使用。

Edgegap 支持多种托管和自定义玩家会话管理模型。在选择模型时，请考虑权限、持续时间、粘性以及服务质量等方面。

## 🚀 快速开始

可以将其视为一个复杂的游戏设计，提供所有可能的会话模型。大多数游戏从较小的子集开始，有时后来会扩展以包含更多会话系统。

{% hint style="info" %}
见 [#key-concepts](#key-concepts "mention") 下文，以清晰区分与会话相关的概念。
{% endhint %}

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

自动化以下热门游戏流程： [玩家会话](/zh/learn/bian-pai/wan-jia-hui-hua.md) 以及服务器扩缩容，可通过以下任一方式：

{% columns %}
{% column width="33.33333333333333%" %}
[匹配系统](/zh/learn/pi-pei-xi-tong.md):

* 竞技游戏
* 按需对局
* 技能评级和/或\
  自定义规则
  {% endcolumn %}

{% column width="33.33333333333333%" %}
[服务器浏览器](/zh/learn/fu-wu-qi-liu-lan-qi.md):

* 持久型或社交型
* 长时会话
* 自动分配和/或\
  自定义搜索
  {% endcolumn %}

{% column width="33.33333333333333%" %}
自定义后端：

* 迁移线上游戏
* [使用 v2 API 部署](/zh/docs/api/zhuan-yong-fu-wu-qi.md)
* [监控 Webhooks](/zh/learn/bian-pai/deployments.md#webhooks)
  {% endcolumn %}
  {% endcolumns %}

## 📚 关键概念

请查看我们清晰明确的定义，以便轻松区分复杂的会话概念。

### 大厅

**大厅** （也称为 **队伍**）指的是一个生命周期短且可丢弃的玩家群组。大厅通常从好友邀请（或加入请求）开始，最常见于会话（服务器连接）建立之前——以便一组好友能够一起加入同一个游戏会话，并配置各种参数，例如角色/职业选择、游戏模式偏好、地图偏好等。

大厅通常会跨越多个会话，保持同一组好友在一起。

{% hint style="info" %}
请求分配到某个会话（新的或已有的）的大厅通常被称为组。
{% endhint %}

{% hint style="success" %}
大厅高度依赖于原生于以下平台的社交和好友功能 发行平台[^1]. **Edgegap 服务会集成您首选的大厅服务，而不是将其替换。**
{% endhint %}

<table data-search="false"><thead><tr><th width="414">游戏后端（包括第三方大厅服务）</th><th width="120" data-type="checkbox">虚幻引擎</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 公司）</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>（微软）</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>（苹果）</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 %}

### **社交中心**

**社交中心** 是一种特殊的专用游戏服务器，提供社交体验，通常是在等待会话填充足够玩家以开始主游戏模式时使用。社交中心有时会被解散，或者用机器人填充，作为长时间等待情况下的后备方案。

社交中心类似于 [**持久化服务器**](/zh/learn/bian-pai/chi-jiu-hua.md) ，它们可以运行较长时间。

### **会话**

**会话** 是一个生命周期短且可丢弃的实体，由一组参数定义：

* 已连接组——一个或多个组，每个组由一组唯一的玩家 ID 标识。
* [部署](/zh/learn/bian-pai/deployments.md) ——在会话持续期间承载玩家连接的单个服务器实例。

{% hint style="info" %}
Edgegap 上的会话可以使用 [托管服务](/zh/kuai-su-ru-men.md)、第三方解决方案，或您的自定义后端。
{% endhint %}

## 🔀 会话堆叠

{% hint style="info" %}
大多数游戏引擎至少需要 0.25 vCPU 才能运行服务器，请基准测试使用 [部署](/zh/learn/bian-pai/deployments.md#container-metrics).
{% endhint %}

自定义游戏服务器有时所需低于最低 [每个会话 0.25 vCPU](/zh/learn/bian-pai/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. 使用 [比赛补位](/zh/learn/pi-pei-xi-tong/matchmaker-in-depth.md#backfill-match) 或 [服务器浏览器](/zh/learn/fu-wu-qi-liu-lan-qi.md) 来复用部署中的空会话。
2. **清空或接近空闲的部署，并迁移长期运行的会话。**
   1. [停止空部署以降低成本。](https://docs.edgegap.com/zh/learn/bian-pai/pages/5e7e2169ca3822647d4607dfc1d3487ebcc0836c#id-5.-deployment-stopped) 对于最后几个长期运行的会话，提供玩家迁移到另一个部署的选项，以整合会话并降低成本。
3. **防止一个会话中的意外错误影响整个部署。**
   1. 在会话级别实现多个安全网来捕获异常。建议进行部分错误处理，不过对于较短的会话，重启比赛通常要容易得多。

[^1]: Steam、Epic Games Store、Nintendo Store 以及类似平台
