If you don’t like our custom in-game settings and you want to adjust config by yourself here is tutorial how to make your own config.

Config is a text file with *.cfg extension which Half-life is using for load and store all game settings. It can be found in games\half-life\valve folder (C:\Steam\SteamApps\common\Half-Life\valve for steam installation). There are three config files that Half-life loads at startup: autoexec.cfg userconfig.cfg and config.cfg. Only config.cfg is writable by the game.

So open your favorite text editor, create new file, name it like you want (for example myconfig.cfg) and save it to the valve directory. If you want to use config type exec myconfig.cfg into console to load it. To autoload it at startup add line exec myconfig.cfg into userconfig.cfg

Now the hardest part – adding commands to your fresh new config. For start you can simply copy lines from config.cfg. But I will recommend you to devide your config into sections for better orientation in file. You can use double slash to make comments in your config, Half-life then ignore whole line so you can type anything on it – //This is comment. But config layout is all up to you.

You can download my config to use it as an example (kmk.cfg).

Basic controls

These commands are for movement. For assigning some action to a key button we use command bind.

bind "key" "command"
 bind "w" "+forward"
 bind "s" "+back"
 bind "a" "+moveleft"
 bind "d" "+moveright"
 bind "ALT" "+jump"
 bind "CTRL" "+duck"
 bind "SPACE" "+use"
 bind "r" "+reload"

Other useful commands are sensitivity for setting mouse sensitivity and zoom_sensitivity_ratio for setting sensitivity on weapons with zoom (crossbow, magnum).


 sensitivity "2.2"
 zoom_sensitivity_ratio "1.3"

Weapon binds

If you want to quickly switch weapons you must assign each single key to each weapon. There is a list of weapons used in Half-life:

 weapon_crowbar           crowbar
 weapon_9mmhandgun        pistol, Glock
 weapon_357               revolver, Magnum
 weapon_9mmAR             submachine gun
 weapon_shotgun           shotgun
 weapon_crossbow          crossbow, xbow
 weapon_rpg               rocket launcher, RPG
 weapon_gauss             tau cannon, gauss
 weapon_egon              egon, gluon gun, vacuum cleaner
 weapon_hornetgun         hornet gun, bee gun
 weapon_snark             snarks, bugs
 weapon_handgrenade       grenade
 weapon_tripmine          laser mine
 weapon_satchel           satchel charge, explosives

List of additional weapons used in Opposing force:

 weapon_pipewrench        wrench
 weapon_knife             knife
 weapon_grapple           grapple
 weapon_eagle             desert eagle
 weapon_m249              machine gun, M249 SAW
 weapon_shockrifle        shock rifle
 weapon_sporelauncher     spore launcher
 weapon_displacer         displacer
 weapon_sniperrifle       sniper rifle

If you want to drop weapon in Half-Life use bind “t” “drop”.

So for example this is how it will looks like in your config:

 bind "q" "weapon_gauss"
 bind "e" "weapon_shotgun"
 bind "w" "weapon_9mmAR"
 bind "f" "weapon_crossbow"
 bind "z" "weapon_rpg"
 bind "x" "weapon_357"
 bind "MOUSE4" "weapon_crowbar"

Use keys that you want for setting up your weapon binds. At the beginnig it could be hard for you to remember all of them but after some time you will get use to it and you will switch weapons without even thinking about it.

Name of mouse buttons start from one. So it is MOUSE1, MOUSE2, MOUSE5 etc. For mouse wheel use MWHEELDOWN or MWHEELUP.


Now you can fully control Half-life, so let’s take a look at what you can see on your screen. There are many commands which can help you to make your vision better.

default_fov “111” – field of view, very useful command which allows you to change how much do you see to the sides, ideal values are between 100 and 120 (90 is default)

Porovnání default_fov

Porovnání default_fov

fps_max “101” – sets the maximum value of fps (note: if you have 100 fps you can move little faster then on other values, don’t ask me why)

r_drawviewmodel “0” – toggles weapon model off or on so that wepon doesn’t interrupt your view (you can use custom crosshairs to recognise what weapon are you holding)

name „Best HL Player“ – it’s always good to name yourself because otherwise there will be only “Players” on servers. If you use custom client.dll you can change color of your name by variable ^1 (for example name “^1Half-^5Life”)

In-game settings of brightness or gamma doesn’t work (it’s bug or something) so these commands will help you to see nicely even on dark maps. Note that values of texgamma and lightgamma must be same otherwise you will get some error due to another bug in Half-life engine.

brightness "4"
gamma "4"
texgamma "2"
lightgamma "2"

To change color of bullet trails of submachine gun add these commands. Negative value of traceroffset “-20” will allow you to see bullets earlier then they come to you so you can dodge. You can set any color you want by setting red, green or blue values.

tracerspeed "2000"
tracerlength "5"
tracerred "0"
tracergreen "2"
tracerblue "10"
traceralpha "150"
traceroffset "-20"

crosshair “1” – turns crosshair on or off
cl_showfps “1” – shows fps in upper left corner
con_color “150 250 000” – changes color of in-game text


Quite useful is stopsoundcommand. It turns of every sound that is played in game. It’s good to bind it along with viewing score. It comes handy if you recharge and you don’t want to be bothered with recharging sound.

You can adjust volume by volume “1” or mp3volume which controls volume of music.

Then we have command room_off “1” which turns off echoes on maps.


Script is a sequence of commands that are executed automaticly. You can script any event in game. Every command must be separated by semicolon ;. If commands can’t be executed at the same time you must use wait command betweend them.

Some scripts are tolerated by the Half-Life community some can be unfair to your enemies. Bunnyhop script is almost necessary, but you can bind jump on mouse wheel aswell.

  • Longjump
  • //Longjump on one key
    alias +lj "+duck;wait;+jump;+duck"
    alias -lj "-duck;wait;-jump;-duck"
    bind "e" "+lj"

  • Bunny-Hop
  • //Bunny
    alias +decentjump "+jump;wait;-jump;wait;+jump;wait;-jump;wait;+jump;wait;-jump;wait;+jump;wait;-jump"
    alias -decentjump "-jump"
    bind "MWHEELDOWN" "+decentjump"

  • Use of buttons or recharging with team message and change of FOV
  • //Recharging
    alias +hl_use "+use;default_fov 115;say_team Recharging %h/%a --> [%l]"
    alias -hl_use "-use;default_fov 105"
    bind "TAB" "+hl_use"

  • Drop of weapon:
  • bind "u" "say_team * Dropped weapon %w;drop"

  • Quick bow (fast zoom, fire and unzoom)
  • //xbow
    alias +xbow_attack1 "wait;+attack2;wait;+attack;wait;-attack;wait;-attack2"
    alias -xbow_attack1 "lastinv; weapon_crossbow"
    bind "n" "+xbow_attack1"

  • Change of greeting or other messages
  • bind "o" "pwned"
    alias pwned "pwned1"
    alias pwned1 "say SHOT;alias pwned pwned2"
    alias pwned2 "say N1;alias pwned pwned3"
    alias pwned3 "say Godlike shot;alias pwned pwned4"
    alias pwned4 "say NICE SHOT;alias pwned pwned1"

  • Cycling of weapon by one key
  • alias fuckgun "fuckgun1"
    alias fuckgun1 "weapon_handgrenade;alias fuckgun fuckgun2"
    alias fuckgun2 "weapon_snark;alias fuckgun fuckgun3"
    alias fuckgun3 "weapon_egon;alias fuckgun fuckgun1"

    Custom client.dll

    If you use custom client.dll from you have mamy other options:

    hud_draw 1 – now it can accept values from 0 to 1 (i.e. 0.5, etc), this regulates hud transparency
    hud_shownextmapinscore 1 – controls whether or not to show nextmap in scoreboard table
    hud_showsteamidinscore 1 – controls whether or not to show SteamIds in scoreboard table
    hud_nextmap 1 – enable/disable nextmap show in the hud on the map end
    hud_timer 1 – enable/disable show of timer in hud: 0 will turn timer off, 1 will show time left on current map, 2 will show time passed on current map, 3 will show your PC local time

    hud_weapon 1 – shows curently equiped gun on hud, usefull if you have hud_drawviewmodel turned off
    cl_forceemenymodels „zombie;scientist;robo“ – List of models for replacing enemy models.
    if you don’t like various custom player models that servers likes to upload you can use
    cl_forceemenymodels “zombie;scientist;robo;recon;hgrunt;helmet;gordon;gman;gina;barney”
    to force using of default model
    cl_forceteammatesmodel „gman“ – list of models for replacing teammates models
    cl_autowepswitch 1 – enable/disable automatic weapon switch to picked one if it is more powerful. Requires server-side support.

    Categories: Tutorial 0 like

    Leave a Reply