〔005〕虚幻 UE5 像素流多用户部署

✨ 目录

    • [▷ 为什么要部署多用户](#▷ 为什么要部署多用户)
    • [▷ 开启分发服务器](#▷ 开启分发服务器)
    • [▷ 配置启动多个信令服务器](#▷ 配置启动多个信令服务器)
    • [▷ 配置启动客户端](#▷ 配置启动客户端)
    • [▷ 多用户启动整体流程和预览](#▷ 多用户启动整体流程和预览)
    • [▷ 注意事项](#▷ 注意事项)

▷ 为什么要部署多用户

  • 之前的像素流部署,属于单用户,是有很大的弊端的
  • 打开多个窗口访问,可以看到当一个用户操作界面的时候,另一个界面也会相应变化,这在实际项目中,多人访问同一个项目肯定是不妥的

▷ 开启分发服务器

  • 由于要部署多用户,就要通过一个分发服务器去分发用户的请求
  • 先打开 Matchmaker/config.json 文件,讲分发的接口统一调整成为 80
  • 然后进入 platform_scripts/cmd/ 文件夹下,点击 run.bat 启动分发服务器
json 复制代码
{
	"HttpPort": 80,
	"UseHTTPS": false,
	"MatchmakerPort": 9999,
	"LogToFile": true,
	"EnableWebserver": true
}

▷ 配置启动多个信令服务器

  • 如果想多少个用户同时访问,就复制多少个信令服务器 SignallingWebServer 的包
  • 然后进入各自包中,打开配置文件 config.json 对各个信令服务器进行配置,只需要配置以下 4项 即可
  • UseMatchmaker: 是否使用分发,这里要设置为 true,用于多用户访问时自动分配
  • HttpPort: 用户在浏览器通过该端口进行访问像素流
  • StreamerPort: 像素流向外流送的端口
  • SFUPort: 转发器接口,由一个服务器和多个终端组成,收到像素流后,通过该端口转发给用户客户端,所以必须唯一,理论上可以分配 65536 个端口,但是由于其他很多端口被各种特殊软件使用,实际上能配置的端口远远小于该值
  • 最后进入各个信令服务器文件夹的 platform_scripts/cmd 下,双击 run_local.bat 启动即可
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
}

▷ 配置启动客户端

  • 复制多个快捷方式,在属性中添加 -PixelStreamingIP=localhost -PixelStreamingPort=881 -log -RenderOffScreen
  • 修改其中的 PixelStreamingPort 参数与信令服务器中对应即可
  • 然后双击启动多个客户端即可

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

  • 第一步: 需要在 Matchmaker\platform_scripts\cmd 中开启分发服务器
  • 第二步: 需要开启多个信令服务器,需要在每个信令服务器的 platform_scripts\cmd 下单独开启
  • 第三步: 开启多个客户端
  • 第四步: 直接在浏览器中输入 http://127.0.0.1/ 即可,由于在第一步中配置了入口都是80端口,所以访问 http://127.0.0.1/ 后会自动帮你分配到 8182
  • 效果: 可以看到操作其中一个窗口,另一个窗口并不会随之运动,并且两者的浏览器端口不一样

▷ 注意事项

  • 由于部署多用户,需要开启多个信令服务器和多个其他服务,因此及耗服务器的配置,这也是为什么很多大型游戏都分区运行,其实每个区都是一个服务器甚至是一个服务器集群,但是每个区能注册的用户也是有限制的,所以才会有服务器爆满这种说法
  • 如果用户超过了信令服务器的总数,用户将一直进入不了页面,直到有人下线,将该信令服务器闲置出来后才可以进入,所以需要前端做好用户的限制和提示等
  • 在linux中部署的时候,只需要将在服务器上部署多个信令服务器即可,客户端是用户自己下载到本机运行的。就相当于王者荣耀,需要先下载王者荣耀客户端一样,进入游戏的服务才是服务器提供的
相关推荐
天行健PLUS35 分钟前
【经验分享】六西格玛管理培训适合哪些人参加?
经验分享
极梦网络无忧1 小时前
Unity中IK动画与布偶死亡动画切换的实现
unity·游戏引擎·lucene
小奥超人1 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
电子云与长程纠缠2 小时前
UE5.3中通过编辑器工具创建大纲菜单文件夹
java·ue5·编辑器
Jack黄从零学c++4 小时前
C++ 的异常处理详解
c++·经验分享
_oP_i11 小时前
Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
unity·游戏引擎·webgl
DBBH12 小时前
UE5 第三人称学习之动画 control rig
ue5
UTwelve12 小时前
【UE5】一种老派的假反射做法,可以用于移动端,或对反射的速度、清晰度有需求的地方
ue5·虚幻引擎·着色器·虚幻4
做网站建设制作设计小程序推广14 小时前
如何建购物网站提升用户体验
经验分享
程思扬14 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节