Unknown error while deploying to a linux machine

What I did:

  • Created a new Linux machine in Device Manager like this:

277983-screenshot-30.png


- Clicked **Launch** -> **192.168.1.50**

277984-screenshot-31.png



Expected behavior:

  • Unreal build an application for a Linux machine
  • Unreal established ssh connection to the Linux machine
  • Unreal deploys the application to a Linux machine
  • Unreal runs the application on a Linux machine

What happened:

  • Unreal has built an application for a Linux machine
  • Unreal tried to establish an ssh connection to the Linux machine but failed
  • Unreal automation tool has thrown an unknown error (code: 255)

Why I think this happened:

  • Unreal constructed a cmd command cmd.exe /c "echo y | C:\Program Files\Epic Games\UE_4.22\Engine\Extras\ThirdPartyNotUE\putty\PLINK.EXE -ssh -t -l linux_username -pw password 192.168.1.50 echo All Ok", which had failed due to spaces in the path PLINK.EXE
  • CMD thought that C:\Program is already a path to an executable and everything else are just arguments

What can be done theoretically:

  • Unreal automation tool should construct a different command:

    C:\WINDOWS\system32\cmd.exe /c 'echo y | "C:\Program Files\Epic Games\UE_4.22\Engine\Extras\ThirdPartyNotUE\putty\PLINK.EXE" -ssh -t -l linux_username -pw password 192.168.1.50 echo All Ok'
  • Somewhere should be a config file, where the path to a PLINK.EXE program can be specified

Info:

  • The editor is running on 64-bit Windows 10
  • Unreal version: 4.22
  • Deploying to a Linux machine on a local network
  • Linux machine runs 64-bit Antergos
  • Linux kernel: 5.1.4-arch1-1-ARCH
  • SSH manually connects trough PowerShell

Logs:

  • [Roaming/Unreal Engine/AutomationTool/Logs/C+Program+Files+Epic+Games+UE_4.22/Log.txt][3]
  • [Roaming/Unreal Engine/AutomationTool/Logs/C+Program+Files+Epic+Games+UE_4.22/cmd-2019.05.26-17.22.07.txt][4]

For the time being, I’ve written a python workaround script that automates this functionality. This is NOT a proper solution.
You can find the script here: https://github.com/Gibitop/rup