虚幻 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全唯一。
相关推荐
tealcwu19 小时前
【Unity实战】Unity IAP 4.x 在 Windows Store (UWP) 平台上的实现指南
windows·unity·游戏引擎
winlife_1 天前
让 AI 写敌人状态机,并用脚本化场景验证状态转换正确:funplay-unity-mcp 实战
人工智能·unity·游戏引擎·ai编程·状态机·mcp
tealcwu1 天前
【Unity实战】Unity IAP 5.3 中实现 Windows Custom Store 实战教程
windows·unity·游戏引擎
zhiSiBuYu05171 天前
Godot 游戏引擎新手从零开发指南
游戏引擎·godot
qq_205279052 天前
Unity 运行时候会时不时卡顿一下,哪怕是空场景
unity·游戏引擎
妙为2 天前
unreal engine5.7.4,创建ThirdPerson第三人称模版,类型是c++崩溃
c++·ue5·虚幻·unreal engine5
美团骑手阿豪2 天前
Unity UGUI自适应分辨率
unity·游戏引擎
winlife_2 天前
让 AI 跑通“调跳跃手感“的完整闭环:funplay-unity-mcp 实战案例
人工智能·unity·游戏引擎·ai编程·mcp·游戏手感
万兴丶3 天前
Coplay适用于 Unity 的“Al 代理”使用指南
unity·游戏引擎·ai编程
魔士于安3 天前
Unity材质球大合集
unity·游戏引擎·材质