Windows 运行程序 C# 示例

本教程列出了设置示例以供与 PlayFab 多人游戏服务器一起使用的步骤。

注意

为了使用和查看 PlayFab 多人游戏服务器,需要从 Game Manager 中启用该功能。 有关说明,请参阅启用 PlayFab 服务器功能

  1. 配置 API 功能选项
  2. 创建 PlayFab 多人游戏服务器内部版本:服务器设置
  3. 通过部署内部版本创建服务器
  4. 请求多人游戏服务器:客户端设置。 这是启动连接到服务器的客户端所必需的

配置 API 功能选项

注意

仅在运行此示例时才需要此步骤。 除非游戏要求进行此设置,否则不需要允许客户端启动游戏。

  • PlayFab.com 上登录到你的开发者帐户,以使用 Game Manager 门户
  • 选择游戏名称
  • 选择“设置”图标 >“API 功能”,如下图所示。

Game Manager 中的“API 功能”选项卡

  • 在“选项”下,选择“允许客户端启动游戏”,如下图所示。

在 Game Manager 中选择“允许客户端启动游戏”

服务器设置

介绍如何获取 PlayFab 多人游戏服务器内部版本。

  • 适用于 Windows 运行程序的 PlayFab 多人游戏服务器生成的PlayFab Game Server SDK 示例。

  • 如果更希望自行构建:

    • 使用标准 Git 方法获取 Windows 运行程序 C# 示例或将其下载为 zip 文件。
    • 使用 Visual Studio 2017 或更高版本打开项目。 此操作应自动触发依赖项(如最新的 PlayFab Game Server SDK (GSDK) nuget 程序包)的下载。
    • 在版本 x64 配置中编译和构建 WindowsRunnerCSharp.csproj。 你将获得与 GSDK 集成的游戏服务器内部版本,使其成为有效的 PlayFab 多人游戏服务器内部版本。
    • 转到 bin 文件夹并压缩所有 x64 版本二进制文件。 应不存在内部文件夹结构,zip 文件应是简单的文件集合,如下图所示。

    GSDK 示例输出

提示

要进行交叉检查,可以将内部版本输出与上面链接中提供的编译版本进行比较。

拥有 zip 文件后,即可开始部署内部版本

通过部署内部版本创建服务器

可使用以下方法之一部署内部版本。

对于某些设置,使用 Web 界面 - Game Manager 进行配置可能会更容易。

接下来,设置并运行客户端以连接到部署的服务器。

客户端设置

介绍如何让 Windows 运行程序客户端应用程序连接到使用 PlayFab 多人游戏服务器创建的游戏服务器。 这只能在服务器处于待机状态后进行设置。

  • 部署内部版本后,等待处于待机状态的服务器可用

  • 获取内部版本的 titleIdbuildId

    • 使用 Game Manager:

      • 转到“我的工作室和游戏”页面,然后查找游戏名称。 复制此处列出的 ID 值,并将其粘贴到方便以后访问的位置。 这是 titleId
      • 选择游戏名称以查看仪表板
      • 转到“多人游戏”>“服务器”>“内部版本
      • 复制要使用的内部版本的 ID,并将其粘贴到方便访问的位置。 这是 buildId
    • 使用 PowerShell,此信息会在成功部署内部版本后显示在输出中。

      • 复制 titleIdbuildId,并将其粘贴到方便访问的位置
  • 使用标准 Git 方法获取 Windows 运行程序 C# 示例或将其下载为 zip 文件。 如果之前已执行此操作,请跳过。

  • 使用 Visual Studio 2017 或更高版本打开项目。 此操作应自动触发依赖项(如最新的 Game Server SDK nuget 程序包)的下载。

  • 在版本 x64 配置中编译和构建 WindowsRunnerCSharpClient.csproj

  • 打开“命令提示符”并导航到此项目的输出文件夹

  • 使用此命令行运行 WindowsRunnerCSharpClient,将 <TitleId> 和 <BuildID> 替换为上面的值: dotnet WindowsRunnerCSharpClient.dll --titleId <TitleId> --buildId <BuildId>

示例:

cd C:\Users\UserName\Documents\GitHub\MpsSamples\WindowsRunnerCSharp\WindowsRunnerCSharpClient\bin\Release\netcoreapp3.1

dotnet WindowsRunnerCSharpClient.dll --titleId CBE66 --buildId 36083326-3bd5-4b8f-a97d-7e82f066aa40 --verbose

客户端成功连接到服务器后,“命令提示符”会显示一条日志消息,通知你已为服务器分配了 IP 地址。

另请参阅