I decided I would try to figure out why I couldn't send any rcon commands to a server Im running here on my lan to test with, and here is what I found out. This is a Linux server btw, so I don't know if its the same for the windows people.
By default the linux dedicated server starts up setting its network ip to localhost (127.0.0.1) and opens 4 ports, 1 TCP (used for rcon) the rest UDP, at least thats with sv_lan set to 1. Now, the TCP port bounded to the address 127.0.0.1, meaning only clients connected to the host from the host itself could actually connect to that port at all. the ONLY way I have been able to fix this is by adding +ip 0.0.0.0 to the command line, as adding it to the config did NOT work.
The reason why is because the server (at least in the case of the linux DS) binds to its ports BEFORE reading the server config, and hence before it can read the ip from it. By passing it at the command, it knows before it actually binds itself, and can connect to the ip specified for each port (it affects all of them).
The other (UDP) ports are set to 0.0.0.0 by default if you were wondering.
In the case of multihoming, you would need to change 0.0.0.0 to whatever IP your supposed to use for the specific server.
I haven't tested turnning off sv_lan yet, but Im guessing its the same way.
BTW 0.0.0.0 = any host, basicly its equivilant to * (match any), which when making a listening socket, means make the socket on all address assigned to your machine. For any one who didn't know.
By default the linux dedicated server starts up setting its network ip to localhost (127.0.0.1) and opens 4 ports, 1 TCP (used for rcon) the rest UDP, at least thats with sv_lan set to 1. Now, the TCP port bounded to the address 127.0.0.1, meaning only clients connected to the host from the host itself could actually connect to that port at all. the ONLY way I have been able to fix this is by adding +ip 0.0.0.0 to the command line, as adding it to the config did NOT work.
The reason why is because the server (at least in the case of the linux DS) binds to its ports BEFORE reading the server config, and hence before it can read the ip from it. By passing it at the command, it knows before it actually binds itself, and can connect to the ip specified for each port (it affects all of them).
The other (UDP) ports are set to 0.0.0.0 by default if you were wondering.
In the case of multihoming, you would need to change 0.0.0.0 to whatever IP your supposed to use for the specific server.
I haven't tested turnning off sv_lan yet, but Im guessing its the same way.
BTW 0.0.0.0 = any host, basicly its equivilant to * (match any), which when making a listening socket, means make the socket on all address assigned to your machine. For any one who didn't know.