Pixel streaming working locally but not past my router

Hi Guys,

I’ve managed to get my game running across my home network really nicely but I am really struggling with getting any joy beyond.I can connect to the server from outside and kick off players but i don’t get the “WebRTC connected, waiting for video” response, just “Starting connection to server, please wait”. I have tried using a number of public STUN servers using the format shown in documentation for the config and Cirrus confirms it:

npm WARN cirrus-webserver@0.0.1 No repository field.
npm WARN cirrus-webserver@0.0.1 No license field.

audited 308 packages in 2.55s
found 2 vulnerabilities (1 low, 1 moderate)
run npm audit fix to fix them, or npm audit for details
23:12:42.867 configFile .\config.json
23:12:42.881 Config: {
“UseFrontend”: false,
“UseMatchmaker”: false,
“UseHTTPS”: false,
“UseAuthentication”: false,
“LogToFile”: true,
“HomepageFile”: “player.htm”,
“AdditionalRoutes”: {},
“PublicIp”: “86.160.85.153”,
“PeerConnectionOptions”: “{“iceServers”: {“urls”:“stun.l.google.com:19302”]}] }”
}
23:12:42.884 No --PixelStreamingMonitorPort specified (or is 0). Running unmonitored.
23:12:43.039 WebSocket listening to Streamer connections on :8888
23:12:43.040 WebSocket listening to Players connections on :80
23:12:43.041 Http listening on *: 80
23:12:43.503 Streamer connected: ::1
23:13:00.484 player 101 (::ffff:86.160.85.153) connected

Could you please offer me some pointers.

Thanks

Matt

You have to:

  1. Port forward 80, 443, 9999 (check PS networking section of the documentation, I can’t recall the full list correctly).
  2. Obtain a domain AND an SSL certificate, because PS doesn’t work without SSL over the internet.
  3. Have a static IP address or config dynamic DNS to point to your machine.
  4. Enable HTTPS in
config.json

inside PS signalling webserver directory.

  1. (Probably optional) If you’re using any custom code like python in the app being streamed you need to point to the certificates inside your code.

I hope this helps, I’ve struggled a lot configuring the solution myself.

3 Likes

Hi Dude, thanks for the post and sorry for ultra slow response!!

ANy suggestion for me ?
https://forums.unrealengine.com/community/community-content-tools-and-tutorials/1845649-public-vps-cent-os-8-signalling-and-matchmaking-servers-vs-coturn-and-classic-join-create-session

It can be done with nginx. Keep "UseHttps":false. Set you route with ssl in nginx.

It will look like this in my case:

 - - - - - - - - - - Local - - - - - - - - - - - 
Unreal app <-[ http/ws ]-> SingalServer
- - - - - - - - - - - - - - - - - - - - - - - - - -

 - - - - - - - - - - Remote - - - - - - - - - - 
Nginx(*SingalServer*)  <-[ https/wss ]-> Web/App
- - - - - - - - - - - - - - - - - - - - - - - - - - 

Before Nginx

After Nginx ssl

1 Like

Hey @Joneshong can you please post an example of a nginx config for this? I’m trying to expose it, but I still get “Starting connection to server, please wait” after which it disconnects.