SRCDS Steam group


Multiple SRCDS Instances don't list on Steam's Server Browser
#1
We are experiencing an issue where if we run multiple SRCDS instances on the same server, on the same sunbnet, bounded to specific IP addresses, they will not appear in the server browser.
(This bug doesn't appear when using a Windows server, Linux only.)


Environment:
------------
OpenSuse 13.1 x64 (Kernal: 3.11.6-4-default)
We have 3 IP addresses assigned to one server using the same broadcast address: 10.0.0.255

Startup Scripting:
-----------------
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.21 -port 27015 +exec server.cfg
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.22 -port 27015 +exec server.cfg
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.23 -port 27015 +exec server.cfg

The servers run and startup correctly - no errors. I am able to connect to all of them using the console; however, they are not present when using the Steam server browser.

If I run each server inside a separate virtual machine, like XEN or VMWARE, this problem goes away. I am able to run each server on the same subnet and broadcast networks and they will appear in the server browser. However, this is additional overhead and I would like to find a solution to this since Windows servers can bind game servers to an IP address and have their broadcast appear in Steam.


Additional Notes:
----------------
This problem doesn't occur on Windows servers. Using a slightly modified startup script, I am able to view all those servers above from the server browser. All the IP addresses are added to the windows servers using the same subnet broadcast network.

Why don't you just change the ports?
Changing the port is what we've been doing for sometime; however, we are limited to only 5 SRCDS per server as the broadcast port cannot be used or pasted (port 27020).
Reply
#2
So you haven't done

./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.21 -port 27015 +exec server.cfg
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.21 -port 27016 +exec server.cfg
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.21 -port 27017 +exec server.cfg

or are you claiming that doesn't work?

Use one ip, but different ports.
Reply
#3
Thanks for the reply,
What you have suggested does work correctly and the servers appear as expected in Steam's server browser. This is how I get around the issue at the moment and it works well. The problem I have with this is you are only allowed to run a maximum of 5 SRCDS instances per server with ports
27015, 27016, 27017, 27018, and 27019. After the 27019 port (or +5 ports from the starting range), SRCDS will no longer be able to create servers due to port conflicts.

I am able to create a windows server, assign 5+ ip addresses to that box, all on the same subnet, and perform the commands I listed above and they show up correctly in Steam's server browser.
On my Linux server, when performing the same task of assigning IP addresses to the OS, and then declaring the IP argument in the command line, they no longer appear in Steam's server browser.

Why is this a problem?
I operate video game servers for a local LAN I operate and we run 12+ TF2 and Counter strike tournament servers. This requires me to run a minimum of 3 servers to host all these games. If I use a windows servers, I can run all 12 from one machine. I prefer Linux as my host OS as it performs much better and doesn't require licensing.
Reply
#4
If it is a local lan, why not just forget the ips altogether? use the lan ip (192.168.0.1 for example) and then make your servers, then use another lan ip to make the others.
Reply
#5
I don't think I follow entirely, so I apologize if my response doesn't answer your statement.
Steam's server browser works by looking at broadcast traffic on the subnet. Assuming my network was 192.168.0.1/24 then my broadcast address is 192.168.0.255. If I use another subnet IP (192.168.1.1/24 for example), then I will no longer be able to view the servers in Steam's server browser.
Reply
#6
the first three numbers are unchangeable but the last number goes, obviously, up to 255. all 256 of those ips can usually be buddied up with a computer. each ip has a port. so with 256 computers you could have 5 servers each. If you want your os, you'll need multiple comps from what your own commands show.
Reply
#7
I am experiencing exactly the same issue on a Centos box. Multiple IP addresses and same port obviously causes some confusion to srcds.

And finally discovered that problem is the "+ip" parameter. "linux srcds" do not process "+ip" parameter at the early stages of the startup. So it searches for open ports only. So if 27015 is allocated, it starts second instance on 27016, third instance on 27017 and so goes on. But at the end of the initialization, "linux srcds" sets the IP adresses. So basically you will end up having three servers running at:

10.0.0.21:27015
10.0.0.22:27016
10.0.0.23:27017

But be aware, although servers are set at "10.0.0.21:27015", "10.0.0.22:27016", "10.0.0.23:27017" you should see that "0.0.0.0:27015", "0.0.0.0:27016", "0.0.0.0:27017" adresses are also occupied.("netstat -anutp" and "ps aux" commands are your friend Smile )

But I discovered some interesting workarounds...

METHOD 1: use "-ip" instead of "+ip" . On my centos box it works.

METHOD 2 : create an "autoexec.cfg" file and put a "ip 10.0.0.21" parameter line in it. Adjust all cfg's accordingly. If present, "autoexec.cfg" will be automatically excuted. And also "server.cfg" is automatically executed by "srcds"... So, while "autoexec.cfg" is present, one should use command lines WITHOUT "exec server.cfg" parameter.

./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.21 -port 27015
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.22 -port 27015
./srcdds_run -console -game cstrike +map de_dust +maxplayers 10 +ip 10.0.0.23 -port 27015

PS: I do not use local IP addresses, my box have 5 public IP addresses.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)