Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with Ubuntu 20.04 ARM64 #35

Closed
FerLuisxd opened this issue Aug 13, 2022 · 12 comments
Closed

Error with Ubuntu 20.04 ARM64 #35

FerLuisxd opened this issue Aug 13, 2022 · 12 comments
Labels
bug Something isn't working

Comments

@FerLuisxd
Copy link

Describe the bug
Cannot run it on ARM64

To Reproduce
Steps to reproduce the behavior:
Followed the exact same guide from the docker page, I modified the --detach param so I could see the logs. But I get an error , see screenshots

# Pull the latest image:
docker pull renegademaster/zomboid-dedicated-server:latest

# Make two folders
mkdir ZomboidConfig ZomboidDedicatedServer

# Run the server (with bare minimum options):
docker run
    --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \
    --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \
    --publish 16261:16261/udp --publish 8766:8766/udp \
    --name zomboid-server \
    --user=$(id -u):$(id -g) \
    renegademaster/zomboid-dedicated-server:latest

Expected behavior
The service should start.

Screenshots
If applicable, add screenshots to help explain your problem.
image

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /bin/bash: exec format error

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Docker Version: 20.10.17
  • Image Version 2.0.0

Additional context

@FerLuisxd FerLuisxd added the bug Something isn't working label Aug 13, 2022
@FerLuisxd
Copy link
Author

Ok @Renegade-Master got a littlbe bit further with

docker pull tonistiigi/binfmt
docker run --privileged --rm tonistiigi/binfmt --install all

then adding the --platform param
I'm getting the annoying #8 Error:
image
I tried creating a user from 0.
tried creating it with:

sudo adduser ferluis
sudo usermod -aG docker ferluis

then moving to the user with:

sudo su - ferluis

Created the folders and ran:

docker run --platform linux/amd64 --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer     --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid     --publish 16261:16261/udp --publish 8766:8766/udp     --name zomboid-server     --user=$(id -u):$(id -g)     renegademaster/zomboid-dedicated-server:latest

And get the permision denied & file not found error, can you guys help me?

@FerLuisxd
Copy link
Author

Just to test, is there a way to "bypass" the root error? Some people don't care that much and it this case I want to test if it could work.

@Renegade-Master
Copy link
Owner

Renegade-Master commented Aug 13, 2022

Can you run SteamCMD without using a Docker container on the same host?
ARM64 isn't supported by SteamCMD. Unfortunately I can't fix that.

Also, the permissions issue in the current release [v2.0.0] only affects Docker-Compose.

@FerLuisxd
Copy link
Author

Steamcmd works using docker, so that "problem" is fixed now. I'm having the same issue as #34 and #14. I will try later using docker compose tho! In the meantime can you help me, copy the commands to create a "correct" user, so I can check that too

@Renegade-Master
Copy link
Owner

What image are you running to get SteamCMD working on ARM64?
I was not aware this was possible.

Also I have dropped the User stuff. If you check the README (which I updated ysterday) you can see the revised commands for Docker/Podman and Docker-Compose.

@FerLuisxd
Copy link
Author

FerLuisxd commented Aug 14, 2022

Well it's your image, and saw your image is using debian bullseye, I also tried steam/steamcmd and it works! You just need to add the parameter like I said in the second comment (--platform linux/amd64), and it works because it's emulating it using qemu. I will check the updated guide and update asap!

@FerLuisxd
Copy link
Author

Tried running it with the readme, but I get the same error 🤔
image
Is there something else I should try? If we make this to work I'll update the readme as well 👍

@Renegade-Master
Copy link
Owner

Renegade-Master commented Aug 16, 2022

That's not quite the same error. The permissions issues appear to be resolved.

Can you try to use docker-compose as opposed to docker compose as I explain here? They still seem to behave differently even though the documentation says that they are the same now.

Finally, try plain docker if possible, please?

If none of those work, I can only assume that the emulation isn't working. Do you not need to configure Buildkit options for platform emulation?

@FerLuisxd
Copy link
Author

FerLuisxd commented Aug 16, 2022

Tried with docker-compose (version 1.29.2)
image
Same error sadly,
I just tried running the docker run command on windows 11 and ubuntu native amd64 and had no problems there, this STILL is a permission issue with the emulation tho, hopefully one day it get's resolved,
This is the free-forever tier oracle tier(4ARMcpus/24gb ram), so maybe you can also give it a try as well. I saw many people also struggling to make a game server for many steam games

@FerLuisxd
Copy link
Author

FerLuisxd commented Aug 16, 2022

There was a env param needed to get steamcmd running before so I thought of adding it here,

      - "CPU_MHZ=2000"

This is the new log I'm getting
image
It fails after trying to login to the server

Connecting anonymously to Steam Public...Bail out! ERROR:../target/i386/tcg/translate.c:8578:i386_tr_init_disas_context: assertion failed: (IOPL(dc) == iopl)
zomboid-dedicated-server    | /usr/bin/steamcmd.sh: line 38:    26 Aborted                 (core dumped) $DEBUGGER "$STEAMEXE" "$@"

This is diffinetly an error with the EMULATION, not permissions. , I've reported this issue here as well on their repo.
Thanks for the help and hopefully they get it resolved someday

@Renegade-Master
Copy link
Owner

Well that is pretty crazy. Nice one for finding it though, and yeah, hopefully the issue can be resolved!

It'd be nice to be able to use those free server instances for game hosting 🙂

I'm going to close this issue, but pin it to keep it around.

@FerLuisxd
Copy link
Author

Update regarding this, someone in the community made this possible! (With another docker image that emulates x64)
https://steamcommunity.com/app/108600/discussions/1/3415433168012191380/?ctp=4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants