ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
660 stars 76 forks source link

[TF2] Issue with SteamUtils010 and SteamAPI_Init #4472

Open sniperstyx opened 2 years ago

sniperstyx commented 2 years ago

I was interested in making a new TF2 server after a while of not owning one and I've had quite a lot of problems. I managed to fix all of those problems... except for one. This is the problem I cannot seem to escape from and I can't find any solutions related to it: [S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.

First encountered on Debian 10, then Ubuntu 22.04.

Full console output:

Auto detecting CPU
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Using Breakpad minidump system. Version: 7602386 AppID: 232250
Setting breakpad minidump AppID = 232250
Using breakpad crash handler
server_srv.so loaded for "Team Fortress"
For FCVAR_REPLICATED, ConVar must be defined in client and game .dlls (sv_use_steam_voice)
ProtoDefs post data loaded.
ProtoDefs loaded. 19.13 MB used
ProtoDefs post data loaded.
ProtoDefs loaded. 19.13 MB used
 failed to dlopen /home/<user>/hlserver/tf2/tf/addons/metamod/bin/linux64/server.so error=/home/<user>/hlserver/tf2/tf/addons/metamod/bin/linux64/server.so: wrong ELF class: ELFCLASS64
Unable to load plugin "addons/metamod/bin/linux64/server"
maxplayers set to 24
No '-replayserverdir' parameter found - using default replay folder.
Replay: Creating thread pool...succeeded.
Replay: Starting thread pool with 4 threads...succeeded.
Cleaning files from temp dir, "/home/<user>/hlserver/tf2/tf/replay/server/tmp/" ...no files removed.
ProtoDefs post data loaded.
ProtoDefs post data loaded.
Setting breakpad minidump AppID = 232251
Forcing breakpad minidump interfaces to load
dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Unknown command "r_decal_cullsize"
--------------------------------------------------------
sv_pure value unchanged (current value is 0).
--------------------------------------------------------
ConVarRef dev_loadtime_map_start doesn't point to an existing ConVar
maxplayers set to 24
Unknown command "startupmenu"
Network: IP 127.0.0.1, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Initializing Steam libraries for secure Internet server
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
CAppInfoCacheReadFromDiskThread took 22 milliseconds to initialize
Setting breakpad minidump AppID = 440
dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
[S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.
Setting breakpad minidump AppID = 232250
Logging into Steam game server account
[TF Workshop] Waiting for steam connection
[S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.
kisak-valve commented 2 years ago

Hello @sniperstyx,these lines of the log look more interesting:

dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory

Have you tried running steamcmd or the regular Steam client with this local user? I expect either of these setup the ~/.steam/sdk32 to a symlink with a folder that includes steamclient.so.

sniperstyx commented 2 years ago

Hello @sniperstyx,these lines of the log look more interesting:

dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory

Have you tried running steamcmd or the regular Steam client with this local user? I expect either of these setup the ~/.steam/sdk32 to a symlink with a folder that includes steamclient.so.

Hi, @kisak-valve. I used steamcmd. I've also tried copying and pasting the steamclient.so to /home/<user>/.steam/sdk32 and I still got the same issue. This never happened to me before whenever I installed and ran the servers normally like I did now, so I have no idea why it's only giving me those errors now.

worMatty commented 2 years ago

Hi, there.

We get a number of the same errors yet our server runs fine. Here's the console log:

Using Breakpad minidump system. Version: 7602386 AppID: 232250
Setting breakpad minidump AppID = 232250
Using breakpad crash handler
Loaded 10694 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_textures.vpk for pure server operation.
Loaded 10694 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_textures.vpk for pure server operation.
Loaded 478 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 478 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 1343 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 1343 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 2771 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_misc.vpk for pure server operation.
Loaded 2771 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_misc.vpk for pure server operation.
Loaded 2771 VPK file hashes from /home/<user>/servers/tf2/tf/tf2_misc.vpk for pure server operation.
Loaded 1217 VPK file hashes from /home/<user>/servers/tf2/hl2/hl2_textures.vpk for pure server operation.
Loaded 574 VPK file hashes from /home/<user>/servers/tf2/hl2/hl2_sound_vo_english.vpk for pure server operation.
Loaded 383 VPK file hashes from /home/<user>/servers/tf2/hl2/hl2_sound_misc.vpk for pure server operation.
Loaded 451 VPK file hashes from /home/<user>/servers/tf2/hl2/hl2_misc.vpk for pure server operation.
Loaded 451 VPK file hashes from /home/<user>/servers/tf2/hl2/hl2_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/<user>/servers/tf2/platform/platform_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/<user>/servers/tf2/platform/platform_misc.vpk for pure server operation.
server_srv.so loaded for "Team Fortress"
For FCVAR_REPLICATED, ConVar must be defined in client and game .dlls (sv_use_steam_voice)
ProtoDefs post data loaded.
ProtoDefs loaded. 19.13 MB used
ProtoDefs post data loaded.
ProtoDefs loaded. 19.13 MB used
 failed to dlopen /home/<user>/servers/tf2/tf/addons/metamod/bin/linux64/server.so error=/home/<user>/servers/tf2/tf/addons/metamod/bin/linux64/server.so: wrong ELF class: ELFCLASS64
Unable to load plugin "addons/metamod/bin/linux64/server"
maxplayers set to 32
No '-replayserverdir' parameter found - using default replay folder.
Replay: Creating thread pool...succeeded.
Replay: Starting thread pool with 4 threads...succeeded.
Cleaning files from temp dir, "/home/<user>/servers/tf2/tf/replay/server/tmp/" ...no files removed.
ProtoDefs post data loaded.
ProtoDefs post data loaded.
Setting breakpad minidump AppID = 232251
Forcing breakpad minidump interfaces to load
dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Unknown command "r_decal_cullsize"
maxplayers set to 32
ConVarRef dev_loadtime_map_start doesn't point to an existing ConVar
Unknown command "startupmenu"
WARNING: Port 27005 was unavailable - bound to port 27006 instead
WARNING: Port 27020 was unavailable - bound to port 27021 instead
Network: IP 127.0.1.1, mode MP, dedicated Yes, ports 27015 SV / 27006 CL
Initializing Steam libraries for secure Internet server
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
CAppInfoCacheReadFromDiskThread took 76 milliseconds to initialize
Setting breakpad minidump AppID = 440
dlopen failed trying to load:
/home/<user>/.steam/sdk32/steamclient.so
with error:
/home/<user>/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
[S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.
Setting breakpad minidump AppID = 232250
No account token specified; logging into anonymous game server account.  (Use sv_setsteamaccount to login to a persistent account.)
Connectivity test: result=Connected, in progress=0
Missing map material: DR_TEAMSTORY/BUD/BUDPAD
SOLID_VPHYSICS static prop with no vphysics model! (models/props_medieval/medieval_small_window_frame.mdl)
SOLID_VPHYSICS static prop with no vphysics model! (models/props_medieval/medieval_small_window_frame.mdl)
SOLID_VPHYSICS static prop with no vphysics model! (models/props_medieval/medieval_tall_window_frame.mdl)
SOLID_VPHYSICS static prop with no vphysics model! (models/props_medieval/medieval_small_window_frame.mdl)
Accelerator upload thread started.
Accelerator upload thread finished. (0 skipped, 0 uploaded, 0 failed)
Accelerator upload thread terminated. (canceled = false)
L 11/03/2022 - 17:51:20: [TF2ITEMS] "GiveNamedItem" offset = 489
L 11/03/2022 - 17:51:21: [stac.smx] [StAC] File handle invalid!
[StAC]

----> StAC version [5.3.2] loaded

L 11/03/2022 - 17:51:21: [tf2attributes.smx] Could not initialize call to CEconItem::SetCustomName
[DTK] Deathrun Toolkit 0.4.6.1 has loaded
L 11/03/2022 - 17:51:21: [admincheats.smx] Hooked [262] commands
Speed hints disabled  HUD hint sound enabled
L 11/03/2022 - 17:51:21: [dtk/dtk.smx] Library not found: SteamTools. Unable to change server game description
ConVarRef room_type doesn't point to an existing ConVar
Executing dedicated server config file server.cfg
Using map cycle file 'cfg/mapcycle.txt'.
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
Map with illegal characters in filename
func_physbox_multiplayer (jbp1&0021) at (-7552.910 9321.980 10208.000) using obsolete or unknown material type.
func_physbox_multiplayer (jbp2&0022) at (-7552.910 9321.980 10156.000) using obsolete or unknown material type.
Set motd from file 'cfg/motd.txt'
Set motd_text from file 'cfg/motd_text.txt'
SV_ActivateServer: setting tickrate to 66.7
Executing server arena config file
L 11/03/2022 - 17:51:39: [games/berke1_spleef1.smx] Detected a non-spleef map, plugin won't work.
[SourceComms++] Loading configs/sourcebans/sourcebans.cfg config file
[SourceComms++] Loading configs/sourcecomms.cfg config file
[SourceBans++] Loading configs/sourcebans.cfg config file
Connection to game coordinator established.
Current item schema is up-to-date with version AFDE0E51.
Unknown command ""
Writing cfg/banned_user.cfg.
Writing cfg/banned_ip.cfg.
[SM] Changed cvar "sv_airaccelerate" to "10".
L 11/03/2022 - 17:51:40: [sourcemod/basecommands.smx] "Console<0><Console><Console>" changed cvar (cvar "sv_airaccelerate") (value "10")
[SM] Changed cvar "tf_parachute_maxspeed_xy" to "300.0f".
L 11/03/2022 - 17:51:40: [sourcemod/basecommands.smx] "Console<0><Console><Console>" changed cvar (cvar "tf_parachute_maxspeed_xy") (value "300.0f")
[SM] dtk_wip_blue_boost has been changed from 0 to 1
[SM] dtk_red_air_dash has been changed from 0 to 1
Unknown command "pf_enablemusic"
Unknown command "sm_szf_force_on"
Unknown command "dtk_blastpushing"
Unknown command "dtk_thermalthruster"
'config_arena.cfg' not present; not executing.
Unknown command "sm_reserve_type"
Unknown command "sm_reserved_slots"
Unknown command "sm_hide_slots"
L 11/03/2022 - 17:51:40: [chatfilter.smx] Enabled name filtering
Server is hibernating
Connection to Steam servers successful.
   Public IP to Steam is 176.57.188.166.
Assigned anonymous gameserver Steam ID [A:1:182773760:21745].
VAC secure mode is activated.
[SM] dtk_enabled has been changed from 0 to 1
L 11/03/2022 - 17:51:40: [tf_maxspeed_patch.smx] Patching ProcessMovement data at (0xF0744A47) from (520.0000) to (520.0000).
'config_deathrun.cfg' not present; not executing.
Source Chat Relay: Socket Connected
Source Chat Relay: Successfully authenticated

We're using Ubuntu 20.04.5 LTS.

It's probably not relevant but during installation on a VPS running 21.04, the steamcmd script from the package manager would not create the ~/.steam/steam and ~/.steam/root symbolic links because it said it "Couldn't find the dir." I had to add a line to add the /.steam dir before creating the links.

if [ ! -e ~/.steam ]
then
    mkdir -pv "$STEAMROOT/.steam/appcache/"
    mkdir -pv "$STEAMROOT/.steam/config/"
    mkdir -pv "$STEAMROOT/.steam/logs/"
    mkdir -pv "$STEAMROOT/.steam/SteamApps/common/"
    mkdir -v ~/.steam
    ln -sv "$STEAMROOT" ~/.steam/root
    ln -sv "$STEAMROOT" ~/.steam/steam
fi

I hope this helps.

sniperstyx commented 2 years ago

Hi, @worMatty. I will check those commands out at some point to see if they fix my current issue. If they worked, I'll come back with a reply as soon as I can. Thank you for your time to reply to my issue.

sniperstyx commented 2 years ago

It's probably not relevant but during installation on a VPS running 21.04, the steamcmd script from the package manager would not create the ~/.steam/steam and ~/.steam/root symbolic links because it said it "Couldn't find the dir." I had to add a line to add the /.steam dir before creating the links.

if [ ! -e ~/.steam ]
then
  mkdir -pv "$STEAMROOT/.steam/appcache/"
  mkdir -pv "$STEAMROOT/.steam/config/"
  mkdir -pv "$STEAMROOT/.steam/logs/"
  mkdir -pv "$STEAMROOT/.steam/SteamApps/common/"
  mkdir -v ~/.steam
  ln -sv "$STEAMROOT" ~/.steam/root
  ln -sv "$STEAMROOT" ~/.steam/steam
fi

I hope this helps.

Hello again, @worMatty. I just wanted to mention that this did not work, neither did copying & pasting some files in ./home/<user>/.steam/sdk32. I'm somewhat running out of solutions and trying to search for this anywhere else on Google won't really solve anything, if I'm being honest.