avivace / ror2-server

Host your own Risk of Rain 2 dedicated server. No technical skills required. Runs everywhere.
https://hub.docker.com/r/avivace/ror2server
GNU General Public License v3.0
169 stars 29 forks source link

Wine can not find /home/steam/ror2-dedicated/Risk of Rain 2.exe #27

Closed Fynf closed 3 years ago

Fynf commented 3 years ago

When executing sudo docker run -p 27016:27016/udp -p 27015:27015/udp -e R2_HOSTNAME='Test' -e R2_PSW='Test' -e R2_HEARTBEAT=1 avivace/ror2server:latest wine is unable to locate the Risk of Rain 2.exe and thus exits prematurely.

The logs show the following line ERROR! Failed to install app '1180760' (Disk write failure) but there is enough disk-space and the script should have all the necessary privileges to write to that directory.

This happens on a Google Cloud Compute Engine instance running Debian 10, regardless of specs and/or location.

The server-logs look as follows: Connecting anonymously to Steam Public...Logged in OK Waiting for user info...OK "@sSteamCmdForcePlatformType" = "windows" ERROR! Failed to install app '1180760' (Disk write failure) Generating server configuration... /home/steam/ror2-dedicated/entry.sh: line 7: /home/steam/ror2-dedicated/Risk of Rain 2_Data/Config/server.cfg: N o such file or directory Generating initial Wine configuration... wine: created the configuration directory '/home/steam/.wine' 0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046} 0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa} 0012:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002 0012:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002 0012:err:ole:get_local_server_stream Failed: 80004002 0014:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0014:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. 0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0 0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0 0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046} 000b:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 000b:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. 0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 14007 0014:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x800736b7 0014:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 800736b7 0014:err:ole:get_local_server_stream Failed: 800736b7 0010:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0010:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. 0016:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0016:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. 0018:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0018:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. Could not find Wine Gecko. HTML rendering will be disabled. 0025:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0025:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. 0027:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0027:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. Could not find Wine Gecko. HTML rendering will be disabled. wine: configuration in L"/home/steam/.wine" has been updated. 0034:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0034:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. Let's wait :) Starting server... wine: cannot find '/home/steam/ror2-dedicated/Risk of Rain 2.exe'

dubvulture commented 3 years ago

That's on Valve, see this.

Let's wait for further developments.

Fynf commented 3 years ago

The current workaround (pioneered by @Cherry) seems to be to create a /steamapps directory in the directory that the game in downloaded to. So a change in line 42 of the dockerfile from && mkdir -p ${STEAMAPPDIR} \ to && mkdir -p ${STEAMAPPDIR}/steamapps \ could be a temporary fix. (I'm not sure how to do something like this properly on GitHub and Docker so I hope it's somewhat understandable 😰)

fnicolini commented 3 years ago

Another workaround is to just simply remove the force_install_dir command from the Dockerfile and the entry.sh.

For example, line 44 of the Dockerfile becomes:

&& ${STEAMCMDDIR}/steamcmd.sh +login anonymous \

and line 4 of entry.sh becomes:

"${STEAMCMDDIR}/steamcmd.sh" +login anonymous +@sSteamCmdForcePlatformType windows +app_update "${STEAMAPPID}" +quit

If you really need a working server you can just clone the repository, make these changes and then build and run the image, I'm pretty sure it works. Nonetheless I don't think we will change anything on this repo because it's really just a bug that Valve should solve.

fnicolini commented 3 years ago

It's fixed.

avivace commented 3 years ago

Great. Thanks @fnicolini and @dubvulture for working this out!