确定需要包含在资产包中的所需 DLL

本文可帮助你生成在 PlayFab Multiplayer Servers中运行 Windows 游戏服务器所需的 DLL 列表。 默认情况下,托管容器映像包含许多常用的 DLL。 若要确定需要哪些其他 DLL,请将游戏服务器的 DLL 列表与托管容器映像中包含的 DLL 列表进行比较。 资产 zip 文件中必须包含任何其他 DLL。

确定所需的 DLL

使用 ListDlls 实用工具列出在本地运行游戏服务器时加载的所有 DLL。 若要生成列表,请执行以下操作:

  1. 从 sysinternals 下载 ListDlls
  2. 在本地计算机上运行游戏服务器可执行文件,方法是使用本地调试步骤中找到的说明进程模式或作为独立进程,而不使用 LocalMultiplayerAgent
  3. 运行 listdll,并将正在运行的游戏服务器指定为参数。 示例:listdlls ServerLoadSimulator.exe
  4. 将输出的列表与资产 zip 文件中包含的 DLL 列表进行比较(通常与可执行文件位于同一文件夹中的所有内容)。 列表之间的增量是游戏服务器所需的系统 DLL。

listdlls 的输出

将所需的 DLL 与容器中包含的 DLL 进行比较

确定系统 DLL 列表后,下一步是确定容器中已包含哪些系统 DLL。

  1. 下载 PlayFab 多人游戏容器映像。 若要下载容器映像,请运行 本地调试步骤中引用的 setup.ps1 脚本。 或者,分配新的 MPS 实例并通过远程桌面进行连接。 所有 Windows MPS 实例都将下载容器映像。
  2. 通过运行以下命令在新 docker 容器中启动命令行会话。 可能需要运行管理员命令窗口。
docker run -it mcr.microsoft.com/playfab/multiplayer:wsc-10.0.17134.950 cmd

将"wsc-10.0.17134.950"替换为在步骤 1 中下载的 docker 映像的标记。 如果不确定正确的标记,请运行 docker images 列出下载的映像。 docker 映像输出

  1. 在命令行中,找到与本地计算机上所需 DLL 的文件夹相对应的文件夹。 列出容器中存在的 DLL,并与生成的所需 DLL 列表进行比较。 所需列表中的任何 DLL(但容器中不存在)都必须包含在资产 zip 文件中。
  2. 若要结束 cmd 进程并使容器停止,请键入 exit