mbround18 / valheim-docker

Valheim Docker powered by Odin. The Valheim dedicated gameserver manager which is designed with resiliency in mind by providing automatic updates, world backup support, and a user friendly cli interface.
https://hub.docker.com/r/mbround18/valheim
BSD 3-Clause "New" or "Revised" License
763 stars 81 forks source link

Cannot start a server in a M2 environment #840

Closed demtario closed 5 months ago

demtario commented 5 months ago

Hi there, I'm trying to use this image on M2 Mac Mini, but somehow it cannot install the Valheim and it is shutted down.

Docker compose

Basically copied from the readme, but I needed to add the line platform: linux/amd64 to even pull down the image

version: '3'
services:
  valheim:
    platform: linux/amd64
    image: mbround18/valheim:2.4.2
    # restart: always
    stop_signal: SIGINT
    ports:
      - '2456:2456/udp'
      - '2457:2457/udp'
      - '2458:2458/udp'
      - '2450:2450'
    environment:
      PORT: 2456
      NAME: 'Server'
      WORLD: 'World'
      PASSWORD: 'password'
      TZ: 'Europe/Warsaw'
      PUBLIC: 1
      AUTO_UPDATE: 1
      AUTO_UPDATE_SCHEDULE: '0 1 * * *'
      AUTO_BACKUP: 1
      AUTO_BACKUP_SCHEDULE: '*/15 * * * *'
      AUTO_BACKUP_REMOVE_OLD: 1
      AUTO_BACKUP_DAYS_TO_LIVE: 3
      AUTO_BACKUP_ON_UPDATE: 1
      AUTO_BACKUP_ON_SHUTDOWN: 1
      UPDATE_ON_STARTUP: 0
      HTTP_PORT: 2450
      USE_PUBLIC_BETA: 1
      DEBUG_MODE: 1
    volumes:
      - ./valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
      - ./valheim/server:/home/steam/valheim
      - ./valheim/backups:/home/steam/backups

Docker output

...
4-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][INFO]: Running Install...
2024-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][DEBUG]: Current Directory: /home/steam/valheim
2024-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][DEBUG]: Current User: steam
2024-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][DEBUG]: Current UID: 1000
2024-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][DEBUG]: Current GID: 1000
2024-05-06 00:59:40 valheim-1  | 2024-05-06 00:59:40 - [Valheim][DEBUG]: Home Directory: /home/steam
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Logger initialized
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Debug mode enabled!
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Env var found 'ODIN_WORKING_DIR': ''
2024-05-06 00:59:40 valheim-1  | [ODIN][INFO]  - Installing 896660 to /home/steam/valheim
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Env var found 'ODIN_WORKING_DIR': ''
2024-05-06 00:59:40 valheim-1  | [ODIN][INFO]  - steamcmd found in path
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Env var found 'DEBUG_MODE': '1'
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Env var found 'USE_PUBLIC_BETA': '1'
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Using public beta branch
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - Launching install command: Command {
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     program: "/usr/bin/steamcmd",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     args: [
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "/usr/bin/steamcmd",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "+force_install_dir /home/steam/valheim",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "+login anonymous",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "verbose",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "+app_update 896660",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "-beta public-test",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "-betapassword yesimadebackups",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "validate",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         "+quit",
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     ],
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     stdout: Some(
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         Inherit,
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     ),
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     stderr: Some(
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -         Inherit,
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     ),
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] -     create_pidfd: false,
2024-05-06 00:59:40 valheim-1  | [ODIN][DEBUG] - }
2024-05-06 00:59:41 valheim-1  | [ODIN][ERROR] - Exited with http code: 1
1970-01-01 01:00:00 valheim-1 exited with code 1

Also, I tried the same docker-compose on the Windows, and it worked perfectlly, so it is definitelly some issue with the M2 environment

mbround18 commented 5 months ago

I am surprised odin worked on apple, i dont own any apple hardware so I cannot test. With that exit code 1, it looks like an http code 1. ill look into this but no promises, traditionally valheim doesnt play well on apple hardware

mbround18 commented 5 months ago

That error comes from here https://github.com/mbround18/valheim-docker/blob/79348e1c092ac0680c6d2dc88d5ec444cca7a8d2/src/odin/executable.rs#L41C8-L41C26

mbround18 commented 5 months ago

Which originates from here https://github.com/mbround18/valheim-docker/blob/79348e1c092ac0680c6d2dc88d5ec444cca7a8d2/src/odin/main.rs#L71

mbround18 commented 5 months ago

which was thrown from here https://github.com/mbround18/valheim-docker/blob/79348e1c092ac0680c6d2dc88d5ec444cca7a8d2/src/odin/server/install.rs#L37-L60

mbround18 commented 5 months ago

Can you try

ADDITIONAL_STEAMCMD_ARGS="+@sSteamCmdForcePlatformType linux"
demtario commented 5 months ago

Unfortunately logs are the same:

valheim-1  | [ODIN][DEBUG] - Logger initialized
valheim-1  | [ODIN][DEBUG] - Debug mode enabled!
valheim-1  | [ODIN][DEBUG] - Env var found 'ODIN_WORKING_DIR': ''
valheim-1  | [ODIN][INFO]  - Installing 896660 to /home/steam/valheim
valheim-1  | [ODIN][DEBUG] - Env var found 'ODIN_WORKING_DIR': ''
valheim-1  | [ODIN][INFO]  - steamcmd found in path
valheim-1  | [ODIN][DEBUG] - Env var found 'DEBUG_MODE': '1'
valheim-1  | [ODIN][DEBUG] - Adding additional arguments! +@sSteamCmdForcePlatformType linux
valheim-1  | [ODIN][DEBUG] - Env var found 'USE_PUBLIC_BETA': '1'
valheim-1  | [ODIN][DEBUG] - Using public beta branch
valheim-1  | [ODIN][DEBUG] - Launching install command: Command {
valheim-1  | [ODIN][DEBUG] -     program: "/usr/bin/steamcmd",
valheim-1  | [ODIN][DEBUG] -     args: [
valheim-1  | [ODIN][DEBUG] -         "/usr/bin/steamcmd",
valheim-1  | [ODIN][DEBUG] -         "+force_install_dir /home/steam/valheim",
valheim-1  | [ODIN][DEBUG] -         "+login anonymous",
valheim-1  | [ODIN][DEBUG] -         "verbose",
valheim-1  | [ODIN][DEBUG] -         "+app_update 896660",
valheim-1  | [ODIN][DEBUG] -         "+@sSteamCmdForcePlatformType linux",
valheim-1  | [ODIN][DEBUG] -         "-beta public-test",
valheim-1  | [ODIN][DEBUG] -         "-betapassword yesimadebackups",
valheim-1  | [ODIN][DEBUG] -         "validate",
valheim-1  | [ODIN][DEBUG] -         "+quit",
valheim-1  | [ODIN][DEBUG] -     ],
valheim-1  | [ODIN][DEBUG] -     stdout: Some(
valheim-1  | [ODIN][DEBUG] -         Inherit,
valheim-1  | [ODIN][DEBUG] -     ),
valheim-1  | [ODIN][DEBUG] -     stderr: Some(
valheim-1  | [ODIN][DEBUG] -         Inherit,
valheim-1  | [ODIN][DEBUG] -     ),
valheim-1  | [ODIN][DEBUG] -     create_pidfd: false,
valheim-1  | [ODIN][DEBUG] - }
valheim-1  | [ODIN][ERROR] - Exited with http code: 1
valheim-1 exited with code 1

Also it looks like the only issue is with server installation. I passed installation step in other way (I used colima), and then server appears to start without container crashing. But it seems its not working properly anyway (but this could be influenced by colima, idk).

Anyway, this issue is not as important for me, as I started server on the other machine, and it works perfectly there. Thanks for your willingness to help!