ValveSoftware / Source-1-Games

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

[TF2] [Linux] [SRCDS] Server stuck in lan mode, no related sverrors. #6338

Open kennyrkun opened 2 months ago

kennyrkun commented 2 months ago

Hi, I'm having trouble starting a public TF2 server on a new 64-bit installation of Debian 12 on an Intel 10100 CPU. I do not have a Windows server to test on. I have verified that the ports are forwarded by running a Minecraft server on the same port and connecting. I can connect to the server via local IP. sv_lan is set to 0 and when run in console it always says:

"sv_lan" = "0" - Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )

The issue is encounter using both srcds_run and srcds_run_64. steamclient.so is copied out of steamcmd/linux32, steamcmd/linux64 into ~/.steam/sdk32 and ~/.steam/sdk64 respectively.

Connection to the game coordinator is established, item schema is up to date, VAC secure is active, Steamworks receives session ID, public IP is retrieved from Steam servers, yet it just won't allow internet connections. I've checked out other issues here (#5722) and many forum posts online and have not found a solution that has worked. There are no errors obviously pointing to a network configuration issue, that I can tell. The only thing that sticks out is the S_API_FAIL that I see during startup and anytime net_start is used. As far as I can tell by my reading of the logs and forum posts, this can be ignored? The logs seem to suggest that it still connects just fine and I can still play on the server locally.

I have not created a server.cfg, as the server is able to start and be connected to and used on the local IP, I do not believe the misconfiguration is related to this.

Here is the startup script: ./srcds_run_64 -dev -nohltv -game tf -ip 192.168.0.8 -port 27015 -strictportbind +sv_lan 0 +map pl_upward +sv_setsteamaccount ****

Here is the startup log:

Auto detecting CPU
Using default binary: ./srcds_linux64
Server will auto-restart if there is a crash.

WARNING: Failed to load 32-bit libtinfo.so.5 or libncurses.so.5.
  Please install (lib32tinfo5 / ncurses-libs.i686 / equivalent) to enable readline.

Using shader api: shaderapiempty_srv.so
Using Breakpad minidump system. Version: 9115164 AppID: 232250
Setting breakpad minidump AppID = 232250
Using breakpad crash handler
Loaded 11596 VPK file hashes from /home/tf2/chuck/tf/tf2_textures.vpk for pure server operation.
Loaded 11596 VPK file hashes from /home/tf2/chuck/tf/tf2_textures.vpk for pure server operation.
Loaded 480 VPK file hashes from /home/tf2/chuck/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 480 VPK file hashes from /home/tf2/chuck/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 1344 VPK file hashes from /home/tf2/chuck/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 1344 VPK file hashes from /home/tf2/chuck/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/tf2/chuck/tf/tf2_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/tf2/chuck/tf/tf2_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/tf2/chuck/tf/tf2_misc.vpk for pure server operation.
Loaded 1232 VPK file hashes from /home/tf2/chuck/hl2/hl2_textures.vpk for pure server operation.
Loaded 574 VPK file hashes from /home/tf2/chuck/hl2/hl2_sound_vo_english.vpk for pure server operation.
Loaded 383 VPK file hashes from /home/tf2/chuck/hl2/hl2_sound_misc.vpk for pure server operation.
Loaded 450 VPK file hashes from /home/tf2/chuck/hl2/hl2_misc.vpk for pure server operation.
Loaded 450 VPK file hashes from /home/tf2/chuck/hl2/hl2_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/tf2/chuck/platform/platform_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/tf2/chuck/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)
CSoundEmitterSystem:  Registered 8870 sounds
CResponseSystem:  scripts/talker/response_rules.txt (1586 rules, 621 criteria, and 1488 responses)
*********Server InitSchema time = 0.906027
ProtoDefs post data loaded.
ProtoDefs loaded. 39.80 MB used
ProtoDefs post data loaded.
ProtoDefs loaded. 39.80 MB used
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/tf2/chuck/tf/replay/server/tmp/" ...no files removed.
Heap: 512.00 Mb
8 CPUs (4 physical), Frequency: 4.3 Ghz,  Features: GenuineIntel SSE SSE2 MMX RDTSC CMOV FCMOV
ProtoDefs post data loaded.
ProtoDefs post data loaded.
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
execing valve.rc
Unknown command "r_decal_cullsize"
ConVarRef dev_loadtime_map_start doesn't point to an existing ConVar
Unknown command "startupmenu"
Network: IP 192.168.0.8, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Initializing Steam libraries for secure Internet server
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: wrong ELF class: ELFCLASS32
[S_API] SteamAPI_Init(): Loaded '/home/tf2/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
CAppInfoCacheReadFromDiskThread took 0 milliseconds to initialize
Setting breakpad minidump AppID = 440
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
---- Host_NewGame ----
Spawn Server: pl_upward
TODO: Refusing to discard 0 bytes
Legacy game DLL may not support terrain vphysics collisions with this BSP!
ConVarRef room_type doesn't point to an existing ConVar
Executing dedicated server config file server.cfg
Using map cycle file 'cfg/mapcycle_default.txt'.  ('cfg/mapcycle.txt' was not found.)
Set Gravity 800.0 (0.250 tolerance)
Steamworks Stats: Requesting SERVER session id.
VSCRIPT: Started VScript virtual machine using script language 'Squirrel'
VSCRIPT: Started VScript virtual machine using script language 'Squirrel'
Script not found (scripts/vscripts/mapspawn.nut)
Script not found (scripts/vscripts/mapspawn.nut)
Loading AI graph
Step 1 loading
Checking version
Passed first ver check
Got version 37
Map version 173
Done version checks
Finishing load
Set motd from file 'cfg/motd_default.txt'.  ('cfg/motd.txt' was not found.)
Set motd_text from file 'cfg/motd_text_default.txt'.  ('cfg/motd_text.txt' was not found.)
SV_ActivateServer: setting tickrate to 66.7
Created class baseline: 31 classes, 15301 bytes.
24 player server started
Connection to game coordinator established.
Current item schema is up-to-date with version 259F69EF.
'server.cfg' not present; not executing.
'pl_upward.cfg' not present; not executing.
Server is hibernating
Connection to Steam servers successful.
   Public IP to Steam is **.**.***.*.
Assigned persistent gameserver Steam ID [G:*:********].
VAC secure mode is activated.
Steamworks Stats: Received SERVER session id: **************
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
sv_lan
"sv_lan" = "0"
 - Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )
nicheath commented 1 month ago

I am running into this exact same problem. I cannot invite anyone on my steam friends list with a right click to play on my server while I am in it. The only option is "invite to watch". I have all the respective port forwarded through my router. It has been a couple years since I've run a server but I don't remember having any difficulty like this.

kennyrkun commented 1 month ago

What is the output of sv_lan in the server console? Can you connect via your public address?

nicheath commented 1 month ago

Using default binary: ./srcds_linux64
Server will auto-restart if there is a crash.
Using shader api: shaderapiempty_srv.so
Using Breakpad minidump system. Version: 9115164 AppID: 232250
Setting breakpad minidump AppID = 232250
Using breakpad crash handler
Loaded 11596 VPK file hashes from /home/steam/data/tf/tf2_textures.vpk for pure server operation.
Loaded 11596 VPK file hashes from /home/steam/data/tf/tf2_textures.vpk for pure server operation.
Loaded 480 VPK file hashes from /home/steam/data/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 480 VPK file hashes from /home/steam/data/tf/tf2_sound_vo_english.vpk for pure server operation.
Loaded 1344 VPK file hashes from /home/steam/data/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 1344 VPK file hashes from /home/steam/data/tf/tf2_sound_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/steam/data/tf/tf2_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/steam/data/tf/tf2_misc.vpk for pure server operation.
Loaded 2878 VPK file hashes from /home/steam/data/tf/tf2_misc.vpk for pure server operation.
Loaded 1232 VPK file hashes from /home/steam/data/hl2/hl2_textures.vpk for pure server operation.
Loaded 574 VPK file hashes from /home/steam/data/hl2/hl2_sound_vo_english.vpk for pure server operation.
Loaded 383 VPK file hashes from /home/steam/data/hl2/hl2_sound_misc.vpk for pure server operation.
Loaded 450 VPK file hashes from /home/steam/data/hl2/hl2_misc.vpk for pure server operation.
Loaded 450 VPK file hashes from /home/steam/data/hl2/hl2_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/steam/data/platform/platform_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /home/steam/data/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. 39.80 MB used
ProtoDefs post data loaded.
ProtoDefs loaded. 39.80 MB used
 failed to dlopen /home/steam/data/tf/addons/metamod/bin/server.so error=/home/steam/data/tf/addons/metamod/bin/server.so: wrong ELF class: ELFCLASS32
Unable to load plugin "addons/metamod/bin/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/steam/data/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
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Unknown command "r_decal_cullsize"
--------------------------------------------------------
sv_pure set to 1.
--------------------------------------------------------
Using map cycle file 'cfg/mapcycle.txt'.
randommap: selecting map 24 out of 43
ConVarRef dev_loadtime_map_start doesn't point to an existing ConVar
maxplayers set to 24
Unknown command "startupmenu"
Network: IP 172.17.0.2, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
[META] Loaded 1 plugin.
Initializing Steam libraries for secure Internet server
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: wrong ELF class: ELFCLASS32
[S_API] SteamAPI_Init(): Loaded '/home/steam/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
IPC function call IClientUtils::GetSteamRealm took too long: 49 msec
Setting breakpad minidump AppID = 440
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
pure_server_whitelist.txt not present; pure server using only base file rules
trusted_keys.txt not present; pure server using only base trusted key list
ConVarRef room_type doesn't point to an existing ConVar
Executing dedicated server config file server.cfg
VSCRIPT: Started VScript virtual machine using script language 'Squirrel'
VSCRIPT: Started VScript virtual machine using script language 'Squirrel'
Script not found (scripts/vscripts/mapspawn.nut) 
Script not found (scripts/vscripts/mapspawn.nut) 
Set motd from file 'cfg/motd.txt'
Set motd_text from file 'cfg/motd_text_default.txt'.  ('cfg/motd_text.txt' was not found.)
SV_ActivateServer: setting tickrate to 66.7
Connection to game coordinator established.
--------------------------------------------------------
sv_pure set to 2.
Note: Waiting for the next changelevel to apply the current value.
--------------------------------------------------------
Writing cfg/banned_user.cfg.
Writing cfg/banned_ip.cfg.
Server logging enabled.
Server logging data to file logs/L0920009.log
L 09/20/2024 - 15:43:33: Log file started (file "logs/L0920009.log") (game "/home/steam/data/tf") (version "9115164")
Unknown command "mp_autoteambalance_warning_delay"
L 09/20/2024 - 15:43:33: server_cvar: "mp_stalemate_enable" "1"
L 09/20/2024 - 15:43:33: server_cvar: "mp_timelimit" "35"
L 09/20/2024 - 15:43:33: server_cvar: "decalfrequency" "30"
L 09/20/2024 - 15:43:33: server_cvar: "sv_voiceenable" "0"
'koth_undergrove_event.cfg' not present; not executing.
Server is hibernating
Connection to Steam servers successful.
   Public IP to Steam is ***.***.***.***.
Assigned persistent gameserver Steam ID [G:*:********].
VAC secure mode is activated.
L 09/20/2024 - 15:43:33: server_cvar: "sm_nextmap" "pl_badwater"
Received 7001491 bytes item schema version A6389EBC direct data; update is queued.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
sv_lan
"sv_lan" = "0"
 - Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )
status
hostname: The Hideout
version : 9115164/24 9115164 secure
udp/ip  : 172.17.0.2:27015  (public IP from Steam: ***.***.***.***)
steamid : [G:*:**********] (**********************)
account : not logged in  (No account specified)
map     : koth_undergrove_event at: 0 x, 0 y, 0 z
tags    : cp
players : 0 humans, 0 bots (24 max)
edicts  : 979 used of 2048 max
# userid name                uniqueid            connected ping loss state  adr

My sv_lan shows the same as yours as you can see in the above capture.

The server gets my correct public ip reported back to it from from Steam (i censored the ip) and I get assigned a steamid (censored). But I still can't seem to invite people or get listed in the server browser.

People can join if using the console connect command and my public ip address but the server does not show in the server browser and I cannot right click people to ask them to join via invite.