Server Event Shutdown never called

For clients all is fine basically, i have attached my “logout” sequence attached to the Event Shutdown on my GameInstance. If i run a Client like:

"E:\Epic Games\UnrealEngine\Engine\Binaries\Win64\UE4Editor.exe" "%CD%\ClientServerTest.uproject" 192.168.0.3 -game -ResX=1280 -ResY=720 -WinX=0 -WinY=20 -log -nosteam

The engine shuts down ok as i can see on the console, the Event Shutdown is proper called and logout is done fine.

BUT if i run a dedicated server by e.g:

"E:\Epic Games\UnrealEngine\Engine\Binaries\Win64\UE4Editor.exe" "%CD%\ClientServerTest.uproject" MapName -server -log -nosteam

The engine seams NOT to shutdown anyhow?! I further tired to add some traces to some destructors, even this are NOT called on anything of the server?! And for sure the Event Shutdown is not called ether for the server.

I saw alot of similar questions, but found no real answer for this. Is it really needed to implement a full seperated launcher-application or something just to wrap around this strange behavior? I cant belive, whats the correct way to do this?

Is there any concept for this?

Having the same issue here. When you close a dedicated server by press the X on the window of the log UGameEngine::PreExit is called but the function only get a few lines in before the whole app exits. This is problematic for Amazon Gamelift since in order to get your fleet working starting and stopping the app needs to call the proper AWS Gamelift functions. This doesn’t happen if you close a stand alone build in the same way.