• Уважаем(ый/ая) Гость! Все скрипты, стили, дополнения и статьи старайтесь размещать в ресурсах.

Статьи Настройка server.cfg / рейты

Taulalan

Не скриптер
Администрация
Сообщения
1.121
Симпатии
137
#1
У вас есть свой сервер cs 1.6, но работает он как-то не очень. Лаги, тормоза, постоянно проседает fps. Причин таких неприятностей может быть три:
  1. Плохой хостинг либо проблемы у датацентра.
  2. Игроки с высоким пингом на сервере.
  3. Неправильно настроенный файл server.cfg.
Именно эти настройки больше всего влияют на лаги сервера!

sv_maxrate (макс. число бит, которое может быть передано сервером клиенту за одно сообщение. Не может превышать 20000. Вы можете указать любое значение, но реально выше 20000 не поднимется никогда)
sv_minrate (минимальное число бит, которое может быть передано сервером клиенту за одно сообщение)
sv_maxupdaterate (максимальное число кадров, которое может быть передано сервером клиенту. Не выше 100. Это и есть клиентский fps)
sv_minupdaterate (минимальное число кадров, которое может быть передано сервером клиенту)
sv_maxcmdrate (Максимальное количество принимаемых пакетов в секунду)
sv_mincmdrate (Максимальное количество принимаемых пакетов в секунду)
fps_max (максимальный fps сервера. При Значении 0 лучшее значение определяется автоматически)

Почему так?
  • sv_maxrate 20000 должен быть всегда. Ниже - уже плохо.
  • sv_minrate не ниже 10000. Лучше ставить 100000, так как это позволяет обойти запрет valve на максимальную длину сообщения. Но этот способ требует от клиента скорости интернета не менее 100 кб/сек.
  • sv_maxupdaterate - количество обновлений экрана, отсылаемых клиенту, фактически fps клиента. На CW нужно иметь 100, для мяса хватит 60. Многие игроки играют на мониторах с 60 fps, так зачем им отсылать лишние обновления и нагружать свой сервер?
  • sv_minupdaterate. Для CW не менее 50, для мяса хватит 30. Это разумный минимум для игры без лагов. Большие значения просто создадут лишнюю нагрузку на ваш сервер.
  • sv_maxcmdrate и sv_mincmdrate - аналогично sv_maxupdaterate и sv_minupdaterate.
  • fps_max 0 - лучше пусть сам сервер выберет для себя оптимальный фпс.
А вообще, как говориться: экспериментируйте, не ошибается тот, кто ничего не делает.
А также советую почитать и познать все термины и значения изложенные от Crock (создатель dproto):

Если смотреть на цифры, то:

20000 байт/сек — для классических серверов.
50000 байт/сек — для мяса типа ЗМ.

Можно поставить 100000 и вообще не париться насчет choke.
Про sv_minupdaterate и sv_maxupdaterate (если кто забыл — это минимальная/максимальная частота отсылки пакетов-обновлений от сервера к клиенту):

sv_minupdaterate "30-60" 30 — "разумный минимум чтобы не лагало". Больше 60 ставить не стоит, потому что некоторые играют на 60 FPS. Отсылать им лишние обновления незачем.
sv_maxupdaterate "50-101" 101 — для классических серверов, где важна стрельба. 50 — для мяса. Кстати, низкий updaterate заметно снижает нагрузку на процессор (по моим опытам, при поднятии апдейтрэйта у всех игроков с 30 до 101, загрузка ядра, на котором висел HLDS, выросла с 40% до 60%)

Лучше чтобы между значениями sv_minupdaterate и sv_maxupdaterate был интервал, чтобы дать клиенту свободу выбора. И не надо менять клиентский cl_updaterate вручную с помощью плагинов — не всем игрокам это нравится.

Мое видение "нормальных рэйтов" в конфиге (при sv_lan "0"):
В итоге:
Если у вас версия билда НИЖЕ 6ххх , и вы уверенны, что у всех ваших игроков хороший интернет:
JavaScript:
sv_minrate 100000
//sv_maxrate не имеет значения
sv_minupdaterate 20
sv_maxupdaterate 101
Если у вас версия билда НИЖЕ 6ххх , и вы НЕ уверенны, что у всех ваших игроков хороший интернет:
JavaScript:
sv_minrate 15000
sv_maxrate 25000
sv_minupdaterate 20
sv_maxupdaterate 101
Если у вас версия билда 6ххх , и вы уверенны, что у всех ваших игроков хороший интернет:
JavaScript:
sv_minrate 100000
//sv_maxrate не имеет значения
sv_minupdaterate 20
sv_maxupdaterate 102
Если у вас версия билда 6ххх , и вы НЕ уверенны, что у всех ваших игроков хороший интернет:
JavaScript:
sv_minrate 15000
sv_maxrate 100000
sv_minupdaterate 20
sv_maxupdaterate 102
sv_unlag — стоит ли поставить значение 0 для того, чтоб игнорировать команды клиентские cl_lc, cl_lw и cl_lb?
cl_lc — Компенсация лагов на стороне сервера. Данный параметр заставляет сервер принять во внимание ваш пинг и значительно оптимизировать работу, но эта опция может быть отключена на сервере (sv_unlag 0). Если это так, то cl_lc да впрочем и cl_lw игнорируются. Значение cl_lc как вы поняли нужно поставить 1.
cl_lw — Все эффекты и действия связанные с оружием просчитываются на стороне клиента. Это помогает значительно оптимизировать работу, но у вас не будет 100%-ой гарантии, что то что вы видите действительно так. Хотя сколько я играл ни разу не заметил каких либо отклонений от реально происходящего. Хотите играть без лагов ставьте значение 1.
cl_lb — Все последствия перестрелки т.е. пятна крови, дыры на стенах и т.д. просчитываются на стороне клиента. Такой же принцип оптимизации как и в предыдущих двух командах. Значение 1 для оптимизации.
 

madars1

Посетитель
Сообщения
41
Симпатии
4
#2
Мои настройки
// Set Rates
sv_maxrate "20000"
sv_maxupdaterate "101"
sv_minrate "100000"
sv_minupdaterate "66"
sys_ticrate 10000
Стрельба идеальная! Примечание - стрельба идеальная у меня, по других игроков ничего не скажу. Но все таки пропишу как в мануале! О наблюдениях и ощущениях обязательно отпишусь!
==========================
Выбрал установить вот эти значения!
sv_minrate 15000
sv_maxrate 100000
sv_minupdaterate 20
sv_maxupdaterate 102
 
Последнее редактирование:

madars1

Посетитель
Сообщения
41
Симпатии
4
#3
В общем отписываюсь как и обещал. Стрельба по крайне мере у меня в худшую сторону не изменилась. Не лагает и не глючит. Пользователи стали меньше ныть что им там что- то где то лагает! Так что ставим эти настройки! Автору за такой пост большой и жирный плюс! Полезная вещь!
 
Сверху Снизу