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