I wouldn’t use ShellExecute there. FPlatformProcess is the UE4 way to spawn a process like that and is platform independent. UTAlpha had a good example of exactly what you’re looking to do (look in UTLocalPlayer.cpp/h) but it might have deprecated a little over time. Essentially, use FPlatformProcess::CreateProc to spawn the dedicated server and hold a reference to the ProcHandle so you can controlling/manage/verify it from the client. Just set bLaunchHidden to true. For bonus points, you can setup Beacons to crosstalk.