I have created a pixel streaming application now I want to make it so that multiple stacks can be used on a single instance to connect each client to their specific game instance and enable multiplayer and I am using matchmaker for this so whenever a client goes to localhost he get’s automatically forwarded to localhost:70 or 80 depending on occupancy
But when I start matchmaker and then 2 signalling servers with following configuration, and I go to localhost:90, it is saying “All 2 Cirrus servers are in use. Retrying in … seconds.”
Moreover, I have set MatchmakerAddress in Signalling Server config.json as “localhost” so it should forward me from there but that too doesn’t work.
This is Matchmaker config.json
{
"HttpPort": 90,
"UseHTTPS": false,
"MatchmakerPort": 9999,
"LogToFile": true
}
This is Signalling Server 1 config.json
{
"UseFrontend": false,
"UseMatchmaker": true,
"UseHTTPS": false,
"UseAuthentication": false,
"LogToFile": true,
"LogVerbose": true,
"HomepageFile": "player.html",
"AdditionalRoutes": {},
"EnableWebserver": true,
"MatchmakerAddress": "localhost",
"MatchmakerPort": 9999,
"PublicIp": "localhost",
"HttpPort": 80,
"HttpsPort": 443,
"StreamerPort": 8888,
"SFUPort": 8889
}
And this is Signalling server 2 config.json
{
"UseFrontend": false,
"UseMatchmaker": true,
"UseHTTPS": false,
"UseAuthentication": false,
"LogToFile": true,
"LogVerbose": true,
"HomepageFile": "player.html",
"AdditionalRoutes": {},
"EnableWebserver": true,
"MatchmakerAddress": "localhost",
"MatchmakerPort": 9999,
"PublicIp": "localhost",
"HttpPort": 70,
"HttpsPort": 443,
"StreamerPort": 8887,
"SFUPort": 8885
}
Signalling Server log:
SS1:
12:15:00.460 Config: {
"UseFrontend": false,
"UseMatchmaker": true,
"UseHTTPS": false,
"UseAuthentication": false,
"LogToFile": true,
"LogVerbose": true,
"HomepageFile": "player.html",
"AdditionalRoutes": {},
"EnableWebserver": true,
"MatchmakerAddress": "localhost",
"MatchmakerPort": 9999,
"PublicIp": "localhost",
"HttpPort": 80,
"HttpsPort": 443,
"StreamerPort": 8888,
"SFUPort": 8889,
"MaxPlayerCount": -1
}
12:15:00.487 No peerConnectionConfig
12:15:00.493 Running Cirrus - The Pixel Streaming reference implementation signalling server for Unreal Engine 5.1.
12:15:00.504 WebSocket listening for Streamer connections on :8888
12:15:00.505 WebSocket listening for SFU connections on :8889
12:15:00.506 WebSocket listening for Players connections on :80
12:15:00.517 Http listening on *: 80
12:15:00.519 Cirrus connected to Matchmaker localhost:9999
Same is for SS2
Matchmakers log
12:47:10.361 HTTP listening on *:90
12:47:10.361 Matchmaker listening on *:9999
12:47:16.927 Message TYPE: connect
12:47:16.927 Adding connection for localhost with playerConnected: false
12:47:26.110 WARNING: No empty Cirrus servers are available
12:47:29.300 WARNING: No empty Cirrus servers are available
12:47:32.379 WARNING: No empty Cirrus servers are available
12:47:35.459 WARNING: No empty Cirrus servers are available
12:47:38.536 WARNING: No empty Cirrus servers are available
12:47:46.933 Message TYPE: ping
12:48:16.940 Message TYPE: ping
the WARNING is when I go to localhost:90 (Matchmaker Port) and ping is when I go to individual port of Signalling Web Server i.e. localhost:80
Moreover this is the webpage of localhost:90
There are no errors and manually visiting the Signalling WebServers work but Matchmaking not. I have already spent 2 days trying to figure this out please help me if you can! I would be very grateful