Soooo. I’ve been working on a TU DS docker container for a while and I’m stuck with this error message: [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: wrong ELF class: ELFCLASS32
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
Take a look at my Dockerfile and the included script and please tell me what I’m doing wrong. https://github.com/Zennoe/docker-gameservers/tree/testing/tower-unite
This repo is automatically build and updated at https://hub.docker.com/r/zennoe/tower-unite/. It is based on my own SteamCMD container that works perfectly fine with Gmod and TF2 servers. The image is based on Ubuntu 14.04. Use the testing branch to pull the newest changes. The latest branch will remain empty until the container works.
Trying to copy the steamclient.so from a linux64 directory has resulted in cp: cannot stat ‘/opt/steamcmd/linux64/*’: No such file or directory. Hence I use the linux32 directory.
My SteamCMD image also ensures that the following packages are installed lib32gcc1 lib32stdc++6 gdb ca-certificates net-tools lib32z1 lib32z1-dev curl
I’d really apreciate it if you were to read my initial post before replying to my topic. If you did that then you would have realised that I’m already doing that step:
After installing TU I copy the mentioned file into the correct directory. But because that didn’t help I then opened this topic. So that’s why I’m looking for help. If you’d like to take a look yourself, make sure that https://www.docker.com/ is installed on your PC and then run the following commands:
Then SteamCMD will download the TU server and launch it using this bash script:
(if you can find the error just by looking at this script. that’s ok too)
You can check the container’s output using docker logs -f tuserver
All the important information about which packages I installed should be listed in my initial post.
Ok. But the output just doesn’t help me at all. Maybe if you guys now any dependencies that could be missing…
What’s really weird is that the tutorial wants me to copy the steamclient.so from a linux64 folder inside the SteamCMD folder but there is only a Linux32 folder. So I copy the file from there. Dunno if that causes the issue as the Steam’s error message is quite cryptic.
I’ve messed with docker a fair bit, but I’m a bit busy atm and can’t give it a shot (yet, I’ll see what I can do in a bit though).
Looks like it might indeed be an issue with 32 vs 64 versions of that lib though. Are you sure the base ubuntu image is for x64? As with steamcmd? I’ll experiment when I can, might be a bit of fiddling.
It is. I use the official image which is based on the 64bit version of Ubuntu 14.04. I also ran uname -a just to make sure.
While comparing the container with your tutorial I realised that the URL I download SteamCMD from is different. But I compared the tars and both files are identical.
What I probably didn’t mention is that I change the Query Port and hence my run command looks like this: