The console mode is more complex than GUI, but it's also more flexible. Most of this flexibility is described by parameters.
Parameters are commands that initially tell a program what to do. In our case, the parameters will tell HLDS how to start, what map to put, specify the player limit and the server's name. As you may have realized, these are CVARs which need to be initially imput before HLDS can start.
Because we specify everything in the command line, HLDS won't bring up any dialog and everything will be done automatically. This is great because we could now run it as a startup program or even a service! Enough talking, let's see how to use parameters.
Where to input parameters?
Now, on with the available parameters. Here is a list of accepted parameters in HLDS:
Finnaly, here's an example of what the target line would be for most servers. Simply change the required information to yours and use it on your server!
C:\HLServer\hlds.exe -console -game cstrike +port 27015 +hostname "DaBomb Crib" +map de_dust +maxplayers 15 -autoupdate
Now, you can follow to the next sub-section called "Run as Service" to know how you can run HLDS as a service and increase it's stability and performance.