Skip to main content

在云中部署和运行 Windows 服务器

本指南说明如何将您的 Windows 服务器构建部署到 PlayFab Multiplayer Server (MPS) 云。这非常适合在开发期间测试和快速迭代您的游戏服务器。许多用户在使用 Windows 测试后,将使用 Linux 服务器进行生产发布。

目标

  • 将项目部署到云中。
  • 从本地游戏客户端连接到它

要求

说明

打包游戏服务器

  • [可选] 此部分可用于刷新 Unreal 构建到您项目中的文件。如果您最近创建或删除了文件,这很有用。
    • 如果您最近尚未在 “development editor” 配置中构建您的项目,请立即进行构建
    • 关闭 Visual Studio
    • 导航到您的项目的 {ProjectName}.uproject 文件
    • 在文件编辑器中右键单击 {ProjectName}.uproject 文件,然后选择 “Generate Visual Studio Project Files”
    • 在 Visual Studio 中重新打开 {ProjectName}.sln 文件
  • 选择 Development Editor 配置
  • 运行您的项目
  • 观察 Unreal Editor,它应该已加载您的项目
  • 在 Unreal 编辑器菜单的左上角,选择 File -> Package -> Build Target -> {ProjectName}Server
  • 选择 File -> Package -> Build Configuration -> Shipping
  • 选择 File -> Package -> Windowsx64
  • 选择并记住输出位置 {ShippingServerFolder}
  • 现在您可以使用此打包版本的游戏服务器使用 LocalMultiplayerAgent 进行测试
  • 使用 LocalMultiplayerAgent 验证后,请参见创建构建指南
    • 此时在 MPS 上进行测试需要一个中间工具 PlayFab MpsAllocatorSample
    • 此工具暂时绕过了一些客户端工作,并允许我们在没有游戏客户端直接请求的情况下分配服务器
    • 在客户端上执行此操作的正确方法是分配指南中涵盖的单独主题。
  • 从上面的 {ShippingServerFolder} 压缩您的 Shipping Server 构建
    • 您的压缩包应包含 {ShippingServerFolder} 中的所有内容,可选地位于压缩包文件的根目录
    • [可选] 也就是说,您的压缩包的根目录应包含 {ProjectName}Server.exe(建议 exe 不应位于诸如 “WindowsServer” 之类的子文件夹中。如果需要,请重建您的压缩包)
  • 熟悉构建创建过程指南
  • 特定配置的具体细节详述如下:

在 PlayFab 上设置 Windows 专用服务器

本节将介绍在 PlayFab MPS 中创建构建、上传游戏服务器以及首次连接到它。您还可以按照核心 MPS 服务器创建指南获取较少 Unreal 特定的说明。
  • 导航到 Game Manager -> Multiplayer
  • 选择 New Build
  • 为构建命名
  • 选择虚拟机(对于本指南中描述的示例,推荐的核心数最少的选项就足够了)
  • 每台机器的服务器数量可以约为 1~10
    • 提高/增加此数字取决于您的游戏服务器的性能
    • 您可以使用 VM 指标来衡量您的游戏服务器的性能,并进行优化以提高此数字
  • 暂时跳过 Server details (将在下一步中介绍)
  • 在 Assets 区块中,将上一节中的压缩包文件拖到上传框中
    • 如果您正在重新启动,可以选择 Use existing assets
  • 等待上传完成
  • 暂时跳过 Start Command (将在下一步中介绍)
  • 在 Network 区块中,将 Port Name 字段设置为 gameport
    • 必须定义将用于连接到您的游戏服务器的端口
    • Unreal GSDK 包含自动读取此端口的代码,并根据此值在内部覆盖 Unreal 服务器主机端口
    • 此端口的名称必须是 gameport
  • 继续执行与您想要配置的 “Server Details” 匹配的下一步

选项 1:Windows 进程模式

此选项将您的游戏服务器作为进程直接在 VM 上运行。您的进程将共享对整台机器的访问权限,包括端口、驱动器等。此选项解压缩您的资产上传,并从解压缩文件的位置作为工作目录执行 “Start Command”。
  • Server Details 中,选择 ProcessWindows
  • Assets 中,将启动命令设置为:
    • {ProjectName}Server.exe 或者如果您想要生成日志文件,则为 {ProjectName}Server.exe -log
    • 启动命令是从命令行执行的,使用您解压缩的资产文件作为工作目录
    • 如果您选择使用子文件夹打包您的压缩包文件,则可以指定相对路径,例如:WindowsServer/{ProjectName}Server.exe 以使用相对子路径访问您的项目
  • 选择 Add Build
  • 跳到下面的 Configure Regions 部分

选项 2:Windows 容器模式

此选项在 docker 容器中运行您的游戏服务器,将它们彼此隔离。每个服务器进程将拥有单独的虚拟驱动器、虚拟网络端口等。此选项将您的资产解压缩到您将定义的 Mount Path,并期望您的启动命令是基于 Mount Path 的完整路径。 先决条件要求:配置 Docker 以运行 Windows 容器
  • Server Details 中,选择 ProcessWindows
  • Assets
    • 将 gameServer 压缩包文件的 Mount Path 设置为 C:\assets(或类似的内容,标记为 {MountPath})
    • 将启动命令设置为:{MountPath}\{ProjectName}Server.exe 或者如果您想要生成日志文件,则为 {MountPath}\{ProjectName}Server.exe -log
    • 启动命令应表示容器中到您的 -Server.exe 文件的完整路径
    • 如果您选择使用子文件夹打包您的压缩包文件,则可以指定绝对路径,例如:{MountPath}\WindowsServer\{ProjectName}Server.exe 以使用绝对子路径访问您的项目
  • 选择 Add Build
  • 跳到下面的 Configure Regions 部分

后续步骤

许多用户可能希望通过连接游戏客户端来测试他们的服务器。 其他用户可以选择继续使用 Linux 容器重建和重新部署他们的服务器。Linux 降低了大规模部署的服务器托管成本。 否则,您可以返回到主要的 Unreal GSDK 插件指南。
最后修改于 2026年8月25日