AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   General (https://forums.alliedmods.net/forumdisplay.php?f=58)
-   -   [TF2] [Solved] No Loadout on Dedicated Server (https://forums.alliedmods.net/showthread.php?t=266227)

CoolJosh3k 07-13-2015 04:10

[TF2] [Solved] No Loadout on Dedicated Server
 
NULL ISteamGameServer in ConnectClient. Steam authentication may fail.

A couple of weeks ago now, I noticed I started having this issue on my dedicated server. It is the private TF2 server I use for testing plugins and I have never had any issues in the past.

For proper (and easier) testing I need to be able to use my loadout, but due to this error I cannot.
There are plenty of resources out there on how to resolve this issue, but none of the proposed solutions work for me.

^- Deleted clientregistry.blob
^- Reinstalled absolutely everything
^- Running no mods at all (not even Metamod)
^- Registering a server identity token and account
^- Forwarding all the correct ports
^- Disabling software firewall (ZoneAlarm)
^- Fully updated server
^- Verified the issue is not the client
^- Set up a reserved static LAN IP
^- Tried running in non-lan (internet) mode
^- Specifying ip and port in command line
^- Specifying different ports
^- Tried forcing a heartbeat

I run both the server and client on separate machines, both under an official Windows 7 build. No virtual environment is being used. This is the first time I have had this issue.


=== === ===

Note:

This issue has now been resolved. The solution for those who do not wish to read all of the posts:


Make sure that your installed copy of Steam is not interfering with your Dedicated Server installation. The issue has to do with steamclient.dll being loaded from the incorrect location.

Until this can be patched, the easiest solution is to uninstall Steam. Alternatively you may wish to install your dedicated server such that it it is using steamclient.dll from the same location as your steam client.

Powerlord 07-13-2015 09:33

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Are you sure you have all ports forwarded correctly? I ask because by default, TF2 listens on port 26901 for connections from Steam.

Why 26901? Because there's a bug in older Source games that make it use the port one higher than the -sport switch, which defaults to 26900.

I can confirm that this is still the case on my Linux server:

Code:

tf2@powerlord:~$ netstat -lnp | grep srcds
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 74.91.124.178:27015    0.0.0.0:*              LISTEN      28689/srcds_linux
udp        0      0 74.91.124.178:27005    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:27015    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:27020    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:26901    0.0.0.0:*                          28689/srcds_linux

In the above, 27015 is the -port, 27005 is the -clientport, 27020 is the +tv_port, and 26901 is the -sport +1

asherkin 07-13-2015 10:09

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
If Steam is installed (it does not need to be running) on the server machine, make sure it is updated.

CoolJosh3k 07-14-2015 09:56

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by Powerlord (Post 2319190)
Are you sure you have all ports forwarded correctly? I ask because by default, TF2 listens on port 26901 for connections from Steam.

Why 26901? Because there's a bug in older Source games that make it use the port one higher than the -sport switch, which defaults to 26900.

I can confirm that this is still the case on my Linux server:

Code:

tf2@powerlord:~$ netstat -lnp | grep srcds
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 74.91.124.178:27015    0.0.0.0:*              LISTEN      28689/srcds_linux
udp        0      0 74.91.124.178:27005    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:27015    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:27020    0.0.0.0:*                          28689/srcds_linux
udp        0      0 74.91.124.178:26901    0.0.0.0:*                          28689/srcds_linux

In the above, 27015 is the -port, 27005 is the -clientport, 27020 is the +tv_port, and 26901 is the -sport +1

Thanks, I will try opening both 26900 and 26901.

Quote:

Originally Posted by asherkin (Post 2319195)
If Steam is installed (it does not need to be running) on the server machine, make sure it is updated.

Nah, I am using SteamCMD and I always run without Steam.

CoolJosh3k 07-14-2015 10:18

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Sadly, allowing those extra ports didn't help.

Code:

.Service Type . . . External Start Port . . . External End Port . . . Internal Start Port . . . Internal End Port . . . Internal IP address
TCP/UDP . . . . . . 27000 . . . . . . . . . . 27050 . . . . . . . . . 27000 . . . . . . . . . . 27050 . . . . . . . . . 192.168.0.2
TCP/UDP . . . . . . 26900 . . . . . . . . . . 26901 . . . . . . . . . 26900 . . . . . . . . . . 26901 . . . . . . . . . 192.168.0.2


As an added measure, I also rebooted the router (a Netgear Nighthawk R7000).
The only things I can think of that had changed right before this started happening, is TF2 updates and the usual Windows updates.

Potato Uno 07-14-2015 10:20

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Open ports 20000 to 30000 (not specific port numbers) and see if the problem somehow corrects itself. The port numbers srcds uses can be wonky, and this is the setup I have put in place for my MvM servers.

As a temporary test, you can use DMZ. (Although on my test server, which has no ports open to that machine, the item server connects fine...)

As for what asherkin said, if you have the steam client installed on the machine the server is on, make sure it's updated and/or enter the steam beta (this fixed a really odd bug in the past). My servers are on a machine with the steam client on it (which I leave myself logged in to catch chat messages).

Although you said you did reinstall everything, run the server validation (app_update 232250 validate) and see if it fixes anything (I'm doubtful if it will, but try it).

CoolJosh3k 07-14-2015 10:37

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Good idea about the DMZ, but sadly nothing good.
I have never actually had to forward ports for my dedicated tf2 server in the past, so I am inclined to think this is not the issue.

asherkin 07-14-2015 10:58

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
This isn't a networking problem, it's loading a bad steamclient.dll.

VoiDeD 07-14-2015 15:25

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
On top of the fact that port forwarding Steam ports is ludicrous considering that the connection to Steam is outbound, not inbound.

Powerlord 07-14-2015 18:18

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by VoiDeD (Post 2319662)
On top of the fact that port forwarding Steam ports is ludicrous considering that the connection to Steam is outbound, not inbound.

...and yet srcds still opens a listening port for it.

CoolJosh3k 07-15-2015 02:03

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
What gets me is how this suddenly started and I read no reports of anyone else recently having this happen too.
Thanks for the info about that library file, I will look into it. Perhaps it got corrupted twice or something crazy?

Potato Uno 07-15-2015 03:09

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Start over from scratch with a brand new download of steamcmd and everything. That should download the proper library files.

CoolJosh3k 07-15-2015 05:54

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
I already did that.

CoolJosh3k 07-16-2015 16:58

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Deleted steamclient.dll and used steamcmd to update and grab a new copy. Same problem still exists.
Is there a favoured alternate location to grab dedicated server files from?

Potato Uno 07-16-2015 17:03

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Try running the server on your own personal PC and see if the loadout appears.

Then zip the whole build and copy that over to the server box and try running it.

(I'm just talking out of my ass at this point.)

CoolJosh3k 07-16-2015 22:14

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Actually, I could copy over the steamclient.dll from my client. It also runs Windows at the moment.

asherkin 07-17-2015 05:06

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
I still think the problem is that Steam was installed on the machine at some point.

Potato Uno 07-17-2015 11:02

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by asherkin (Post 2320643)
I still think the problem is that Steam was installed on the machine at some point.

I'm also thinking this, especially if srcds works on his home PC and not on his server.

The last ditch resort is to reinstall the server OS and set everything up again (but only do it as a very last resort).

Actually OP.... How about you install the steam client on your server machine, log into it with your steam account, and then try loading the server? (And if that didn't work, go into the steam client beta and try again.)

VoiDeD 07-17-2015 16:43

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Or, more sanely, actually diagnose where steamclient is being loaded from with any of a million tools like procexp.

CoolJosh3k 07-18-2015 05:09

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Well I will be darned!
For some reason, it has started loading steamclient.dll from the Steam Client install, instead of the Dedicated Server install. Must have been some recent update.

I will pass this onto Eric in the TF Team, plus make a note of it on Reddit incase it helps others there.

asherkin 07-18-2015 06:04

Re: [TF2] [Solved] No Loadout on Dedicated Server
 
That is by design and has always been the case, yours just got too far out of sync - hence why I said to make sure Steam was updated if installed.

Potato Uno 07-18-2015 10:37

Re: [TF2] [Solved] No Loadout on Dedicated Server
 
That is just pure shitty design. It also bit me in the ass long time ago until SPUF was useful enough to fix it (unfortunately didn't discover Alliedmodders at the time). The fix at the time is to update the steam CLIENT into the steam beta (opt in to the beta).

But hey, glad to see the OP's problem is solved.

CoolJosh3k 07-18-2015 16:53

Re: [TF2] [Solved] No Loadout on Dedicated Server
 
Due to the version being too different?

It really should only pull from the root directory, or at the very least check there first for the file; before crawling elsewhere.

VoiDeD 07-18-2015 17:28

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by CoolJosh3k (Post 2321056)
Well I will be darned!
For some reason, it has started loading steamclient.dll from the Steam Client install, instead of the Dedicated Server install.

I don't understand why you ignored the actual solution for the entire duration of this thread:
Quote:

Originally Posted by asherkin (Post 2319195)
If Steam is installed (it does not need to be running) on the server machine, make sure it is updated.

Quote:

Originally Posted by asherkin (Post 2320643)
I still think the problem is that Steam was installed on the machine at some point.



Quote:

Originally Posted by CoolJosh3k (Post 2321056)
Must have been some recent update.

It's been this way since as far as I can remember. steam_api.dll will always attempt to load a steamclient from Steam's installation directory.

Potato Uno 07-18-2015 17:38

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by VoiDeD (Post 2321378)
I don't understand why you ignored the actual solution for the entire duration of this thread:

It's been this way since as far as I can remember. steam_api.dll will always attempt to load a steamclient from Steam's installation directory.

I think it's because since he uninstalled steam from the machine he suspected everything related to the steam client would have been completely gone. Apparently it's more like steam doesn't clean up after itself properly on uninstall.

CoolJosh3k 07-18-2015 20:18

Re: [TF2] [Unsolved] No Loadout on Dedicated Server
 
Quote:

Originally Posted by VoiDeD (Post 2321378)
I don't understand why you ignored the actual solution for the entire duration of this thread

I read the suggestion as uninstalling Steam, in the case that I had installed it inside the same location and running via Steam. I did not understand what was meant, but now that you mention it I feel rather silly.


All times are GMT -4. The time now is 15:59.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.