虚幻 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:81localhost:82),实现多用户独立操作。

六、注意事项

  1. 服务器配置要求高:多用户部署需同时开启多个信令服务器及相关服务,对服务器硬件资源消耗大,类似大型游戏的分区运行逻辑,每个区对应一个 / 一组服务器;
  2. 用户数限制 :同时访问的用户数不能超过信令服务器的实例总数,超出后新用户无法进入页面,需等待已有用户下线释放服务器,建议前端做用户数量限制和排队提示
  3. Linux 部署差异:仅需在服务器端部署多个信令服务器,客户端由用户自行下载到本机运行(类似王者荣耀,客户端本地运行,游戏服务由服务器提供);
  4. 端口冲突规避 :配置端口时需避开系统和其他软件的占用端口,确保HttpPortStreamerPortSFUPort全唯一。
相关推荐
Python私教1 天前
我用 AI 做出了第一个 Godot 贪吃蛇
人工智能·游戏引擎·godot
远离UE41 天前
UE5 UV邻接 Niagara潜水模拟 学习笔记
ue5·uv
AA陈超2 天前
005 T03 — 角色基类与移动系统 详细功能设计文档
ue5
AA陈超2 天前
004 T02 - 俯视角摄像机系统 设计文档
网络·c++·ue5·虚幻引擎
淡海水2 天前
06-04-YooAsset源码-Unity加密解密服务
前端·unity·性能优化·c#·游戏引擎·yooasset
AA陈超2 天前
006 T03 — 蓝图操作指南
c++·游戏·架构·ue5·github·虚幻引擎
cd_949217212 天前
Unity游戏角色资产怎么快速制作?用V2Fun跑通生成、绑定和导入测试
游戏·unity·游戏引擎
HH‘HH3 天前
Unity 项目创建标准指南:分辨率、尺寸、文件路径与命名规范
unity·游戏引擎