Pixel Streaming Matchmaker Not Working

Devilondetails
Tue, 13 Jun 2023 07:20:37 +0000
Blueprint

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

5 posts - 3 participants