✨ 目录
▷ 为什么要部署多用户 ▷ 开启分发服务器 ▷ 配置启动多个信令服务器 ▷ 配置启动客户端 ▷ 多用户启动整体流程和预览 ▷ 注意事项
▷ 为什么要部署多用户
之前的像素流部署,属于单用户,是有很大的弊端的 打开多个窗口访问,可以看到当一个用户操作界面的时候,另一个界面也会相应变化,这在实际项目中,多人访问同一个项目肯定是不妥的
▷ 开启分发服务器
由于要部署多用户,就要通过一个分发服务器去分发用户的请求 先打开 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
启动即可
{
"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
}
{
"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/
后会自动帮你分配到 81
或 82
效果: 可以看到操作其中一个窗口,另一个窗口并不会随之运动,并且两者的浏览器端口不一样
▷ 注意事项
由于部署多用户,需要开启多个信令服务器和多个其他服务,因此及耗服务器的配置,这也是为什么很多大型游戏都分区运行,其实每个区都是一个服务器甚至是一个服务器集群,但是每个区能注册的用户也是有限制的,所以才会有服务器爆满这种说法 如果用户超过了信令服务器的总数,用户将一直进入不了页面,直到有人下线,将该信令服务器闲置出来后才可以进入,所以需要前端做好用户的限制和提示等 在linux中部署的时候,只需要将在服务器上部署多个信令服务器即可,客户端是用户自己下载到本机运行的。就相当于王者荣耀,需要先下载王者荣耀客户端一样,进入游戏的服务才是服务器提供的