aws-samples / deploying-unreal-engine-pixel-streaming-server-on-ec2

Repo contains code and documentation that allows you to deploy Windows-based Unreal Engine 4 Pixel Streaming builds to EC2.
MIT No Attribution
125 stars 40 forks source link

UseBasicParsing is missing from Turn server ps1 #4

Closed lukas-kyeso closed 3 years ago

lukas-kyeso commented 3 years ago

In the ps1 script that starts the turn server, the flag -UseBasicParsing is missing. This means it fails to run the turn server when run as a scheduled task under SYSTEM. Tested on AWS.

kashman-amzn commented 3 years ago

When creating a Pixel Streaming build with Unreal Engine 4.25 you do need to add "-UseBasicParsing" as documented in the deployment guide for it to correctly bind the right IP address. With Unreal Engine 4.26 this fix has been made by Epic to the source code and you will no longer need to make that edit. This has been tested on 2/15/2021 using Unreal Engine 4.26.1 using the Pixel Streaming demo project in the Unreal Marketplace. Deployment using this sample was successful and running as expected.

lukas-kyeso commented 3 years ago

That only specifies you need to add it to the ps1 script mentioned in the doc, not the one that runs the turn server. As a result it only runs on deployment, if you stop and start the ec2 instance it will not work unless you add -UseBasicParsing on the turn server ps1. The fix should be to ammend the doc to mention that you need to add -UseBasicParsing to both ps1 scripts.

kashman-amzn commented 3 years ago

I do see where -UsebasicParsing can be added to the Engine\Source\ThirdParty\WebRTC\rev.23789\programs\Win64\VS2017\release\Start_AWS_TURNServer.ps1 file. With that file unmodified I do see the project working not only on deployment, which does a reboot before stack completion, but also when I stop and start the instance. I also made the edit to that specific file and saw no difference in my testing.

I'm not a fan of "it works for me", so I'd like to see if there is something else going on. I am not very familiar with what the Stun and Turn server are doing, so if you do see a misconfiguration in logs or other information I would be happy to look into it further and if there is a fix needed I will take that back to Epic.

lukas-kyeso commented 3 years ago

Just to clarify, it worked during an explicit "stop" and "start" when you tested? As opposed to "reboot"?

On Thu, Feb 18, 2021 at 11:08 AM Kevin Ashman notifications@github.com wrote:

I do see where -UsebasicParsing can be added to the Engine\Source\ThirdParty\WebRTC\rev.23789\programs\Win64\VS2017\release\Start_AWS_TURNServer.ps1 file. With that file unmodified I do see the project working not only on deployment, which does a reboot before stack completion, but also when I stop and start the instance. I also made the edit to that specific file and saw no difference in my testing.

I'm not a fan of "it works for me", so I'd like to see if there is something else going on. I am not very familiar with what the Stun and Turn server are doing, so if you do see a misconfiguration in logs or other information I would be happy to look into it further and if there is a fix needed I will take that back to Epic.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/aws-samples/deploying-unreal-engine-pixel-streaming-server-on-ec2/issues/4#issuecomment-780886534, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5GSMSESSK5HTPMXHOAXRTS7Q44ZANCNFSM4XVK5LCQ .

kashman-amzn commented 3 years ago

That is correct, a stop and a start.