Source Dedicated Server
The Source Dedicated Server or SRCDS is a tool that runs the server component of a Source game without the client component. In other words, it simulates the game without drawing it. SRCDS is chiefly used by server providers who want to serve up as many games from the same computer as they can.
This page, however, is aimed at mod developers who want to run SRCDS on their home computer. Doing this is a must if you are creating a multiplayer mod as the behaviour of dedicated servers differs from that of listenservers (those started from the main menu) in some areas. Crashes that only happen on a dedicated server are entirely possible!
Connectivity
No matter which type of server you are using, your computer must be able to receive unsolicited incoming connections. This is exactly what routers and software firewalls exist to prevent, so if you are using either you will have to reconfigure. Refer to the manufacturer instructions for how to do this.
The ports SRCDS officially requires are:
SRCDS has also been spotted opening connections on 27005 and 51840 UDP, but these may be outbound only.

Udp.Port == 27015
) and watch for requests coming in from random people around the world. Note that the heartbeats you will see being sent to the two master servers do not mean that the connection is open.
Setting up


Administering a dedicated server is exactly the same as administering a listenserver. Setting it up is quite different however.
- Install the HLDSUpdateTool (or SteamCMD, for newer games such as CS:GO).
- If using HLDSUpdateTool, run the update tool with
-command update -game orangebox
. Optionally, add-dir <path>
to download to a custom location. Optionally, first runforce_install_dir <path>
to download to a custom location. - If using SteamCMD, start SteamCMD and execute
app_update <app_id>
.
- If using HLDSUpdateTool, run the update tool with
- To start the server, run
orangebox\srcds.exe -console -game <vproject>
.
Video Tutorial for setup on Windows

- You will need to extract sounds, materials and models; do the "source X" GCFs before the "source 2007 X" ones.
- You should end up with
<server_path>\hl2
from your GCFs and<server_path>\orangebox
from the update tool. - You may want to run the update tool again after extracting to make sure that everything is correct.

<server dir>\tf\
. Don't copy your custom content over to fix this: instead, create a symbolic link. [todo tested in ?]
+map my_map
.