〔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中部署的时候,只需要将在服务器上部署多个信令服务器即可,客户端是用户自己下载到本机运行的。就相当于王者荣耀,需要先下载王者荣耀客户端一样,进入游戏的服务才是服务器提供的
相关推荐
挥剑决浮云 -2 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
新晓·故知3 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
哲伦贼稳妥3 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
gavin_gxh4 小时前
项目管理-信息系统管理
经验分享·其他
draracle4 小时前
如何将 cryptopp库移植到UE5内
ue5
Tensorrrrrr9 小时前
MindSearch 部署到Github Codespace 和 Hugging Face Space
大模型·部署·提示工程·书生·书生·浦语
蜡笔小新星9 小时前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
墨@#≯10 小时前
机器学习系列篇章0 --- 人工智能&机器学习相关概念梳理
人工智能·经验分享·机器学习
网络研究院17 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
唐·柯里昂7981 天前
[3D打印]拓竹切片软件Bambu Studio使用
经验分享·笔记·3d