当前位置: 首页 > news >正文

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

✨ 目录

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

▷ 为什么要部署多用户

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

单用户部署

▷ 开启分发服务器

  • 由于要部署多用户,就要通过一个分发服务器去分发用户的请求
  • 先打开 Matchmaker/config.json 文件,讲分发的接口统一调整成为 80
  • 然后进入 platform_scripts/cmd/ 文件夹下,点击 run.bat 启动分发服务器
{"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 启动即可
// 信令服务器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中部署的时候,只需要将在服务器上部署多个信令服务器即可,客户端是用户自己下载到本机运行的。就相当于王者荣耀,需要先下载王者荣耀客户端一样,进入游戏的服务才是服务器提供的

注意事项

http://www.lryc.cn/news/252353.html

相关文章:

  • 11. 哈希冲突
  • 12.04 二叉树中等题
  • Redis的安装
  • JDK安装太麻烦?一篇文章搞定
  • 漫谈HBuilderX App-Jenkins热更新构建
  • 技术前沿丨Teranode如何实现无限扩容
  • 世岩清上:如何制作年终工作汇报宣传片
  • 练习十一:简单卷积器的设计
  • 外包干了4年,技术退步太明显了。。。。。
  • 微服务实战系列之EhCache
  • SpringBoot:SpringMVC(上)
  • 一文搞懂Go语言中包导入
  • Vue2学习笔记(事件处理)
  • 【2023第十二届“认证杯”数学中国数学建模国际赛】A题 太阳黑子预报完整解题思路
  • Huawei FusionSphere FusionCompte FusionManager
  • GSLB是什么?谈谈对该技术的一点理解
  • 【接口测试】POST请求提交数据的三种方式及Postman实现
  • SpringBoot系列之集成Jedis教程
  • centos用什么命令可查看版本号
  • 大数据之Redis
  • 【React设计】React企业级设计模式
  • 赴日程序员高年薪过上“躺平”生活?
  • Windows开启SQL Server服及1433端口
  • 网盘系统设计:万亿 GB 网盘如何实现秒传与限速?
  • 整数和浮点数在内存中的存储
  • rabbitMQ镜像队列的使用
  • ros来保存图像和保存记录视频的方法---gmsl相机保存视频和图片
  • Oracle19c使用adrci清理日志文件
  • Ubuntu之Sim2Real环境配置(坑居多)
  • java中BigDecimal里面的subtract函数的意思?