OpenSourceLAN/gameservers-docker

Wreckfest failing to start on headless server

Opened this issue · 1 comments

I've tested running the server locally in an Ubuntu Desktop vm, and it started just fine.
Whenever I try to run the image on my headless docker server, it is unable to detect a display.

wreckfest-wreckfest-1  | wine: created the configuration directory '/home/steam/.wine'
wreckfest-wreckfest-1  | 002c:fixme:winediag:LdrInitializeThunk wine-staging 5.19 is a testing version containing experimental patches.
wreckfest-wreckfest-1  | 002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
wreckfest-wreckfest-1  | 0048:err:explorer:initialize_display_settings Failed to query current display settings for L"\\\\.\\DISPLAY1".
wreckfest-wreckfest-1  | 0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
wreckfest-wreckfest-1  | 0048:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
wreckfest-wreckfest-1  | 0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
wreckfest-wreckfest-1  | 002c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 002c:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 0050:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 0050:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 0050:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
wreckfest-wreckfest-1  | 0050:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
wreckfest-wreckfest-1  | 0050:err:ole:apartment_createwindowifneeded CreateWindow failed with error 14007
wreckfest-wreckfest-1  | 0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x800736b7
wreckfest-wreckfest-1  | 0050:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x800736b7
wreckfest-wreckfest-1  | 0050:err:ole:apartment_get_local_server_stream Failed: 0x800736b7
wreckfest-wreckfest-1  | 0050:err:ole:start_rpcss Failed to open RpcSs service
wreckfest-wreckfest-1  | 0040:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 0040:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 0060:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 0060:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 0068:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 0068:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | Could not find Wine Gecko. HTML rendering will be disabled.
wreckfest-wreckfest-1  | 009c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 009c:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 00a4:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 00a4:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | Could not find Wine Gecko. HTML rendering will be disabled.
wreckfest-wreckfest-1  | 00cc:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142
wreckfest-wreckfest-1  | 002c:err:setupapi:SetupDiInstallDevice Failed to start service L"wineusb" for device L"ROOT\\WINE\\WINEUSB", error 1114.
wreckfest-wreckfest-1  | wine: configuration in L"/home/steam/.wine" has been updated.
wreckfest-wreckfest-1  | 0024:fixme:file:NtLockFile I/O completion on lock not implemented yet
wreckfest-wreckfest-1  | 00f0:fixme:file:NtLockFile I/O completion on lock not implemented yet
wreckfest-wreckfest-1  | 00f0:fixme:process:SetProcessShutdownParameters (00000100, 00000001): partial stub.
wreckfest-wreckfest-1  | 00f4:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 00f4:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 0124:fixme:ver:GetCurrentPackageId (1BB3FEE8 00000000): stub
wreckfest-wreckfest-1  | 012c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
wreckfest-wreckfest-1  | 012c:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
wreckfest-wreckfest-1  | 012c:err:wineconsole:WINECON_Init failed to init.
wreckfest-wreckfest-1  | 00f0:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 007AFEA4
wreckfest-wreckfest-1 exited with code 0

@scottmando2000 I had the same issue as you and was able to fix it yesterday by adding "xvfb-run" to the start-wreckfest.sh script and a DISPLAY environment variable to the Dockerfile. I have to create a full PR still since I modified a few other things, but this is what my final command is:

Line 114 of start-wreckfest.sh xvfb-run exec wine Wreckfest.exe -s server_config=server_config.cfg
Line 4 of Dockerfile ENV DISPLAY :99

I hope that helps. I also ran into some .wine issues where I had to clear the /home/steam/.wine folder and re-run winecfg as the steam user. You may run into those as well, but hopefully not.

Just added PR #31 with the changes I have made.