确定需要包含在资产包中的所需 DLL
本文可帮助你生成在 PlayFab Multiplayer Servers中运行 Windows 游戏服务器所需的 DLL 列表。 默认情况下,托管容器映像包含许多常用的 DLL。 若要确定需要哪些其他 DLL,请将游戏服务器的 DLL 列表与托管容器映像中包含的 DLL 列表进行比较。 资产 zip 文件中必须包含任何其他 DLL。
确定所需的 DLL
使用 ListDlls 实用工具列出在本地运行游戏服务器时加载的所有 DLL。 若要生成列表,请执行以下操作:
- 从 sysinternals 下载 ListDlls。
- 在本地计算机上运行游戏服务器可执行文件,方法是使用本地调试步骤中找到的说明进程模式或作为独立进程,而不使用 LocalMultiplayerAgent。
- 运行 listdll,并将正在运行的游戏服务器指定为参数。 示例:
listdlls ServerLoadSimulator.exe
- 将输出的列表与资产 zip 文件中包含的 DLL 列表进行比较(通常与可执行文件位于同一文件夹中的所有内容)。 列表之间的增量是游戏服务器所需的系统 DLL。
将所需的 DLL 与容器中包含的 DLL 进行比较
确定系统 DLL 列表后,下一步是确定容器中已包含哪些系统 DLL。
- 下载 PlayFab 多人游戏容器映像。 若要下载容器映像,请运行 本地调试步骤中引用的 setup.ps1 脚本。 或者,分配新的 MPS 实例并通过远程桌面进行连接。 所有 Windows MPS 实例都将下载容器映像。
- 通过运行以下命令在新 docker 容器中启动命令行会话。 可能需要运行管理员命令窗口。
docker run -it mcr.microsoft.com/playfab/multiplayer:wsc-10.0.17134.950 cmd
将"wsc-10.0.17134.950"替换为在步骤 1 中下载的 docker 映像的标记。 如果不确定正确的标记,请运行 docker images
列出下载的映像。
- 在命令行中,找到与本地计算机上所需 DLL 的文件夹相对应的文件夹。 列出容器中存在的 DLL,并与生成的所需 DLL 列表进行比较。 所需列表中的任何 DLL(但容器中不存在)都必须包含在资产 zip 文件中。
- 若要结束 cmd 进程并使容器停止,请键入
exit
。