Whatever type of server you run you should have some pretty beefy hardware and a really good internet connection. If you are considering hosting a server on your 56K dialup, you had better password it and just let a few friends in. Otherwise your log files will be filled with complaints about lag!
Basically there are three types of servers:
When the HLDS.exe program is running it looks something like this:
The blank line at the bottom of the screen is the input area. The top line in red is the "status" area.
What is rcon exactly? Well, funny you should ask... rcon is short for Remote Console. In order to perform certain operations on a server you have to type commands at the console line. In the current version of Half_Life if a server has no rcon_password then rcon is completely disabled. So, if you do not set an rcon_password you will never be able to rcon your server!
In order to rcon the remote server, your rcon_password and the server's rcon_password must be the same. There is a way around this (you still have to know the server's rcon_password) but it is a little more complicated so let's not go there.
Every rcon command will start with the word rcon. This may seem logical and simple but I cannot count the times I have tried to kick someone off of my server and forgotten to put the word rcon at the front of the command -- D'oh!
All of the following examples assume that you are entering commands into the console of your client system; i.e. you are connected from your home machine to the server at your office.
rcon_password^booboo (Note: anytime you see a ^ in this tutorial it indicates a space.)
You will not have to enter this password again unless you disconnect from the server. This password must match the rcon password ser in the servers server.cfg file. If they do not match, you will not be able to use rcon. Be careful of punctuation! If the server's rcon_password is Booboo and you set your to booboo, rcon will not work and you will get the "bad rcon password" message.
You can save yourself a lot of typing by editing your config.cfg file and adding the line rcon_password booboo. Now when you join your server (or any server for that matter) your rcon_password will already be set. Now we can enter some rcon commands.
rcon^users
You should get a display similar to the following:
rcon^say^Hey Blackhawk, stop spamming or you will be kicked!.
The reason we want to use rcon in front of the say command is because it will look like the message is coming from the console. If we just used "say ..." the message would be preceeded by our player name.
rcon^kick^Blackhawk
*ping* He's gone. Now we have seen the handles of some of the "bad sports" out there and typing them can cause all kinds of problems, let's try it a different way. At the console enter:
rcon^kick^#^6
*ping* Same result! We use the pound sign (#) after the kick command to let the kick command know we are going to use a userid instead of a name. This is just in case there is a player out there with a number for a name.
rcon^banid^30^13989
Now we know that 13989 is [OGzr]Viaga's uniqueid, the 30 in the middle is the amount of time in minutes for which we want him banned. If we had used 0 (zero) he would be permanently banned from the server! Even after a reboot! This is a pretty serious step and it should only be done by the real server admin, but use your best judgment. There is a way to unban users but I am not going to cover that here.
rcon^banid^60^13989^kick
*ping* Kicked and banned for 60 minutes all in one fail swoop!
*We see that jojo is killing his own teammates, spamming, cursing, being a jerk, etc...*
at the console:
rcon say Hey Jojo, please do not kill teammates!
*jojo continues to be a pest*
say Jojo, If you do not play right you will be kicked and banned for 60 minutes.
*jojo ignores our request or responds with some profanity*
rcon say Say bye bye Jojo
rcon^banid^60^12345^kick
Jojo is gone and will not be back for an hour.
rcon^changelevel^2fort
Notice that we do not enter the .bsp extention! Yes, there is a command called "map" that is used in the server's autoexec.cfg. The map copmmand can be used to load up a different map but the problem is that it will kick all the players from the server before it loads the map... Not very friendly. Stick with the changelevel command.
There is also a command called changelevel2 which is supposed to load a new map and leave all the players on the same teams. Almost everytime I have used this command it has kicked all the players and crashed the server. But feel free to give it a try; the syntax for changeleve2 is the same as changelevel.
rcon^maps^*
You will get a display similar to the following:
...not very useful is it? We can only see the maps include in the TFC PAK file and a few from the Death-Match directory. Let's try a search string instead. At the console prompt enter:
rcon^maps^2
You will get a display similar to the following:
Now that's a little better. We can see all the maps that start with the number 2. As you can see you will need to look around a bit but if you know which map you are looking for, just type in the name or just the beginning of the name name... Simple as that. For those of you running Counter-Strike you can search by entering any of the following commands:
rcon^maps^cs_ To see Hostage Rescue maps
rcon^maps^de_ To see Bomb Defussion maps
rcon^maps^as_ To see Assassination maps
rcon^maps^es_ To see Escape maps
The wildcard * may not be used as part of the search string. Entering rcon^maps^*es_ would show all maps.
For all the information on server commands go to Command Central!
Questions or comments? Send e-mail to Coder