虚幻 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全唯一。
相关推荐
nnsix2 分钟前
Unity 动画 Avatar 笔记
笔记·unity·游戏引擎
拾忆丶夜43 分钟前
unity 热力图学习
学习·unity·游戏引擎
winlife_3 小时前
在 Unity Editor 里跑 HTTP MCP server:主线程边界与请求 marshal 的实现要点
http·unity·游戏引擎·多线程·mcp
阿松爱学习7 小时前
【Unity开发】Rigidbody中Body Type属性
unity·游戏引擎·unity开发
winlife_7 小时前
AI 怎么验证 Unity PlayMode 行为:截图 + 输入模拟的完整闭环
人工智能·unity·游戏引擎·ai编程·claude·playmode
mxwin1 天前
unity shader中 ddx ddy是什么
unity·游戏引擎·shader
郝学胜-神的一滴1 天前
[简化版 GAMES 101] 计算机图形学 08:三角形光栅化上
c++·unity·游戏引擎·godot·图形渲染·opengl·unreal
吴梓穆1 天前
UE5 脚部IK
ue5
nnsix1 天前
Unity ILRuntime 笔记
unity·游戏引擎
屯子来了1 天前
Windows + VS2022 + UE5.2 编译 Fast DDS 2.14.0 完整记录
c++·ue5·fastdds