1. Настройка компьютера под XP
I) Удалим prefetch. Ну, вкратце, это такая папка, где собираются файлики с расширением .pf, которые "ускоряют загрузку некоторых программ". На самом деле всё не так, я не думаю, что вы каждый день пользуетесь nero, adobe reader и тд тп одновременно. Поэтому они скорее загружают систему, чем ускоряют загрузку. Итак:
1) Создадим текстовый документ с именем, например, delprefetch
2) Открываем его и пишем del C:\Windows\Prefetch\*.* /Q
3) Далее меняем разрешение txt на bat ( то есть был файл delprefetch.txt, а стал delprefetch.bat )
4) Запускаем этот файл, перезагружаем комп.

Примечание. У кого не отображаются расширения:
пуск=> панель управления=> свойства папки
там перейдите на вкладку вид
Ищите пункт: Скрывать расширения для зарегистрированных типов файлов. Убрать галку с этого пункта.

II) Немного покопаемся в реестре:
1) Пуск=>Выполнить=>regedit=>OK
2) Найдите ключ ClearPageFileAtShutdown в ветви [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control\SessionManager\Memory Management]. Он позволяет удалять файл подкачки при выходе из Windows. Его активация приведет к большим задержкам при перезагрузке, поэтому желательно оставить его значение равным 0.
3) Ключ DisablePagingExecutive запрещает записывать в файл подкачки коды (драйверы, exe-файлы), всегда оставляя их в физической памяти. Если этой памяти больше 256 Мб, то установка значения в 1 может существенно ускорить работу системы.
4) Ключ LargeSystemCache определяет режим работы системного КЭШа, советую ставить 1.
5) Перезагружаем комп.

2.Видеокарта. FPS
FPS - количество кадров в секунду. Чем оно выше, тем точнее вы будете видеть то, что происходит в игре. Максимальным числом fps для комфортной игры в cs является 100. Чтобы добиться максимума fps для своего PC, нужно не только настроить cs, но и видеокарту. В видеокарте нужно отключить вертикальный синхроимпульс ( он же вертикальная синхронизация, он же vsynс). Во-первых, рекомендуется скачать последние драйвера для вашей видеокарты, лучше с сайта производителя. Например для NVIDIA это _http://nvidia.ru, для радиона _http://amd.com/ru

Как отключить вертикальную синхронизацию.
Для nvidia:

1. Войдите в панель управления nvidia ( правой кнопкой по рабочему столу ).
2. Убедитесь, что у вас стоит расширенный вид ( вкладка Вид, выбираем Расширенный ).
3. Слева видим "Параметры 3D", а в ней "Регулировка настроек изображения с просмотром". Ставим галочку на "Расширенные настройки 3D-изображений", жмём "Перейти"
4. Отключаем вертикальный синхроимпульс.

Для radeon:
1. Заходит в центр управления ati. ( правой кнопкой по рабочему столу ).
2. Слева видим "3D", а в ней жмём на "Все настройки"
3. У вертикальной синхронизации убираем галку с "Использовать настройки приложения" и двигаем ползунок в крайнее левое положение.
Примечание к пункту 3: В некоторых драйверах на радеон, во всех настройках найти "Ждать вертикального обновления", перенести ползунок в крайнее левое положение ( на производительность ). Таким образом вы отключите вертикальную синхронизацию.

Теперь в cs пишем:
fps_max 101 максимальное число fps
cl_showfps 1 отображать количество fps.

3. Монитор
Герц это единица вертикальной развертки у монитора. Вообще в наше время существует огромное количество мониторов, но их всё же можно разделить на 2 основных вида: ЭЛТ и ЖК. ЭЛТ-монитор это монитор с дисплеем на основе электронно-лучевой трубки. ЖК монитор - монитор с жидкокристаллическим дисплеем.

Частота вертикальной развертки монитора означает, сколько раз обновляется экран с изображением в секунду. В случае с дисплеем на основе электронно-лучевой трубки, сколько бы кадров в секунду не позволял "выжать" из игры графический ускоритель, частота развертки физически не может быть выше установленной. В жидкокристаллических мониторах не существует физического обновления всего экрана: здесь отдельные пиксели могут светиться или не светиться. Однако сама технология передачи данных через видеоинтерфейс предусматривает, что на монитор от видеокарты передаются кадры с определенной скоростью. Поэтому, с долей условности, понятие "развертки" применимо и к ЖК-дисплеем. К тому же чем больше герцовка, тем меньше напрягаются глаза.

Для того, чтобы выставить герцовку в игре, нужно дописать в объекте ярлыка freq X где X, значение герцовки.
Например: С:\cs\hl.exe -freq 85
Примечание: Если cs у вас переходит в оконный режим, значит вы выставили слишком большое значение герцовки для данного разрешения.
Примечание 2: Если у вас стим, то зайдите в закладку мои игры, нажмите на контру правой кнопкой мыши, зайдите в свойства. Зайдите там в "Устаноить параметры запуска" и пишите сразу парметры, например, -freq 85

4.Акселлерация

Что такое акселерация, как её отключить?
Акселерация - это изменению чувствительности мыши в зависимости от скорости её перемещения.
Объясню подробнее, чтобы мне было меньше вопросов в аську. В ОС Windows XP есть такая фича: Если вы перемещаете мышь быстрее, то курсор на рабочем столе преодолеет расстояние на рабочем столе больше, нежели если бы вы двигали мышь медленно. Простой пример: Поставьте мышь на край ковра и двиньте мышь быстро до середины. Запомните сколько прошёл курсор на рабочем столе. Теперь проделайте тоже самое, но двигайте мышь медленно... Вы увидите, что расстояние, которое прошёл курсор отличаются.
При отключенной акселерации вы обращаетесь с мышью по факту, то есть сколько провёл по ковру, столько и прошёл курсор, не зависимо от скорости передвижения мыши. Так что при отключенной акселе, вы более точно контролируете мышь, тем самым увеличивая КПД вашей игры.
Для того чтобы отключить акселерацию только в игре, нужно дописать в объекте ярлыка -noforcemaccel -noforcemparms
Пример: С:\cs\hl.exe -game cstrike -noforcemaccel -noforcemparms, а так же убрать галку с "Включить повышенную точность установки указателя" (пуск=>панель управления=>мышь=>параметры указателя).

-noforcemaccel означает использование в игре параметров акселерации мыши, идентичных тем, которые существуют в самой операционной системе
-noforcemparms означает использование в игре тех же настроек кнопок мыши, что и в Windows.
Для того чтобы отключить акселерацию вообще, можно воспользоваться специальным reg файлом (Только для XP), называется cplmousefix(прикрепил ниже)

5.Пинг против лагов
Я опишу правила, которыми я пользуюсь для подбора значений рейтов.
Пример:
1) Мой провайдер даёт мне скорость в 1 мегабит в секунду. Переведём их в байты в секунду.
1024 / 8 = 128 килобайт в секунду.
2) Максимальный предел значения команды rate равняется 25000. Просчитаем на какой скорости мы можем играть на максимуме. Для этого переведём значение рейтов, который измеряется в байтах в секунду в килобайты в секунду.
25000 / 1024 = 24.4 килобайт в секунду
Вывод: Я могу играть с максимальным значением рейтов в 25000, так как 24.4 в несколько раз меньше 128.
Конечно не забываем что 128 кб/c это идеальная скорость... конечно же на практике она немного меньше, даже при условии что компьютер полностью пассивен в инете, то есть проще говоря мы не скачиваем никакого трафика.
3) Разработчики из Valve утверждают, что значение cl_rate слудует устанавливать по умолчанию, то есть 9999 (оно и является максимумом). Но вы можете сделать такие же вычисления как я привёл выше, и подобрать под себя, хотя значения 9999 обычно более чем достаточно.
4) Перейдём к команде cl_updaterate. Эта команда, как я написал выше, выставляет число пакетов которые приходят от сервера, ясно что чем больше пакетов, тем точнее у нас будет строиться картинка. Но тут есть одно замечание. Если разница rate и cl_updaterate будет не соответствовать правилу ( я приведу ниже ), то все значения сводятся к минимуму, то есть не будет у нас соответствующего результата. И так как нам рассчитать.
Например ставим максимальное значение cl_updaterate 100 (вообще то 101 но так считать легче ) и значение rate 25000, тогда каждый пакет может содержать максимум информации на 25000 / 100 = 250 байт. Ребятами из Valve было подсчитано, что если вас в игре происходит множество действий ( дым, гранаты, пули, много игроков ), то пакет с информации может достигать 170-175 байт. А в идеале у нас пакетик 250 байт, то есть вмещает, но это ж в идеале. Используя эти данные, для комфортной игры наши значения rate при cl_updaterate 100 должны быть не меньше 17500. Но это при хорошем канале без перебоев.
5) Что касается команды cl_cmdrate. Эта команда посылает пакеты с информацией от вас к серверу. Так же как и с cl_updaterate значение cl_cmdrate нужно выставлять как можно выше. Чем больше пакетов вы пошлёте, тем точнее сервер будет знать где вы находитесь и куда летят ваши патроны. Высчитать значение можно точно так же как и у cl_updaterate.
Если cl_cmdrate равен максимальному значению100 (101) и значение cl_rate 9999, то каждое обновление может максимум содержать 9999 / 100 = 99,99 байт. Этого значения более чем достаточно, так как информации на сервер посылается намного меньше чем от сервера.

Приведу пример расчёта рейтов для скорости 128 kb/s:
Сразу хочу сказать то, что я забыл. Вообще скорость интернета делится на Download (то что вы скачиваете с интернета ) и Upload ( то что вы отдаёте в интернет). Соотношения Download/Upload могут быть разными: 1/1, 2/1, 3/1, 4/1 и тд. Это соотношение можно посмотреть с помощью любого сайта по проверке скорости Интернета, я, например, пользуюсь сайтом speedtest.net. Значения команд rate и cl_updaterate мы считаем по скорости Download, а значения команд cl_rate и cl_cmdrate по скорости Upload.
Итак, рассмотрим пример для расчёта рейтов со скоростью Download равной 128 kb/s, а Upload равной 64 kb/s (то есть соотношение 2/1).
I) Подберём значение команды rate:
1) Переведём нашу скорость интернета Download в килобайты в секунду ( так как первоначально скорость измеряется в килобитах в секунду ). Просто разделим нашу скорость на 8 (так как в одном байте восемь бит).
128 / 8 = 16 килобайт в секунду.
2) Составим уравнение для нахождения максимального значения рейтов для нашей скорости
X / 1024 = 16 где X искомое значение рейтов
X = 16 * 1024 = 16384 округлим до 16000
II) Подберём значение команды cl_rate:
1) 64 / 8 = 8 килобайт в секунду
2) X = 8 * 1024 = 8192 округлим до 8000
III) Подберём значение команды cl_updaterate:
16000 / 175 = 91, 4 округлим до 90
IV) Подберём значение команды cl_cmdrate:
8000/ 100 = 80
Итак, для идеальной скорости 128 kb/s с соотношение download/upload равной 2/1 соответствуют следующие значения рейтов:
rate 16000
cl_rate 8000
cl_updaterate 90
cl_cmdrate 80
ВНИМАНИЕ! Эти значения для ИДЕАЛЬНОЙ скорости без потерь, на практике же используйте немного меньшие значения, и если choke и loss будет не 0, то постепенно уменьшайте их.

6. Интерполяция
Вообще интерполяция (из математики)- это восстановление точки функции в какой то неизвестной точке ( промежуточной точке ) по известным значениям соседних точек. Примерно то же самое происходит и в контре. Команда ex_interp компенсирует не точность перемещения игрока, точнее то время, которое уходит на передачу пакетов между клиентом и сервером. На рисунке который представил многоуважаемый 6yk (в теме смотрите выше), расположены 3 прямоугольника жёлтого, красного и синего цвета. При учёте, что игрок не стоит на месте а движется (от жёлтого прямоугольника в сторону синего), игрок видит энеми в жёлтом прямоугольнике, когда как игрок уже находится в синем. Поэтому если задать коэффициент интерполяции 0.05 (ex_interp 0.05), то мы будем видеть игрока в красном прямоугольнике. То есть с помощью коэффициента интерполяции наш компьютер рассчитывает координаты игрока где он ДОЛЖЕН быть. С этим разобрались.
Конечно же, есть формулы для расчёта интерполяции. К слову минимальное значение интерполяции 0.009.
Формулы для расчёта интерполяции для Лана и Онлайн разные.
1) LAN:
Если ланом является идеальная сеть то формула расчёта для интерполяции будет равна 1/cl_updaterate. То есть 1/100 = 0.01
2) Online:
Для начала пропингуем сервер. Зайдём пуск=>выполнить=>cmd=>OK. Появится досовское окно. Пишем туда ping IP где IP - айпи сервера без порта. ( например ping ***.***.**.*** ). Смотрим среднее время приёма-передачи ( в миллисекундах ).
Формула для расчёта интерполяции равна 1/(ex_interp - половину пинга).(формула под вопросом)
Но это всё формулы, вообще общие значения Lan = 0.01, Online = 0.1, но это крайние точки... то есть предельные, за которые не стоит выходить.
Теперь стоит пояснить, что будет если ex_interp поставлен не верно:
1)Если интерполяция выставлена больше чем нужно. Допустим игрок забежал за стенку, пробыл там меньше секунды, после чего резко выбежал на вас, тогда вы увидите одновременно как вышел игрок и как вы умерли, от его пули + ваш спрей будет просчитан не верно. Именно из за этого многие про ставят 0.01, мотивируя это тем, что лучше увидеть позже, зато спрей будет просчитан точнее.
2)Этот пункт следует из второго: чем выше интерполяция, тем сложнее просчёт для компа, из за этого картинка будет как бы подёргиваться.
3)Если вы занизите интерполяцию, то противник увидит вас немного раньше чем вы его.

Так же интерполяция может зависеть от настроек сервера.
Помните, что пинг у вас может быть не постоянным, поэтому рассчитывайте интерполяцию по наибольшему пингу, так как лучше она будет меньше чем больше + попробуйте для начала значения 0.01 и 0.1 и определитесь в какую сторону вам идти: прибавляя к 0.01 или вычитая от 0.1

7. Параметры запуска
ВНИМАНИЕ! ПЕРЕД КАЖДЫМ ПАРАМЕТРОМ СТАВИТСЯ ПРОБЕЛ!
Теперь немного подробнее о тех параметрах, которые я знаю ( и которые смог найти вообще ):

Быстродействие:

-dxlevel 7 - убиваем все функции графики выше DirectX 7 (Именно эта директория использовалась при создании игры)
-nojoy - отключаем джойстик
-noipx - отключаем протокол IPX Для тех сетей которые используют протокол TCP/IP
-noip - отключаем протокол TCP/IP Для тех сетей которые используют протокол IPX
Примечание: Если вы не знаете на каком протоколе построена ваша сеть, то просто не пишите параметры протокола, так как кс сама определяет их, просто если они прописаны в ярлыке, кс проще работать, так как она не запаривается функцией определения протокола.

Графика:

-d3d запуск игры в режиме Direct3D, при условии, что поддерживается видеокартой
-soft запуск игры в режиме Software
-gl - запуск игры в режиме OpenGL, при условии, что поддерживается видеокартой
-gldrv - выбираем драйвер для OpenGL (например, -gldrv 3dfxgl.dll)
-window запуск игры в оконном режиме
-full запуск игры в полноэкранном режиме
-w X ширина экрана, вместо X значение ширины (например -w 800)
-h X высота экрана, вместо X значение высоты (например -h 600)
Примечание: Стандартные значения можно вводить лишь одной командой -w X, например параметр -w 640 установит автоматически разрешение 640x480. Соответственно:
640 (640x480)
720 (720x576)
800 (800x600)
1024 (1024x768 )
1152 (1152x864)
1280 (1280x1024)
1600 (1600x1200)
-freq X - частота обновления монитора в герцах (например -freq 100)
Примечание: Если вы не правильно выставили количество герц, то игра либо перейдёт в оконный режим, либо монитор просто отключится.
-16bbp - глубина цвета 16 бит (запрещённая команда!)
-32bbp - глубина цвета 32 бит

Консоль:

-console - консоль, вызываемая тильдой, активна сразу при запуске игры.
-toconsole - вместо меню будет появляться консоль.
+exec X.cfg - автоматически загружается конфигурационный файл, где X имя файла (например exec config.cfg)

Управление памятью:

-zone X - количество памяти выделяемое под скрипты и алиасы, сюда же входит буфер setinfo используются значении 256, 512, 768 1024. Очень полезно если появляются ошибки overflow.
-heapsize X - pазмеp pезеpвиpyемой для Half-Life памяти в килобайтах(!!!). Например heapsize 64000.
-particles - используется для отладки карт. Это количество частиц, для которых будет выделено дополнительное место в буфере.
-dev включает команду developer (запрещённая команда!).
-safe - запускает игру в безопасном режиме.

Управление мышью:

-noforcemparms - использует настройки кнопок мыши из Windows.
-noforcemaccel - использует настройки акселерации мыши из Windows.
-noforcemspd - использует настройки скорости мыши из Windows.

Прочее:

-numericping - цифоровое отображение пинга до серверов.
-gamegauge demo.dem - запускает демку с именем demo.dem для измерения FPS на протяжении всей демки. По окончанию результаты будут в файле fps.txt
-wavonly отключает всевозможные навороты звуковых карт (А3D, EAX и т.д.), то есть проигрываеться только wav.
-game - запуск модов с исполняемого файла HL (например -game cstrike).
+connect - IPORT - коннект сразу к серверу. (например +connect 212.220.123.17:2701

Steam:

-applaunch X параметр, выполняет такую же функцию как и game, отвечает за ту игру которую надо запустить, где X код игры:
5 - Выделенный сервер
10 - Counter-Strike (папка cstrike)
20 - Team Fortress (папка tfc)
30 - Day of Defeat (папка dod)
40 - Deathmatch Classic (папка dmc)
50 - Opposing Force (папка gearbox)
60 - Ricochet (папка ricochet)
70 - Half-Life (папка valve)
80 - Condition Zero (папка czero)
100 - Condition Zero Deleted Scenes (папка czeror)
Примечание: Параметр используется, если вы запускаете игру через Steam.exe. Коды всех игр, установленных у вас, прописаны в файле Steam/SteamApps/platform.gcf/Steam/games/ClientGameInfo.vdf
-silent - steam запустится без дополнительных диалогов о том, что он куда-то коннектится.