虚幻 UE5 像素流多用户部署,像素流多实例部署

虚幻 UE5 像素流多用户部署

本文为 UE5 像素流多用户部署的实操经验,核心解决单用户部署下多窗口操作同步的问题,实现多用户独立访问,同时说明部署流程、配置要点及注意事项,部署环境以 Windows 为主,也提及 Linux 部署差异。

一、为什么要部署多用户

单用户像素流部署存在核心弊端:多个窗口访问同一项目时,一个用户的界面操作会同步体现在其他窗口,无法满足实际项目中多人独立访问的需求,多用户部署可解决该问题,提升用户体验。

二、开启分发服务器

多用户部署需通过分发服务器统一分发用户请求,操作步骤如下:

  1. 打开Matchmaker/config.json文件,将分发接口统一调整为 80 端口,核心配置如下:

json

{ "HttpPort": 80, "UseHTTPS": false, "MatchmakerPort": 9999, "LogToFile": true, "EnableWebserver": true }
  1. 进入platform_scripts/cmd/文件夹,点击run.bat启动分发服务器。

三、配置启动多个信令服务器

信令服务器的数量对应同时访问的用户数,需为每个用户配置独立的信令服务器实例,操作步骤:

  1. 按需复制对应数量的信令服务器SignallingWebServer包;
  2. 进入每个包的配置文件config.json,仅需配置4 个核心唯一参数,其余保持默认:
    • UseMatchmaker:设为true,开启分发服务器的自动分配功能;
    • HttpPort:用户浏览器访问像素流的端口,需唯一;
    • StreamerPort:像素流向外流送的端口,需唯一;
    • SFUPort:转发器接口,用于将像素流转发给客户端,必须唯一(理论可分配 65536 个,实际因软件占用远少于该值);
  3. 配置示例(2 个信令服务器):

json

// 信令服务器1 { "UseFrontend": false, "UseMatchmaker": true, "UseHTTPS": false, "UseAuthentication": false, "LogToFile": true, "LogVerbose": true, "HomepageFile": "player.html", "AdditionalRoutes": {}, "EnableWebserver": true, "MatchmakerAddress": "", "MatchmakerPort": 9999, "PublicIp": "localhost", "HttpPort": 81, "HttpsPort": 443, "StreamerPort": 881, "SFUPort": 8881, "MaxPlayerCount": -1 } // 信令服务器2 { "UseFrontend": false, "UseMatchmaker": true, "UseHTTPS": false, "UseAuthentication": false, "LogToFile": true, "LogVerbose": true, "HomepageFile": "player.html", "AdditionalRoutes": {}, "EnableWebserver": true, "MatchmakerAddress": "", "MatchmakerPort": 9999, "PublicIp": "localhost", "HttpPort": 82, "HttpsPort": 443, "StreamerPort": 882, "SFUPort": 8882, "MaxPlayerCount": -1 }
  1. 进入每个信令服务器文件夹的platform_scripts/cmd目录,双击run_local.bat启动实例。

四、配置启动客户端

客户端需与信令服务器的端口一一对应,实现独立的像素流连接,操作步骤:

  1. 复制多个 UE5 项目打包后的客户端快捷方式;
  2. 右键快捷方式→属性,在目标后添加启动参数:-PixelStreamingIP=localhost -PixelStreamingPort=881 -log -RenderOffScreen
  3. 仅修改PixelStreamingPort参数,使其与对应信令服务器的StreamerPort一致;
  4. 双击修改后的快捷方式,启动多个客户端。

五、多用户启动整体流程和预览

启动流程

  1. 启动分发服务器:在Matchmaker\platform_scripts\cmd执行启动脚本;
  2. 启动多信令服务器:在每个信令服务器的platform_scripts\cmd单独启动;
  3. 启动多客户端:双击配置好的多个客户端快捷方式;
  4. 浏览器访问:输入http://127.0.0.1/(80 端口),分发服务器会自动分配至对应信令服务器的端口(如 81、82)。

部署效果

多个浏览器窗口访问时,操作其中一个窗口,其他窗口无同步变化,且各窗口的访问端口为信令服务器的独立端口(如localhost:81、localhost:82),实现多用户独立操作。

六、注意事项

  1. 服务器配置要求高:多用户部署需同时开启多个信令服务器及相关服务,对服务器硬件资源消耗大,类似大型游戏的分区运行逻辑,每个区对应一个 / 一组服务器;
  2. 用户数限制:同时访问的用户数不能超过信令服务器的实例总数,超出后新用户无法进入页面,需等待已有用户下线释放服务器,建议前端做用户数量限制和排队提示
  3. Linux 部署差异:仅需在服务器端部署多个信令服务器,客户端由用户自行下载到本机运行(类似王者荣耀,客户端本地运行,游戏服务由服务器提供);
  4. 端口冲突规避:配置端口时需避开系统和其他软件的占用端口,确保HttpPortStreamerPortSFUPort全唯一。