〔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中部署的时候,只需要将在服务器上部署多个信令服务器即可,客户端是用户自己下载到本机运行的。就相当于王者荣耀,需要先下载王者荣耀客户端一样,进入游戏的服务才是服务器提供的
相关推荐
mycm03049 小时前
新闻发稿媒体投稿软文推广有哪些需要注意的事项
经验分享·媒体
碣石潇湘无限路12 小时前
【奇点时刻】GPT-4o新生图特性深度洞察报告
人工智能·经验分享·chatgpt·gpt4o·新生图特性
汇能感知14 小时前
光谱相机的光谱数据采集原理
经验分享·笔记·科技
moongoblin15 小时前
杂篇-行业分类一二-2(通、专用设备制造,汽车制造)
经验分享·汽车·制造
『六哥』16 小时前
Windows 10 如何设置右击鼠标快速进行“关机”
windows·经验分享·编辑器
odoo-卜永16 小时前
ubuntu22.04连接爱普生打印机型号L385
linux·经验分享·ubuntu
渗透测试老鸟-九青18 小时前
面试经验分享 | 成都渗透测试工程师二面面经分享
服务器·经验分享·安全·web安全·面试·职场和发展·区块链
Unity大海18 小时前
诠视科技Unity SDK开发环境配置、项目设置、apk打包。
科技·unity·游戏引擎
Amos_ FAT19 小时前
关于串口协议的一点知识
经验分享·网络协议
大刘讲IT19 小时前
制造业数字化转型:流程改造先行还是系统固化数据?基于以MTO和MTS的投资回报分析
运维·经验分享·生活·产品经理·数据可视化