Counter strike source оптимизация рейтов

Обновлено: 05.07.2024

Каждый игрок КСС хоть раз, но сталкивался с серьезными лагами, когда буквально ничего на сервере сделать нельзя, начиная от передвижения, заканчивая закупом. Как правило, все винят в этом именно сервер, хотя проблема кроется и на стороне игрока. Заключается она в отсутствии оптимальных настроек, которые нужны для комфортной игры на большинстве серверов.

Также лагает КСС часто и из-за того что соединение забито различными загрузками. Стоит отключить антивирус, обновления программ, торрент-клиент и все остальное, что может иметь доступ в сеть. Иногда это может решить проблему лагов.

Рекомендуемые рейты

Данные переменные необходимо поместить в конфиг игрового режима или в server.cfg

Рейты для сервера с 64 тикрейтом

Рейты для сервера с 128 тикрейтом

Команды для настройки рейтов

Всего есть 4 основные команды, которые можно использовать при настройке рейтов. Назначение главной из них, а именно rate, уже всем ясно, а вот с остальными необходимо небольшое пояснение:

Интересная деталь — чтобы игра корректно работала, обе последние команды должны иметь одинаковые значения, в противном случае возможны рассинхроны, когда можно сделать выстрел по противнику, но информация об этом не обрабатывается вовремя и он уходит впустую. А вот враг способен воспользоваться тем, что у него действия обрабатываются раньше, чтобы просто поставить хедшот. Вот почему не стоит экспериментировать с этими командами, можно просто нечаянно испортить себе как игру, так и настроение.

Пользуйтесь файлом autoexec.cfg в КСС, что даст Вам большие преимущества, одним из которых является лучшее значение FPS, если Вы знаете правильные консольные команды.

Вот список команд и их настроек для максимального FPS.

Предупреждение: Изображение может быть не очень красивое, но дает большой прирост FPS.

cl_c4dynamiclight 0
cl_phys_props_enable 0 (Default 1) Отключает все маленькие банки и мусор
cl_phys_props_max 0 (Default 300) Устанавливает расстояние, на котором становится виден мусор
cl_ragdoll_physics_enable 0
cl_ragdoll_collide 0
fog_enable 0 (Default 1) Удаляет туман, улучшает fps и видимость
fog_enable_water_fog 0 (Default 1) Удаляет туман в воде
fps_max xx (Устанавливает частоту обновления монитора. Обычные значения для XX следующие: 60, 70, 75, 85, 100)
mat_antialias 0
mat_bumpmap 0
mp_decals 0 (Default 300)
mat_dxlevel xx [50/60/70/80/81/90/95]
mat_fastspecular 1
mat_forceaniso 0
mat_forcemanagedtextureintohardware 1
mat_hdr_enabled 0
mat_hdr_level 0
mat_mipmaptextures 1
mat_specular 0
mat_picmip 4 [0/1/2/3/4] (0 – наилучшее качество текстур, 4 - наихудшее
mat_trilinear 0
muzzleflash_light 0 (Default 1) Отключает вспышки выстрелов других игроков, поэтому лучше оставить 1
r_decals 0
r_eyegloss 0
r_eyemove 0
r_rainradius 0
r_shadows 0
r_teeth 0
r_waterforceexpensive 0
Параметры командной строки

Для установки параметров запуска игры (параметров командной строки) на платформе STEAM Вы должны сделать следующее -

1. Кликнуть правой кнопкой мыши на иконке STEAM в системном трее.
2. Выбрать GAMES
3. Кликнуть правой кнокой на выбранной игре (Counter-Strike: Source)
4. Выбрать PROPERTIES
5. Кликнуть на кнопке 'Set Launch Options' .

Появится окно, которое будет выглядеть как это

Теперь можете вводить настойки запуска -

* = Рекомендации в случае, если игра падает

1. -autoconfig* - Восстанавливает настройки видео и производительности по умолчанию для обнаруженного оборудования. Игнорирует настройки, содержащиеся в любом .cfg файле до тех пор, пока этот параметр не будет удален.
2. -dev – Включает режим разработчика (developer mode).
3. -condebug – Записывает все события в консоли в текстовый файл console.log .
4. -console – Начинает игру с включенной консолью ( developer console)
5. -toconsole – Начинает игру прямо в консоли, если не определена карта командой +map.
6. -dxlevel * - Принудительно включает определенную версию DirectX при запуске движка. Это полезно, когда Ваша карта способна потянуть DirectX 9 , но работает значительно быстрее при использовании DirectX 8 (например, NVidia GeForce FX 5200). Умножайте желаемую версию DirectX на 10, т.е. для DirectX 8.0 вы должны использовать параметр -dxlevel 80.
7. -32bit – Принудительно заставляет движок стартовать в режиме 32-bit. Полезна только на операционных системах 64-bit .
8. -fullscreen – Принудительно запускает движок в полноэкранном режиме.
9. -windowed* или -sw - Принудительно запускает движок в режиме «окно».
10. -w [width] - Принудительно запускает движок с разрешением по ширине [width].
11. -h [height] - Принудительно запускает движок с разрешением по высоте [height].
12. -refresh (rate) - Принудительно устанавливает определенную частоту обновления экрана монитора (refresh rate).
13. -heapsize (kilobytes)* - Определяет объем памяти в килобайтах (heapsize in kilobytes), используемый игрой.
14. -nocrashdialog – Подавляет некоторые неисправленные ошибки, связанные с 'memory could not be read'.
15. -novid или -novideo – При загрузке игры с этим параметром вводный видеоролик Valve не проигрывается.
16. -nosound* - Принудительно запрещает определенной ире использовать звуковую карту.
17. -nosync – Принудительно запрещает определенной игре использовать VSync.
18. -low – Принудительно запускает игру с низким уровнем приоритета соответствующего процесса. (LOW process priority).
19. -high - Принудительно запускает игру с высоким уровнем приоритета соответствующего процесса (HIGH process priority).

Можно использовать команды -dxlevel, -w, -h и -heapsize .

-console -heapsize 524288 -dxlevel 81 -refresh 75 -window -w 1024

Console – для ее включения при запуске игры.

Heapsize – чтобы разрешить игре CS Source использовать больше памяти RAM (Устанавливайте только в половину значения Вашей физической памяти (physical RAM), установка на уровне выше половины может стать причиной некорректной работы)
Вы можете определить точное число, которое Вам нужно, используя специальный калькулятор пересчета (Conversion Calculator) и расчитывая количество мегабайтов , которые у Вас есть в RAM , деля полученное количество на два и затем, используя полученное число в мегабайтах в калькуляторе используете полученный итог в килобайтах как Ваш heapsize.
Пример: Если у Вас 1024Mb физической RAM, делите его на два (512), вставляете его в мегабайтах в калькулятор и затем используете только число в килобайтах, которое получается я в итоге, как Ваш heapsize (524288 kilobytes)
-heapsize 131072 если у Вас 256Mb RAM
-heapsize 262144 если у Вас 512Mb RAM
-heapsize 393216 если у Вас 768Mb RAM
-heapsize 524288 если у Вас 1Gb RAM

Dxlevel - для определения версии Direct X , используемой CS Source.
Значения включают: 50, 60, 70, 80, 81, 90 и 95.
Если у Вас есть проблема с тем, что у Вас не сохраняются видео настройки, Вы либо можете использовать консольную переменную mat_savechanges или просто удалите команду Dxlevel после хотя бы одного запуска CSS с этим параметром.
Вы можете также определить параметры -w и -h в опциях запуска так , чтобы команда DXLevel не установила Ваше разрешение по умолчанию.

Refresh – чтобы установить частоту обновления, используемую монитором в игре. Я считаю, это более удобным, чем использовать принудительную команду.

Window – потому что не люблю играть в полноэкранном режиме.
Играя в окне (window) можно потерять небольшое количество FPS при видео тесте (visual stress test), но лучше в случае, если у Вас игра падает, тогда Вы можете легко вернуться на Ваш рабочий стол.

W – идет в сочетании с параметром Dxlevel , т.к. когда Вы устанавливаете уровень Direct X через командную строку, он пытается вернуть движок Source обратно к разрешению 800x600, тогда как параметр -w 1024 заставляет игру использовать разрешение 1024x768.

Если Вы хотите использовать больше команд для улучшения FPS, то почитайте инструкции по созданию файла Autoexec.
Я также хочу заметить, что если у Вас есть проблемы с CSS, такие как использование неподдерживаемого разрешения/частоты обновления или если Вы хотите, чтобы игра не падала (если у Вас есть такая проблема), тогда Вы можете применить следующую утилиту для правки реестра (registry tweak).

Эта программа перепишет Ваши текущие настройки в опциях запуска следующими:

-console -window -dxlevel 80 -autoconfig -nosound -w 800 -refresh 60 -nosync

При каждом тике, сервер обрабатывает информацию игроков, физические передвижения, обновления состояния объектов и так далее. После моделирования тика сервер решает, нуждается ли какой-либо игрок в обновлении игрового состояния, и при необходимости получает снимок текущего состояния. Более высокий тикрейт повышает точность моделирования, но также требует большей мощности процессора и доступной пропускной способности как на сервере, так и на клиенте. Соответственно, чем выше тикрейт, (а максимальный тикрейт в CS:GO это 128) тем чаще сервер обрабатывает информацию и тем лучше сказывается на игровом процессе, в том числе и стрельбе. Максимальной тикрейт в CS:GO это 128, но так как он требуемый к ресурсами, наиболее распространенный 64 тикрейт, который в частности используется на серверах матчмейкинга.


Зачем нужен высокий тикрейт?

Наверняка Вы встречались с такой ситуацией на матчмейкинге или на другом сервере с tickrate 64, когда Вы стреляете в противника, видите попадания, следы крови, но при этом сервер не засчитывает урон, причина в том, что ваша игра отправляет данные на сервер для обработки, но сервер сопоставив их с данными других игроков не засчитывает попадания. Кровь Вы видите лишь потому что, за отображение крови и попаданий отвечает игра, но не сервер. Вы видите, что попали в цель, игра отображает кровь, посылает информацию на сервер для проверки. Если сервер считает, что вы промахнулись, урон противнику не засчитывается. Высокий TickRate позволяет избежать таких ситуаций и как правило более корректно обрабатывает все данные.

Тариф с оплатой за слоты
Вы выбираете тикрейт ещё в момент покупки, но если Вы захотите сменить тикрейт, то это можно сделать лишь путем смены тарифа.

Тариф PRO
Сменить тикрейт Вы можете в панели управления, раздел "Настройки".

Игровой VDS
Тикрейт устанавливается атрибутом в параметрах запуска сервера: -tickrate <значение>

Что такое рейт (rate)?

Рейт - устанавливает максимальный размер байт в секунду передаваемой информации между игроком и сервером. Стандартное значение rate у игроков составляет 196608 (rate 196608), что в переводе означает 1.57 Мбит/сек.

Скорость интернета переведенная в рейты
0.5 Мбит/сек rate 62500
1.0 Мбит/сек rate 125000
1.5 Мбит/сек rate 187500
1.57 Мбит/сек rate 196608 (Стандартное значение)
2.0 Мбит/сек rate 250000
2.5 Мбит/сек rate 312500
3.0 Мбит/сек rate 375000
3.5 Мбит/сек rate 437500
4.0 Мбит/сек rate 500000
4.5 Мбит/сек rate 562500
5.0 Мбит/сек rate 625000
5.5 Мбит/сек rate 687500
6.0 Мбит/сек rate 750000
6.2 Мбит/сек rate 786432 (Максимальное значение)

Как выставлять рейт?

Необходимые Вам рейт на сервере выставляются с помощью двух переменных:

Прописывать эти переменные можете как в конфиге игрового режима, так и в server.cfg. Как правило, этих переменных нет по-умолчанию в стандартных конфигах, Вам необходимо их добавить вручную.


Прописываем минимальные и максимальные значения rate в server.cfg

Какие значения sv_minrate и sv_maxrate рекомендуется выставить?

Не старайтесь ограничить игроков выставив sv_minrate выше стандартного значения, Вы никак не улучшите им игру, а некоторым игрокам можете лишь её усугубить, ведь не у всех качественный интернет и высокая скорость, по этому рекомендуемые значения не отличаются от стандартных.

CmdRate

Что такое CmdRate

Cmdrate - отвечает за максимальное число командных пакетов отправляемых игроком на сервере за секунду. В игре за это отвечает переменная cl_cmdrate.

Как выставить cmdrate на сервере

Вам необходимо ограничить игрокам минимальное допустимое значение cmdrate для комфортной игры в соответствии с тикрейтом вашего сервера. Предположим, что у Вас сервер на 128 тикрейте, следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную:

Помимо этой переменной существует ещё и sv_maxcmdrate, но необходимости её прописывать нет, так как она автоматически унаследует значение вашего тикрейта.


Прописываем минимальное значение cmdrate в server.cfg

Какое значение sv_mincmdrate рекомендуется выставить?

Необходимо всегда выставлять значение переменной sv_mincmdrate равно значению тикрейта вашего сервера. То есть если сервер на 64 тикрейте, то прописывать нужно:

Если сервер на 128 тикрейте, то нужно:

UpdateRate

Что такое UpdateRate

UpdateRate - отвечает за количество пакетов получаемых с сервера за секунду. В игре за это отвечает переменная cl_updaterate.

Как выставить UpdateRate на сервере

Аналогично как и с CmdRate, необходимо ограничить игрокам минимальное значение для комфортной в соответсвии с тикрейтом. Следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную значением которой будет тикрейт сервера, к примеру у нас будет он 128:

Помимо этого есть переменная и sv_maxupdaterate, необходимость в которой отсутствует, так как она автоматически унаследует значение тикрейта сервера.

Какое рекомендуемое значение sv_minupdaterate нужно выставить?

Значение переменной должно быть равно тикрейту сервера. Если 64 тикрейт, то:

Если же 128 тикрейт, следовательно:


Прописываем минимальное значение updaterate в server.cfg

Диагностика проблем и их решение

Слишком большой choke на сервере

Зайдите в игру, присоединитесь к своему серверу, откройте консоль игры и введите net_graph 3. Данная опция позволит Вам смотреть показатели, которые помогут обнаружить наличие проблемы с рейтами. Самая распространенная проблема вызвана неправильными рейтами это choke (потеря пакентов), если значение превышает 10% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.


Даже если Вы в server.cfg прописали правильные рейты, Вы не можете быть уверенны, что какой-то мод или плагин не заменил их на свои, как правило бывает, что мод добавляет свои конфиги в которых прописаны устаревшие и неправильные рейты (зачастую бывает в WarMod). Или же когда Вы используете какую-то устаревшую сборку сервера с своими конфигами. Для просмотра текущих рейтов на сервере, нужно в консоли сервера поочередно ввести переменные без значений:

В результате Вам отобразятся значения данных переменных которые на сервере в текущий момент, если они будут отличаться от тех, которые прописывали Вы, значит в каком-то конфигурационном файле указанные другие рейты.

Используемые термины

    Lag (лаг) — это слово используется в отношении тех, кто имеет проблемы с соединением, т. е. они «лагают».

Решение проблемы лагов

Данная инструкция поможет избавиться от большей части лагов в КСС.

Первое, что нужно сделать — настроить рейты. На каждом сервере этот параметр придется настраивать заново, причина тому — тикрейт.

Сам по себе, рейт (rate) — это количество байтов, которые может получить клиент в текущий отрезок времени.

Чтобы изменить свои рейты, надо ввести в консоль следующую команду, например: cl_cmdrate 30.

  • cl_updaterate — определяет, сколько раз в секунду клиент будет отправлять запрос на сервер о позициях игроков, стандартное значение 20;
  • cl_cmdrate — определяет, сколько раз в секунду клиент будет отправлять информацию о позициях игроков.

На серверах, где есть постоянное возрождение игроков, choke всегда будет намного выше, поскольку у таких серверов нагрузка намного выше из-за большего количества обрабатываемой информации.

Что такое rate? Это обозначение для единицы информации (байт), которая передается от сервера клиенту. Скорость передачи сильно зависит от мощности интернета, поэтому этот параметр необходимо правильно подстроить под себя, чтобы минимизировать возможные лаги на серверах.

Именно скорость подключения оказывает прямое влияние на количество информации, которая единовременно может быть передана серверу. Из-за этого не стоит выставлять высокие рейты при медленном интернете, это только повысит пинг и увеличит вероятность словить очень неприятные тормоза на большинстве серверов. Так какие рейты ставить в КС 1.6?

Если Вы не хотите или не умеете настраивать рейты в КС 1.6, то проще всего — это скачать оптимизированную КС 1.6 с нашего сайта с уже настроенными рейтами для профессиональной игры. Рейты в этой CS 1.6 настроены профессионалами и играть будет работать без каких-либо лагов и c высоким FPS.

Читайте также: