Примеры говно-статеек из рунета
https://www.counter-strike.kz/stati/34-nastroyka-strelby-dlya-cs-16.html
https://c-s16.ru/publ-cs16/67-nastraivaem-konfig-na-idealnuyu-strelbu.html
http://forum.navi.gg/counter-strike_nastroyki_tehpomosch_i_utility/nastroika_strelby-osnovnye_nastroiki_i_nastroiki_strelby_po_se/
Разбор такой "статьи":
По порядку
(далее все относится к Steam версии CS, другие варианты я не рассматриваю):
Далее идет разбор описания (в ковычках цитаты) некоторых настроек с некого тематического форума с моими коментариями ниже
"fps_max - ставим "101", как максимально возможное значение FPS."
Да ну? Макс. возможное? А если выставить fps_override 1? Это не "макс-но возможное", а ограничение, и нужно оно для того что, физика в GoldScr(гуглим) частично зависит от FPS (нужен пруф будет, скину). Ранее был баг, и для нормального подсчета требовалось ставить 99,5, но после обновления 15.02.2013 пруф все встало на свои места.
"cl_cmdrate - это скорость отправки пакетов в секунду от вашего клиента к серверу за 1 секунду. Настройка может принимать значение от 10 до 101. При хорошем интернет соединении рекомендуется выставлять максимальное значение "101".
Не совсем верное определение. И что значит: "скорость отправки пакетов в секунду от вашего клиента к серверу за 1 секунду.". Набор слов. Это не скорость (хотя можно притянуть, но зачем?), это макс-ое кол-во пакетов(данных), которое клиент отправляет на сервер за 1сек. Минимального (да есть ограничение 10, но оно условно), как и максимального значения тут нет. Это значение зависит от вашего показателя FPS (стабильного, без просадок). При ровных 100FPS, зачастую (это не правило!!!) ставиться значение равное: FPS+5(10), НО это подбирается !!!индивидуально!!!, ориентируясь на net_graph и других нюансов. Дефолт повышен до 60 пруф было 30. такие значении нужны были для игры по модему (молодежь идет гуглить Dial-Up).
"cl_cmdbackup - если происходит потеря пакетов (нестабильное соединение), то нам нужно повторно отправить команды от клиента и именно эта настройка отвечает за то количество команд, которое она постоянно сохраняет. Для более плавной и комфортной игры рекомендуется установить значение "4"."
Опять не совсем верно. значением этого квара, является кол-во пакетов с данными о вашем перемещении, которые отправляются в следом после cmdrate, на случай потерь при передаче, некий "backup" (эта часть верная). На ваш комфорт она не особо влияет, но при плохой связи, при больших потерях данных, квар необходим, при стабильном, хорошем интернете можно поставить 2, чтобы чуть-чуть освободить канал. Если есть лаги, "телепорты" или фризы то можно поставить 8 или 10 но не всегда помогает ибо причин "лагов" масса.
"cl_rate - количество байтов в секунду, которое клиент передает на сервер (значение от 1000 до 20000). Рекомендуется устанавливать значение "20000"."
Квар удален 13.02.2013 пруф
Сюда же добавлю (в статье не увидела), значение rate увеличено до 100000(б/с), было 30000. При хорошем инете ставится 100000. Зависит от вашего интернета, но зачастую, нынче у всех уже далеко за 1мб/с.
"cl_corpsestay — команда по идее, отвечает за время исчезновения трупов модели, но ходит слух, это не совсем так. Команда - очень сильно влияет на стрельбу, если вы играете на AWP и пистолетах, надо ставить значение 0, если на автоматах - 600 (дефолтная стрельба, но это лучшее значение), значение 200-300 - сбалансированное распределение между пистолетами и автоматами."
Значением квара является время в секундах исчезновения "трупов" с земли. Ни на какую "стрельбу" она никогда не влияла, не влияет и не будет влиять. Она может повлиять на фпс, на подтормаживания на слабом компе. Но никак не на "стрельбу". Кто-то пошутил когда в далекие 2000е, сейчас как правда воспринимается. Я никого не переубеждаю, пусть ставят свои упоротые значения, и наслаждаются плацебо. Но я бы не стала множить бредятину и часть про "слух" я бы убрал.
"cl_vsmoothing - как и команда cl_corpsestay, отвечает за стрельбу. Значение "0.5" — сбалансированное, значение "0.35" — для автоматов, значение "0.75" — для пистолетов."
Очередной бред. Хоть бы слово "smoothing" удосужились перевести... И почему в эту ахинею не добавили квары: cl_smoothtime, cl_nosmooth, cl_smoothtime? Ведь похожи? Это квары сглаживания движения (интерполяция), когда происходят ошибки "прогнозирования движения" зачастую случается при потерях пакетов или не идеальности GoldScr. Т.е. при отсутствии небольшой части данных о перемещении объекта, что бы не было "телепортов" или отрывистых движений и тд. Но в некоторых случаях это приводит в заблуждение о реальной позиции движущегося предмета/тела.
"ex_interp - самая важная команда, отвечающая за скорость появления моделей и текстур, при значении 0.01 дает возможность увидеть игрока на 1 сек раньше, чем при значении 0.1. Для слабых компьютеров ставьте 0.05, для мощных - 0.015."
Тут вовсе все вывернули и переиначили. Эта переменная времени интерполяции между каждым последующим обновлением cl_updaterate. cl_updaterate ограничен сейчас значением 102, и по аналогии с сl_cmdrate, cl_updaterate - это кол-во пакетов в сек., но только от сервера к клиенту. cl_updaterate выставляется таким образом, чтоб, при стабильном значении фпс, значения Loss и choke были 0. допускается редкая просадка 1-2. В идеале, они должны всегда принимать значение 0. Loss проваливается - "проблемы у нас, комп не успевает". Choke - проблемы на сервере, не успевает отправлять или считать или же в канале(интернете) который забит каким либо говном, будь то торрент, обновление винды и прочая ерунда… А также не забываем про latency (да-да именно latency(задержка)) - везде в CS'е, а не Ping, которого как такового, в CS нет). Подробнее читаем:
http://ping-test.ru/ping
http://ping-test.ru/latency
(тут разбор неточностей поста заканчивается, далее пояснения. Немного все сумбурно, но как могу)
И вот такого гoвна на территории рунета порядка 80-90%...
Про пинг...
Ниже ping'а задержку (latency) в кс сделать нельзя, ping не уменьшается и не увеличивается в кс командами, задержку(latency) еще можно чуть-чуть корректировать. Проверка Рing'a выполняется из командной строки "ping хост/ипсервера" в моем случае ип сервера кс 46.174.52.27. Вот тут ping. Далее делаем трассировку "tracert хост/ипсервера" если значения не сильно отличаются от пинга, то поздравляю, скорей всего получится уменьшить задержку до минимума., если же где то в трассировке появились цифры примерно равные тем (например пинг стабильно 4мс, а в трассировке появляются 40-50мс), что пишутся в счете в кс (там даже написано latency xD) то увы либо меняйте провайдера или же ищите серверы до которых трассировка будет с мин значениями).
Возвращаемся к интерполяции
Вернемся к ex_interp. Это ооооочень огромная, по сути, тема, которая затрагивает много всего. Я ниже оставлю ссылки (я очень много времени на это убила, чтоб хотя бы найти что-то), интересно? Читайте, а по факту: "интерполяция = 1/updaterate". Есть мнение, на GitHub'е что правильней все же будет 2/updaterate, потому что интерполируются 2 кадра, а не 1. НО! Из-за неполноценности GoldScr, бывают накладки, поэтому введена переменная 0, с каким-то обновлением CS в 2013, которая выставляет интерполяцию автоматически. Значение 0 настоятельно рекомендуется для всех. Хотите, экспериментируйте со значением...Но это баловство и время в пустую. И запомните, что великая догма "lan — 0.01 / inet — 0.1", была актуальной в 2000-2004 годах, и то не факт что она была верной.
Polling rate
Что есть polling rate (частота опроса мыши/любого порта) - если у вас простая (или типа "игровая!") мышь, прокол в том что USB порт опрашивается ввсего лишь 125 раз в сек (125гц), ровно как и если у вас мышь воткнуьа в порт PS/2.
Теория: любая мышь (не важно, PS/2 или USB) опрашиваетсся портом в 125 раз в секунду, т.е. 8мс каждые 1000мс (125/1с). Если вернуться к истокам, то "условно", можно понимать что у проца есть 7мс чтоб посчитать кадр, а так же, движение в нем+все задержки в кадре. Но, при условии, что у нас кадры не зацыклены на проц-ом времени, мы можем выжимать из это профит.
Какой?
Чем "быстрее" наш манипулятор (в нашем случае мышь), точнее считвывается, тем точнее мы целимся. А именно если мышь опрашивается на частоте 1000гц, то получаем опрос каждую 1мс, вместо 8мс. Кажется что разница в 7мс несущественна, но на мониторах с высокой частотой будет разница ощутима.
Human input lag
Интересная тема, которая по сути является наша реакция. Интересная статья на эту тему Тут
Что удивляет, что скорость реакции человека, быстрее на слух, чем на свет, хотя казалось бы...
А какой у вас Human input lag?
Ссылки полезные и не очень:
http://hs-play.net/2014/01/25/lagi-ne-ne-slyshal.html
https://steamcommunity.com/app/10/allnews/ - релиз-лист
http://txdv.github.io/cstrike-cvarlist/ - кварлист
https://developer.valvesoftware.com/wiki/Command_Line_Options#Goldsource_Games - список параметров запуска
https://www.blurbusters.com/network-lag/ - очень хорошая статья относительно сетевых задержек и типов серверов и как оно работает
https://steamcommunity.com/profiles/76561198047892692/myworkshopfiles/?section=guides - цикл статей с разбором физики от Кролика
https://web.archive.org/web/2008062...et:80/~k25125/SteamyThings/NetGraph_Steam.htm
https://habr.com/ru/post/247235/ - интерполяция
https://github.com/ValveSoftware/halflife/issues/395
https://github.com/ValveSoftware/halflife/issues/101
http://www.aghl.ru/wiki/index.php?title=Заглавная_страница
https://github.com/ValveSoftware/halflife/issues
http://aghl.ru/wiki/index.php?title=Зависимость_физики_в_HL_от_FPS
https://wiki.alliedmods.net/CS_Weapons_Information
http://hs-play.net/2014/01/25/lagi-ne-ne-slyshal.html
https://steamcommunity.com/sharedfiles/filedetails/?id=1553347993
https://steamcommunity.com/sharedfiles/filedetails/?id=579748850
https://steamcommunity.com/sharedfiles/filedetails/?id=133065359
https://dev-cs.ru/threads/2262/page-2#post-29950
https://dev-cs.ru/threads/2262/page-4#post-38427
https://dev-cs.ru/threads/2262/page-8#post-57310
http://www.fortress-forever.com/fpsreport/
https://dev-cs.ru/threads/6041/
https://ru.wikipedia.org/wiki/GoldSrc
https://kz-rush.ru/ru/article/kreedz-physics
Что хотелось бы дополнить:
0. Вступление с пояснением основных моментов почему, для чего и для кого
1. Немножко про клиенты, игроков, "мифы и реальность".
2. Пример и разбор одной из тысячи статей (как выше но внести правки)
3. Подробнее про основные заблуждения, "рейты" и другие "основные" квары
4. Разбор части "клиент-сервер" пинг, лаг и прч аспекты касающееся "общения" клиента с сервером
5. Разбор основных параметров запуска, какие актуальны какие не очень, каких нет и тд
6. Разбор некоторых параметров запуска стима и в целом про стим.
7. Некоторые важные аспекты в настройке винды и железок под адекватную произ-ть
8. НЕ коротко (а может и коротко) про фпс.
9. Коротко про частоту вертикальной развертки, всинха. Способы повышения частоты, для чего это нужно.
10. Чуть чуть про мышь, polling rate и несоклько др моментов.
11. "Human input lag"
12. .... (разобрать некоторые моменты из части "Стрельба", некоторые моменты особенности движка)
https://www.counter-strike.kz/stati/34-nastroyka-strelby-dlya-cs-16.html
https://c-s16.ru/publ-cs16/67-nastraivaem-konfig-na-idealnuyu-strelbu.html
http://forum.navi.gg/counter-strike_nastroyki_tehpomosch_i_utility/nastroika_strelby-osnovnye_nastroiki_i_nastroiki_strelby_po_se/
Разбор такой "статьи":
По порядку
(далее все относится к Steam версии CS, другие варианты я не рассматриваю):
Далее идет разбор описания (в ковычках цитаты) некоторых настроек с некого тематического форума с моими коментариями ниже
"fps_max - ставим "101", как максимально возможное значение FPS."
Да ну? Макс. возможное? А если выставить fps_override 1? Это не "макс-но возможное", а ограничение, и нужно оно для того что, физика в GoldScr(гуглим) частично зависит от FPS (нужен пруф будет, скину). Ранее был баг, и для нормального подсчета требовалось ставить 99,5, но после обновления 15.02.2013 пруф все встало на свои места.
"cl_cmdrate - это скорость отправки пакетов в секунду от вашего клиента к серверу за 1 секунду. Настройка может принимать значение от 10 до 101. При хорошем интернет соединении рекомендуется выставлять максимальное значение "101".
Не совсем верное определение. И что значит: "скорость отправки пакетов в секунду от вашего клиента к серверу за 1 секунду.". Набор слов. Это не скорость (хотя можно притянуть, но зачем?), это макс-ое кол-во пакетов(данных), которое клиент отправляет на сервер за 1сек. Минимального (да есть ограничение 10, но оно условно), как и максимального значения тут нет. Это значение зависит от вашего показателя FPS (стабильного, без просадок). При ровных 100FPS, зачастую (это не правило!!!) ставиться значение равное: FPS+5(10), НО это подбирается !!!индивидуально!!!, ориентируясь на net_graph и других нюансов. Дефолт повышен до 60 пруф было 30. такие значении нужны были для игры по модему (молодежь идет гуглить Dial-Up).
"cl_cmdbackup - если происходит потеря пакетов (нестабильное соединение), то нам нужно повторно отправить команды от клиента и именно эта настройка отвечает за то количество команд, которое она постоянно сохраняет. Для более плавной и комфортной игры рекомендуется установить значение "4"."
Опять не совсем верно. значением этого квара, является кол-во пакетов с данными о вашем перемещении, которые отправляются в следом после cmdrate, на случай потерь при передаче, некий "backup" (эта часть верная). На ваш комфорт она не особо влияет, но при плохой связи, при больших потерях данных, квар необходим, при стабильном, хорошем интернете можно поставить 2, чтобы чуть-чуть освободить канал. Если есть лаги, "телепорты" или фризы то можно поставить 8 или 10 но не всегда помогает ибо причин "лагов" масса.
"cl_rate - количество байтов в секунду, которое клиент передает на сервер (значение от 1000 до 20000). Рекомендуется устанавливать значение "20000"."
Квар удален 13.02.2013 пруф
Сюда же добавлю (в статье не увидела), значение rate увеличено до 100000(б/с), было 30000. При хорошем инете ставится 100000. Зависит от вашего интернета, но зачастую, нынче у всех уже далеко за 1мб/с.
"cl_corpsestay — команда по идее, отвечает за время исчезновения трупов модели, но ходит слух, это не совсем так. Команда - очень сильно влияет на стрельбу, если вы играете на AWP и пистолетах, надо ставить значение 0, если на автоматах - 600 (дефолтная стрельба, но это лучшее значение), значение 200-300 - сбалансированное распределение между пистолетами и автоматами."
Значением квара является время в секундах исчезновения "трупов" с земли. Ни на какую "стрельбу" она никогда не влияла, не влияет и не будет влиять. Она может повлиять на фпс, на подтормаживания на слабом компе. Но никак не на "стрельбу". Кто-то пошутил когда в далекие 2000е, сейчас как правда воспринимается. Я никого не переубеждаю, пусть ставят свои упоротые значения, и наслаждаются плацебо. Но я бы не стала множить бредятину и часть про "слух" я бы убрал.
"cl_vsmoothing - как и команда cl_corpsestay, отвечает за стрельбу. Значение "0.5" — сбалансированное, значение "0.35" — для автоматов, значение "0.75" — для пистолетов."
Очередной бред. Хоть бы слово "smoothing" удосужились перевести... И почему в эту ахинею не добавили квары: cl_smoothtime, cl_nosmooth, cl_smoothtime? Ведь похожи? Это квары сглаживания движения (интерполяция), когда происходят ошибки "прогнозирования движения" зачастую случается при потерях пакетов или не идеальности GoldScr. Т.е. при отсутствии небольшой части данных о перемещении объекта, что бы не было "телепортов" или отрывистых движений и тд. Но в некоторых случаях это приводит в заблуждение о реальной позиции движущегося предмета/тела.
"ex_interp - самая важная команда, отвечающая за скорость появления моделей и текстур, при значении 0.01 дает возможность увидеть игрока на 1 сек раньше, чем при значении 0.1. Для слабых компьютеров ставьте 0.05, для мощных - 0.015."
Тут вовсе все вывернули и переиначили. Эта переменная времени интерполяции между каждым последующим обновлением cl_updaterate. cl_updaterate ограничен сейчас значением 102, и по аналогии с сl_cmdrate, cl_updaterate - это кол-во пакетов в сек., но только от сервера к клиенту. cl_updaterate выставляется таким образом, чтоб, при стабильном значении фпс, значения Loss и choke были 0. допускается редкая просадка 1-2. В идеале, они должны всегда принимать значение 0. Loss проваливается - "проблемы у нас, комп не успевает". Choke - проблемы на сервере, не успевает отправлять или считать или же в канале(интернете) который забит каким либо говном, будь то торрент, обновление винды и прочая ерунда… А также не забываем про latency (да-да именно latency(задержка)) - везде в CS'е, а не Ping, которого как такового, в CS нет). Подробнее читаем:
http://ping-test.ru/ping
http://ping-test.ru/latency
(тут разбор неточностей поста заканчивается, далее пояснения. Немного все сумбурно, но как могу)
И вот такого гoвна на территории рунета порядка 80-90%...
Про пинг...
Ниже ping'а задержку (latency) в кс сделать нельзя, ping не уменьшается и не увеличивается в кс командами, задержку(latency) еще можно чуть-чуть корректировать. Проверка Рing'a выполняется из командной строки "ping хост/ипсервера" в моем случае ип сервера кс 46.174.52.27. Вот тут ping. Далее делаем трассировку "tracert хост/ипсервера" если значения не сильно отличаются от пинга, то поздравляю, скорей всего получится уменьшить задержку до минимума., если же где то в трассировке появились цифры примерно равные тем (например пинг стабильно 4мс, а в трассировке появляются 40-50мс), что пишутся в счете в кс (там даже написано latency xD) то увы либо меняйте провайдера или же ищите серверы до которых трассировка будет с мин значениями).
Возвращаемся к интерполяции
Вернемся к ex_interp. Это ооооочень огромная, по сути, тема, которая затрагивает много всего. Я ниже оставлю ссылки (я очень много времени на это убила, чтоб хотя бы найти что-то), интересно? Читайте, а по факту: "интерполяция = 1/updaterate". Есть мнение, на GitHub'е что правильней все же будет 2/updaterate, потому что интерполируются 2 кадра, а не 1. НО! Из-за неполноценности GoldScr, бывают накладки, поэтому введена переменная 0, с каким-то обновлением CS в 2013, которая выставляет интерполяцию автоматически. Значение 0 настоятельно рекомендуется для всех. Хотите, экспериментируйте со значением...Но это баловство и время в пустую. И запомните, что великая догма "lan — 0.01 / inet — 0.1", была актуальной в 2000-2004 годах, и то не факт что она была верной.
Polling rate
Что есть polling rate (частота опроса мыши/любого порта) - если у вас простая (или типа "игровая!") мышь, прокол в том что USB порт опрашивается ввсего лишь 125 раз в сек (125гц), ровно как и если у вас мышь воткнуьа в порт PS/2.
Теория: любая мышь (не важно, PS/2 или USB) опрашиваетсся портом в 125 раз в секунду, т.е. 8мс каждые 1000мс (125/1с). Если вернуться к истокам, то "условно", можно понимать что у проца есть 7мс чтоб посчитать кадр, а так же, движение в нем+все задержки в кадре. Но, при условии, что у нас кадры не зацыклены на проц-ом времени, мы можем выжимать из это профит.
Какой?
Чем "быстрее" наш манипулятор (в нашем случае мышь), точнее считвывается, тем точнее мы целимся. А именно если мышь опрашивается на частоте 1000гц, то получаем опрос каждую 1мс, вместо 8мс. Кажется что разница в 7мс несущественна, но на мониторах с высокой частотой будет разница ощутима.
Human input lag
Интересная тема, которая по сути является наша реакция. Интересная статья на эту тему Тут
Что удивляет, что скорость реакции человека, быстрее на слух, чем на свет, хотя казалось бы...
А какой у вас Human input lag?
Ссылки полезные и не очень:
http://hs-play.net/2014/01/25/lagi-ne-ne-slyshal.html
https://steamcommunity.com/app/10/allnews/ - релиз-лист
http://txdv.github.io/cstrike-cvarlist/ - кварлист
https://developer.valvesoftware.com/wiki/Command_Line_Options#Goldsource_Games - список параметров запуска
https://www.blurbusters.com/network-lag/ - очень хорошая статья относительно сетевых задержек и типов серверов и как оно работает
https://steamcommunity.com/profiles/76561198047892692/myworkshopfiles/?section=guides - цикл статей с разбором физики от Кролика
https://web.archive.org/web/2008062...et:80/~k25125/SteamyThings/NetGraph_Steam.htm
https://habr.com/ru/post/247235/ - интерполяция
https://github.com/ValveSoftware/halflife/issues/395
https://github.com/ValveSoftware/halflife/issues/101
http://www.aghl.ru/wiki/index.php?title=Заглавная_страница
https://github.com/ValveSoftware/halflife/issues
http://aghl.ru/wiki/index.php?title=Зависимость_физики_в_HL_от_FPS
https://wiki.alliedmods.net/CS_Weapons_Information
http://hs-play.net/2014/01/25/lagi-ne-ne-slyshal.html
https://steamcommunity.com/sharedfiles/filedetails/?id=1553347993
https://steamcommunity.com/sharedfiles/filedetails/?id=579748850
https://steamcommunity.com/sharedfiles/filedetails/?id=133065359
https://dev-cs.ru/threads/2262/page-2#post-29950
https://dev-cs.ru/threads/2262/page-4#post-38427
https://dev-cs.ru/threads/2262/page-8#post-57310
http://www.fortress-forever.com/fpsreport/
https://dev-cs.ru/threads/6041/
https://ru.wikipedia.org/wiki/GoldSrc
https://kz-rush.ru/ru/article/kreedz-physics
Что хотелось бы дополнить:
0. Вступление с пояснением основных моментов почему, для чего и для кого
1. Немножко про клиенты, игроков, "мифы и реальность".
2. Пример и разбор одной из тысячи статей (как выше но внести правки)
3. Подробнее про основные заблуждения, "рейты" и другие "основные" квары
4. Разбор части "клиент-сервер" пинг, лаг и прч аспекты касающееся "общения" клиента с сервером
5. Разбор основных параметров запуска, какие актуальны какие не очень, каких нет и тд
6. Разбор некоторых параметров запуска стима и в целом про стим.
7. Некоторые важные аспекты в настройке винды и железок под адекватную произ-ть
8. НЕ коротко (а может и коротко) про фпс.
9. Коротко про частоту вертикальной развертки, всинха. Способы повышения частоты, для чего это нужно.
10. Чуть чуть про мышь, polling rate и несоклько др моментов.
11. "Human input lag"
12. .... (разобрать некоторые моменты из части "Стрельба", некоторые моменты особенности движка)
Последнее редактирование: