虚幻 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全唯一。
相关推荐
海海不瞌睡(捏捏王子)2 小时前
Unity YAML
unity·游戏引擎
maplewen.4 小时前
【UE】GAS Gameplay Ability
ue5
weixin_423995005 小时前
unity 虚拟数字人-接讯飞虚拟人
unity·游戏引擎
mxwin6 小时前
Unity URP 阴影映射 深度纹理、阴影采样与分辨率控制的深度解析
unity·游戏引擎·shader·着色器
YY_pdd7 小时前
godot的项目打包为安卓程序
游戏引擎·godot
amadeusCristina8 小时前
Unity中生命周期调用时机
unity·游戏引擎
帅_shuai_8 小时前
UE5.6 Slate独立程序——初始化空白Slate环境
ue5
吴梓穆8 小时前
UE5 c++ 模板函数
java·c++·ue5
吴梓穆8 小时前
UE5 c++ 暴露变量和方法给蓝图
java·c++·ue5
amadeusCristina8 小时前
Godot ——Dialogue Manager插件
游戏引擎·godot