TrueOsiris / docker-vrising

Container for V-Rising dedicated server
244 stars 63 forks source link

Docker contrainer failing to initalize .dlls #78

Open xAZR1ELx opened 5 months ago

xAZR1ELx commented 5 months ago

Hey all,

I'm not sure what I am doing wrong here. Whenever I start the server I get the following error:

2024-05-27 14:39:17 Updating V-Rising Dedicated Server files...
2024-05-27 14:39:17  
2024-05-27 14:39:18 WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
2024-05-27 14:39:18 Redirecting stderr to '/root/Steam/logs/stderr.txt'
2024-05-27 14:39:18 Logging directory: '/root/Steam/logs'
2024-05-27 14:39:18 [  0%] Checking for available updates...
2024-05-27 14:39:18 [----] Verifying installation...
2024-05-27 14:39:18 UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1716584438
2024-05-27 14:39:18 -- type 'quit' to exit --
2024-05-27 14:39:18 Loading Steam API...OK
2024-05-27 14:39:18 "@sSteamCmdForcePlatformType" = "windows"
2024-05-27 14:39:18 
2024-05-27 14:39:22 Connecting anonymously to Steam Public...OK
2024-05-27 14:39:22 Waiting for client config...OK
2024-05-27 14:39:34 Waiting for user info...OK
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 0.11 (2097152 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 16.89 (311071321 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 39.91 (735284210 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 58.13 (1070940564 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 70.90 (1306155297 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 87.68 (1615311992 / 1842233665)
2024-05-27 14:39:34  Update state (0x5) verifying install, progress: 99.97 (1841772189 / 1842233665)
2024-05-27 14:39:34 Success! App '1829350' fully installed.
2024-05-27 14:39:34 steam_appid: 1604030
2024-05-27 14:39:34  
2024-05-27 14:39:34  
2024-05-27 14:39:34 Starting V Rising Dedicated Server with name Estoria
2024-05-27 14:39:34 Trying to remove /tmp/.X0-lock
2024-05-27 14:39:34  
2024-05-27 14:39:34 Starting Xvfb
2024-05-27 14:39:34 Launching wine64 V Rising
2024-05-27 14:39:34  
2024-05-27 14:39:34 0024:err:module:LdrInitializeThunk "UnityPlayer.dll" failed to initialize, aborting
2024-05-27 14:39:34 0024:err:module:LdrInitializeThunk Initializing dlls for L"Z:\\mnt\\vrising\\server\\VRisingServer.exe" failed, status c0000005
2024-05-27 14:39:35 usermod: user 'docker' does not exist
2024-05-27 14:39:35 Cleaning up logs older than 30 days

Here is my docker container:

  vrising:
    image: trueosiris/vrising
    environment:
      - TZ=Europe/Brussels
      - SERVERNAME=Estoria
    volumes:
      - type: bind
        source: E:\VMs\dedServers\VRising\server # Path to the server folder, had used ./server before but it didn't work        
        target: /mnt/vrising/server
        bind:
          create_host_path: true
      - type: bind
        source: E:\VMs\dedServers\VRising\persistentdata # Path to the server folder, had used ./persistendata before but it didn't work
        target: /mnt/vrising/persistentdata
        bind:
          create_host_path: true
    ports:
      - '9876:9876/udp'
      - '9877:9877/udp'
    restart: unless-stopped
    network_mode: bridge

If anyone can shine a light on what this idiot (me) is doing, I'd be grateful!

panromir commented 5 months ago

What platform are you using to run Docker? The source path suggests Windows.

xAZR1ELx commented 5 months ago

I'm running it on docker through windows, but it is hosting on a linux VM.

Is there a way to force it to run windows inside the docker container?

panromir commented 5 months ago

That would be redundant, the container is running WINE to emulate Windows on Linux. If you have a Windows host, you technically don't need to run a container on linux to run a V-Rising Server, in fact, it's probably better to run this on a Windows Machine if you can.

If you want to run this on Linux, you need to adjust your source paths to something that is inside your VM. Linux paths typically /look/like/this. What was the error when you tried to use the ./persistentdata path?

xAZR1ELx commented 5 months ago

Same error:

2024-05-27 21:43:20  
2024-05-27 21:43:21 WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
2024-05-27 21:43:21 Redirecting stderr to '/root/Steam/logs/stderr.txt'
2024-05-27 21:43:21 Logging directory: '/root/Steam/logs'
2024-05-27 21:43:21 [  0%] Checking for available updates...
2024-05-27 21:43:21 [----] Verifying installation...
2024-05-27 21:43:21 UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1716584438
2024-05-27 21:43:21 -- type 'quit' to exit --
2024-05-27 21:43:21 Loading Steam API...OK
2024-05-27 21:43:21 "@sSteamCmdForcePlatformType" = "windows"
2024-05-27 21:43:21 
2024-05-27 21:43:24 Connecting anonymously to Steam Public...OK
2024-05-27 21:43:24 Waiting for client config...OK
2024-05-27 21:43:37 Waiting for user info...OK
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 0.17 (3145728 / 1842233665)
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 23.51 (433072933 / 1842233665)
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 44.24 (814992447 / 1842233665)
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 62.08 (1143587148 / 1842233665)
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 75.98 (1399763601 / 1842233665)
2024-05-27 21:43:37  Update state (0x5) verifying install, progress: 90.94 (1675268061 / 1842233665)
2024-05-27 21:43:37 Success! App '1829350' fully installed.
2024-05-27 21:43:37 steam_appid: 1604030
2024-05-27 21:43:37  
2024-05-27 21:43:37  
2024-05-27 21:43:37 Starting V Rising Dedicated Server with name Estoria
2024-05-27 21:43:37 Trying to remove /tmp/.X0-lock
2024-05-27 21:43:37  
2024-05-27 21:43:37 Starting Xvfb
2024-05-27 21:43:37 Launching wine64 V Rising
2024-05-27 21:43:37  
2024-05-27 21:43:37 0024:err:module:LdrInitializeThunk "UnityPlayer.dll" failed to initialize, aborting
2024-05-27 21:43:37 0024:err:module:LdrInitializeThunk Initializing dlls for L"Z:\\mnt\\vrising\\server\\VRisingServer.exe" failed, status c0000005
2024-05-27 21:43:38 usermod: user 'docker' does not exist
2024-05-27 21:43:38 Cleaning up logs older than 30 days
2024-05-27 21:43:38  
2024-05-27 21:43:38 Updating V-Rising Dedicated Server files...
2024-05-27 21:43:38  
2024-05-27 21:43:39 WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
2024-05-27 21:43:39 Redirecting stderr to '/root/Steam/logs/stderr.txt'
2024-05-27 21:43:39 Logging directory: '/root/Steam/logs'
2024-05-27 21:43:39 [  0%] Checking for available updates...
2024-05-27 21:43:39 [----] Verifying installation...
2024-05-27 21:43:39 UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1716584438
2024-05-27 21:43:39 -- type 'quit' to exit --
2024-05-27 21:43:39 Loading Steam API...OK
2024-05-27 21:43:39 "@sSteamCmdForcePlatformType" = "windows"
2024-05-27 21:43:39 
2024-05-27 21:43:43 Connecting anonymously to Steam Public...OK
2024-05-27 21:43:43 Waiting for client config...OK
2024-05-27 21:43:56 Waiting for user info...OK
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 0.11 (2097152 / 1842233665)
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 25.27 (465473077 / 1842233665)
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 45.39 (836175979 / 1842233665)
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 63.41 (1168198100 / 1842233665)
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 77.50 (1427782809 / 1842233665)
2024-05-27 21:43:56  Update state (0x5) verifying install, progress: 92.89 (1711170628 / 1842233665)
2024-05-27 21:43:56 Success! App '1829350' fully installed.
2024-05-27 21:43:56 steam_appid: 1604030
2024-05-27 21:43:56  
2024-05-27 21:43:56  
2024-05-27 21:43:56 Starting V Rising Dedicated Server with name Estoria
2024-05-27 21:43:56 Trying to remove /tmp/.X0-lock
2024-05-27 21:43:56  
2024-05-27 21:43:56 Starting Xvfb
2024-05-27 21:43:56 Launching wine64 V Rising
2024-05-27 21:43:56  
2024-05-27 21:43:56 0024:err:module:LdrInitializeThunk "UnityPlayer.dll" failed to initialize, aborting
2024-05-27 21:43:56 0024:err:module:LdrInitializeThunk Initializing dlls for L"Z:\\mnt\\vrising\\server\\VRisingServer.exe" failed, status c0000005
2024-05-27 21:43:57 usermod: user 'docker' does not exist
2024-05-27 21:43:57 Cleaning up logs older than 30 days

I mean you are 100% correct. If I run the .exe, it is perfectly fine. I just want to use docker for the ease of use and having it all in one place!

panromir commented 5 months ago

Hard to say how you've built your setup. From what I can gather, docker desktop can use Hyper-V for hosting a minimal Linux(Kernel) to run Linux containers "on Windows".

Since you're saying that you have a dedicated Linux VM, youre probably using a setup similar to this: https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

If you have a dedicated Linux VM, please SSH into it, install Docker CE in it (which should contain docker compose) and run docker compose up in the folder you copied the docker-compose.yml into. If that doesn't work, you can temporarily delete all volumes or use the docker-cli command (without the -v args) to run a container with ephemeral volumes to see if it works at all.

kevinf100 commented 5 months ago

Docker on windows isn't the best. If you have WSL2 installed and enabled it will use that. If not, than not sure but don't use docker for a V-Rising server when your running windows. If you don't have WSL2 https://learn.microsoft.com/en-us/windows/wsl/install. Else I highly recommend not using docker as you will lose performance over the virtualization. Do this instead. Create a new Non Admin Account. Login that account. Open windows firewall and add a inbound rule to allow the port. Make sure you port forward on your router if your doing this from your own PC. Run The server on that account. (Optional) Use Group Policy to restrict the account even more.

TrueOsiris commented 5 months ago

A wine-emulation in a docker on windows. You might just run the dedicated server with a .bat script, imho.