protonscr

steamcmd: dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory

steamclosed SteamCMD
ValveSoftware/steam-for-linux#10393 · opened 2024-01-15 by idl0r · updated 2024-09-05 · 37 comments · github
Iidl0r 2024-01-15 github

Your system information

  • Steam client version (build number or date):
    1705108307

  • Distribution (e.g. Ubuntu):
    Gentoo

  • Opted into Steam client beta?: [Yes/No]
    No

  • Have you checked for system updates?: [Yes/No]
    Yes

  • Steam Logs: [generate by running this command in a terminal tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs]

$ ./steamcmd.sh +quit
Redirecting stderr to '/home/steamcmd/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 59,782 KB)...
[  0%] Downloading update (0 of 59,782 KB)...
[  0%] Downloading update (0 of 59,782 KB)...
[  0%] Downloading update (3,691 of 59,782 KB)...
[  6%] Downloading update (7,942 of 59,782 KB)...
[ 13%] Downloading update (11,086 of 59,782 KB)...
[ 18%] Downloading update (14,493 of 59,782 KB)...
[ 24%] Downloading update (17,691 of 59,782 KB)...
[ 29%] Downloading update (20,810 of 59,782 KB)...
[ 34%] Downloading update (24,246 of 59,782 KB)...
[ 40%] Downloading update (27,360 of 59,782 KB)...
[ 45%] Downloading update (30,460 of 59,782 KB)...
[ 50%] Downloading update (33,876 of 59,782 KB)...
[ 56%] Downloading update (36,987 of 59,782 KB)...
[ 61%] Downloading update (40,098 of 59,782 KB)...
[ 67%] Downloading update (42,312 of 59,782 KB)...
[ 70%] Downloading update (43,867 of 59,782 KB)...
[ 73%] Downloading update (45,423 of 59,782 KB)...
[ 75%] Downloading update (46,990 of 59,782 KB)...
[ 78%] Downloading update (48,689 of 59,782 KB)...
[ 81%] Downloading update (50,245 of 59,782 KB)...
[ 84%] Downloading update (51,831 of 59,782 KB)...
[ 86%] Downloading update (53,542 of 59,782 KB)...
[ 89%] Downloading update (55,098 of 59,782 KB)...
[ 92%] Downloading update (56,670 of 59,782 KB)...
[ 94%] Downloading update (58,396 of 59,782 KB)...
[ 97%] Downloading update (59,782 of 59,782 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
tid(7941) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/steamcmd/Steam/logs/stderr.txt'
Logging directory: '/home/steamcmd/Steam/logs'
/tmp/dumps insufficient permissions - delete and recreate
[  0%] Checking for available updates...
[----] Verifying installation...
[  0%] Downloading update...
[  0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
tid(7953) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/steamcmd/Steam/logs/stderr.txt'
Logging directory: '/home/steamcmd/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK
  • GPU: Nvidia/Intel/AMD
    None

Please describe your issue in as much detail as possible:

Create a new user, download steamcmd, run it once and see the error

Steps for reproducing this issue:

  1. useradd -m steamcmd
  2. su -l steamcmd
  3. curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
  4. ./steamcmd.sh +quit

Also see the video where you see a freshly created user, downloading the latest / current steamcmd, running +quit and getting that error:

https://github.com/ValveSoftware/steam-for-linux/assets/32827/a2607602-7a9b-4598-9b56-89e8975f1202

This is basically the same as in #10215 and seen via google when looking for that error.
The error basically happens with every command. It also happens when starting the mentioned PZ Server and others.
It prevents the game/server from accessing the steam API.

Iidl0r 2024-01-15 github

Can anybody confirm that this also affects the actual steam client / proton? It looks like it does, looking at #10215

MM-Reimer 2024-01-16 github

This seems to affect different games, too.

See https://github.com/ValveSoftware/Proton/issues/2563#issuecomment-1892798313

https://github.com/ValveSoftware/steam-for-linux/issues/10392 Shouldn't have been closed. The issue here is that someone seems to have forgotten to package steamservice.so with the last steam update.

Wwaspennator 2024-01-18 github

Is this issue being looked into, seems like it's occurring on most linux distros as well as on deck checking around?

Iidl0r 2024-01-18 github

So if you're looking at some games's serverlists, it must be hundreds, if not thousands of people having those issues and not being listed. Google also has a lot of matches for this error since about december 2023.

Bbrad-charboneau 2024-01-19 github

I can confirm this issue still exists. I used both the apt install method for debian as well as the manual steamcmd install method. once steamcmd updates at first launch this issue appears. I am trying to install the PalWorld Test Server on Linux.

and in case it matters at all, I am using anonymous login instead of tying it to my account specifically. the game will download, but cannot run because steamservice.so cannot be found

SSamJulson 2024-01-20 github

Can confirm with brad-charboneau

HHizakix92 2024-01-20 github

Also encountering this exact issue when trying to install the PalWorld Test server. I encountered this error on both a manual, and an apt install of steamcmd.

Ccweav1440 2024-01-20 github

Same issue. Spent 2 hours trying to get it to work.

Ppeterino2 2024-01-20 github

+1 for this one, happening on both my ubuntu and debian images as well.

LLochis 2024-01-20 github

I am also having this same issue. Have tried multiple methods on ubuntu. Docker container, manual install, apt install of PalWorld.

?ghost 2024-01-20 github

Same issue here on fresh Debian 12 using apt install, added non-free and contrib to sources manually as well to get apt to work.

Uukipoi 2024-01-20 github

+1,same issue when i install of Palworld

Sslowkoi 2024-01-20 github

same issue

SSkyrant 2024-01-20 github

same palworld install

`steamcmd +login anonymous +app_update 2394010 validate +quit

Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK
`

Wwallacio 2024-01-20 github

Enough with the "same issue" and "+1" reports which don't contain anything meaningful please. Unless there is anything constructive to add to the issue, this is absolutely of no help whatsoever. It's just creating noise for the people who are following it.

It's clear that this so is missing from the package. We get that. Subscribe to the issue and wait for updates. Thank you.

9991547436 2024-01-20 · hidden on GitHub github

+1,same issue when i install of Palworld

If the following message appears at startup, the error can be corrected by performing the following steps.

If this procedure is performed after the server is operational, the game will start from character re-creation.
We recommend that you do not perform this on servers that are already in play.

.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
To resolve this issue

mkdir -p ~/.steam/sdk64/
steamcmd +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
Error is displayed once at startup. if [.steam/sdk64/steamclient.so OK. (First tried local 'steamclient.so')] is displayed, there is no problem.

$ ./PalServer.sh
Shutdown handler: initalize.
Increasing per-process limit of core file size to infinity.
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Loaded '/home/ubuntu/.steam/sdk64/steamclient.so' OK. (First tried local 'steamclient.so')
Connect to server

Uukipoi 2024-01-20 · hidden on GitHub github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10393#issuecomment-1902073289

I have resolved the issue,but it shows as follows

Shutdown handler: initalize.
- Existing per-process limit (soft=65535, hard=65535) is enough for us (need only 65535)
Increasing per-process limit of core file size to infinity.
sh: xdg-user-dir: command not found
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Loaded '/home/steam/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
CAppInfoCacheReadFromDiskThread took 2 milliseconds to initialize
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
9991547436 2024-01-20 · hidden on GitHub github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10393#issuecomment-1902076919

不用管这个提示,服务器已经开起来了,能正常游戏

XXDorz 2024-01-20 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10393#issuecomment-1902078706

I have the same output, the strange thing is that I still can't connect by ip and port, the startup script prints out
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory Setting breakpad minidump AppID = 2394010 [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
and then stops outputting. I have opened the corresponding port in ufw
BTW, is DefaultPalWorldSettings.ini in the same directory as the startup script a server configuration file?I modified the port to "PublicPort=14248".

Iidl0r 2024-01-20 github

Guys, english please.

9991547436 2024-01-20 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10393#issuecomment-1902080174

我没修改配置文件,指定端口号应该是启动命令后加上 port=xxx,你可以用netstat -npl|grep xxx确保对应端口已经启动
cd ~/Steam/steamapps/common/PalServer
./PalServer.sh port=18211

9991547436 2024-01-20 github
XXDorz 2024-01-20 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10393#issuecomment-1902095883

Can connect to server, but can't change port. Configration file in Pal/Saved/Config/LinuxServer/PalWorldSettings.ini not work,which makes me really confused.

Ff8upd8 2024-01-20 github

Attention to everybody who is coming here because of PalServer!
steamservice.so line is a warning and does not prevent server from functioning!

There is something wrong with your configuration if you cannot join!

Aafretwell 2024-01-20 github

Lets be clear the issue at hand seems to stem from steamcmd update not including the steamservice.so file in the most recent update. Because each new installation using steamcmd must also update steamcmd then that means any NEW linux installation will see this issue. Not just PalWorld but ALL steamcmd games that utilize Steam's APIs.

I see people mentioning that steamclient.so is missing and that is not what this ticket is about nor are we attempting to bring to steams attention. Please lets not conflate the issues.

Aafretwell 2024-01-21 github

Attention to everybody who is coming here because of PalServer! steamservice.so line is a warning and does not prevent server from functioning!

There is something wrong with your configuration if you cannot join!

This comment stands true, even though you may see steamservice.so errors you can still connect to the server given a correct .ini config file.

Aagentcobra 2024-01-21 · hidden on GitHub github
Jjtmckay 2024-01-23 · hidden on GitHub github

TLDR for new Linux instructions above ^
image

Copyable version:

mkdir -p ~/.steam/sdk64/
steamcmd +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
Iidl0r 2024-01-23 github

Guys, this is NOT about steamclient.so! In case of it, something else is wrong and this is NOT the appropriate issue for it!
This isn't related in any case. It doesn't help and it doesn't resolve the actual issue mentioned here.

RRoseyWasTaken 2024-01-25 github

I recently (yesterday) used the cm2network/steamcmd image to set up a server with Docker. Today, while I was setting up another server for testing purposes without Docker, I ran into the issue mentioned by the OP.

This makes me wonder - since the image I mentioned above is functional, wouldn't that be a little of help? In the related Dockerfile we can see the following lines:

	&& su "${USER}" -c \
		"mkdir -p \"${STEAMCMDDIR}\" \
                && curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C \"${STEAMCMDDIR}\" \
                && \"./${STEAMCMDDIR}/steamcmd.sh\" +quit \
                && ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${STEAMCMDDIR}/steamservice.so\" \
                && mkdir -p \"${HOMEDIR}/.steam/sdk32\" \
                && ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${HOMEDIR}/.steam/sdk32/steamclient.so\" \
                && ln -s \"${STEAMCMDDIR}/linux32/steamcmd\" \"${STEAMCMDDIR}/linux32/steam\" \
                && mkdir -p \"${HOMEDIR}/.steam/sdk64\" \
                && ln -s \"${STEAMCMDDIR}/linux64/steamclient.so\" \"${HOMEDIR}/.steam/sdk64/steamclient.so\" \
                && ln -s \"${STEAMCMDDIR}/linux64/steamcmd\" \"${STEAMCMDDIR}/linux64/steam\" \
                && ln -s \"${STEAMCMDDIR}/steamcmd.sh\" \"${STEAMCMDDIR}/steam.sh\"" \
	# Symlink steamclient.so; So misconfigured dedicated servers can find it
 	&& ln -s "${STEAMCMDDIR}/linux64/steamclient.so" "/usr/lib/x86_64-linux-gnu/steamclient.so" \
	&& rm -rf /var/lib/apt/lists/*

This looks to me like the maintainer is aware of some issues related to the steamservice.so and creates links to fix that. However, I've got limited knowledge and understanding of what's going on here exactly, so if anyone more knowledgable would chime in I'd greatly appreciate it.

Nndarlington 2024-01-29 github

This looks to me like the maintainer is aware of some issues related to the steamservice.so and creates links to fix that. However, I've got limited knowledge and understanding of what's going on here exactly, so if anyone more knowledgable would chime in I'd greatly appreciate it.

Based on this I was able to manually create a link and overcome the error.

Before:

[topdog@arkbox steam]$ ./steamcmd.sh
tid(2579) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/topdog/steam/logs/stderr.txt'
Logging directory: '/home/topdog/steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK

Steam>quit

So then I created the link:

[topdog@arkbox steam]$ ln -s linux32/steamclient.so ./steamservice.so

Ran the command again:

[topdog@arkbox steam]$ ./steamcmd.sh
tid(2676) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/topdog/steam/logs/stderr.txt'
Logging directory: '/home/topdog/steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...OK

Steam>quit

Thanks for the tip. I wouldn't have expected the 'client' library to be a suitable substitute for the 'service' library, but it seems to do the trick.

I was then able to update my game server (ark) and connect no problem, even though it had been offline for ~9 or more months prior.

TTTimo 2024-01-31 github

Attention to everybody who is coming here because of PalServer! steamservice.so line is a warning and does not prevent server from functioning!

There is something wrong with your configuration if you cannot join!

This is correct. steamservice.so is an optional module that has no bearing on steamcmd functionality. It does not need to be packaged or artificially introduced into the steamcmd tree so that it would be loaded.

If you have an actual regressed or broken functionality issue, please report that as a separate issue. You can certainly include a log and mention that you are seeing a message about steamservice.so not loading, but it's not likely to be the cause of your troubles.

Iidl0r 2024-01-31 github

@TTimo hold on, please reopen. Please see my initial comment. Steamcmd itself is complaining without any game / 3rd party related at all.
It also seems to cause trouble registering/using actual steam services like registering the server via steam and stuff like that. Ignore those who hijacked this issue.

Nndarlington 2024-01-31 github

@idl0r I agree, this warning did not used to occur with just steamcmd itself, and then suddenly one day I run it to do an update and it starts happening.

However, I wonder if @TTimo is implying that whether that message appears or not, it's not interfering with the operation of steamcmd anyway.

I note that the "OK" is still appearing at the end of the command run and update, whether that warning appears or not. So perhaps it can be ignored, and that is the message to us? That steamcmd doesn't need its functionality and so the inability to load the file just doesn't matter.

Hopefully this can be clarified, although for now I can also use my workaround if really needed.

TTTimo 2024-01-31 github

@idl0r there is no error in your report - at least none that affects functionality. You are showing the normal process of steamcmd self-updating and exiting as requested (you gave it a +quit command).

I understand that the message about steamservice.so not loading looks like some problem happened, but assure you it's fine. We'll update steamcmd so it skips that part since it was never meant to attempt this in the first place.

Sssr765 2024-02-28 github

I have the same issue when working with Docker, I usually run my servers on Windows and there's no problem there, but when I try to make a container it always gives me the steamservice.so file error.

I tried the @ndarlington solution but didn't work for me.

EEoceneMiacid 2024-09-05 github

I love Steam's service, but I hate the desktop client with a passion, for a long list of technical reasons.

Ideally, I could just use steamcmd to install/update/run all my games, and use Steam's website in case I need to access any of the fluff. However, I'm not sure how viable this is, and I can't try it out because trying to run a game (e.g. app_run 550) fails with the error that steamservice.so can not be found.

I tried several games, all of them fail.

Is this related?