Running UE4Editor.exe as dedicated server with ShooterGame demo results in a crash

Hi All,

I’m trying to get the ShooterGame running as a dedicated server on a no-graphics virtual machine.
As such, I have to find a way to launch it without the actual editor.

I’m trying it with the following command that I managed to puzzle together. It seems to try to do what I want it to do:

c:\Program Files\Unreal Engine\4.0\Engine\Binaries\Win64\UE4
Editor.exe "c:\Users\DATA\Documents\Unreal Projects\dratone_arenaproject\ShooterGame.uproject " sanctuary -server -log

It launches a seperate window with all kinds of log information but then, the process crashes and the epic crash report window appears.
The log window unfortunatly has already disappeared.

I’ve found the following in the log files which says nothing at all:

[2014.04.23-10.00.24:992] 0]LogConsoleResponseisplay: GraphicsQuality 1
[2014.04.23-10.00.25:204] 0]LogWindows: === Critical error: ===

[2014.04.23-10.00.25:205] 0]LogWindows: Fatal error!

[2014.04.23-10.00.25:206] 0]LogExit: Executing StaticShutdownAfterError
[2014.04.23-10.00.25:222] 0]LogWindows: FPlatformMisc::RequestExit(1)
[2014.04.23-10.00.25:223] 0]Log file closed, 04/23/14 12:00:25

Lastly, I’m first trying to get this to work on the same machine that I develop on. So this machine does have a good enough graphics system etc.
I just need to eventually get this to work on a virtual machine.

I hope you guys can help me get this to work.

You could try adding the “-nullrhi” switch to the command line. It’ll tell the engine to use a stubbed out version of the render hardware interface, rather than trying to initialize Direct3D.

You could also build a proper dedicated server executable, as discussed in another thread:

I hit something like this as well, but without a callstack its impossible to tell for sure; try changing UShooterGameUserSettings::ApplySettings()

from:

void UShooterGameUserSettings::ApplySettings()
{
Super::ApplySettings();

// Graphics Quality
{

to:

void UShooterGameUserSettings::ApplySettings()
{
Super::ApplySettings();

if (!GEngine)
{
	return;
}

// Graphics Quality
if(GEngine->IsInitialized())
{

If you are hitting what I think you are its because the settings are attempting to apply CVar’s to the renderer before it has been initialized (for which it asserts/crashes/dies).

I managed to get it working eventually by cooking the dedicated server with the new 4.1 release.

My how to:

  1. Compile the source engine (Pre-compiled does NOT work, per the release notes)
  2. Compile the following states of the UE4 project: Development,Development Client,Development Editor, Development Server
  3. Execute the following file: Engine\Binaries\Win64\UnrealVersionSelector-Win64-Shipping.exe
  4. Generate the Visual Studio files linked to the source directory.
  5. Compile the project
  6. Open the project in the editor.
  7. Cook the project
  8. Copy the binaries (ShooterGameServer.*) to the cooked directory.

That fixxed it for me. Thanks for the advice everyone!