Ну что ж, начнём.
1.0 Серверная часть:
tickrate
Тикрейт — на протяжении каждого тика, сервер обрабатывает принятые команды, контролирует gamerules. После каждого такого тика сервер обвноляет информацию про игровую зону и т.д и посылает эту информацию клиенту. Большой тикрейт несомненно принесет больше удовольствия от игры, но не каждый сервер потянет такую нагрузку да и не каждый клиент сможет полностью насладится им.
2.0 Клиентская часть:
Определения
rate — количество байтов, который клиент может получить от сервера за секунду.
cl_updaterate — количество пакетов, который клиент может получить от сервера.(информация о других игроках)
cl_cmdrate — количество пакетов, который клиент может отослать серверу. (информация о вас)
2.2 Получение максимального удовольствия от игры.
2.2.1 У меня интернет на скорости 256/256 кб/с. Давайте выясним, какие значения рейтов подходят мне. Переводим килобиты в килобайты (не умеете? пользуйтесь гуглом!), 256 кб/с = 32кБ/с. Полученное число подставляем в пример:
x / 1024 = полученное число
x / 1024 = 32 x = 32 * 1024 x = 32’768, что примерно 32’000.
Не догадываетесь что мы с вами только что нашли? Нет? Тогда я вам скажу, мы нашли оптимальное значение rate для скорости 256 кб/с.
Это было не сложно, каждый из вас сможет проделать данный «опыт» со своим каналом.
2.2.2 cl_updaterate
Следуем далее, теперь у нас cl_updaterate. Чем больше можете выжать из этого значения, тем лучше будет ваша игра. Игра Team Fortress 2 практически никогда не требует размер пакета больше 250, что это значит? Приведу пример из 3 класса, урок математики:
32’000 / x = 225
Первое число — ваше rate значение, второе число, значение cl_updaterate, которое нам надо найти, третее число, максимальное число потребление байтов от сервера для TF2 (описано выше). Решаем:
32’000 / x = 255 x = 32’000: 225 x= ~140
2.2.3 cl_cmdrate
Тоже самое что и с cl_updaterate.
Клиентский rate ограничивается серверным sv_maxrate
Клиентский cl_updaterate ограничивается серверным sv_maxupdaterate
Клиентский cl_cmdrate ограничивается серверным sv_maxcmdrate
3.0 net_graph
Разбираем net_graph, со скринами
Начнём с FPS — это кадры в секунду, чем больше FPS(фпс), тем лучше вам играть. Играть с FPS ниже 15, не рекомендовано! Нервные клетки не востанавливаются!
In — Первое число — размер пакета в байтах , за ним правее входящий трафик в килобайтах/с, и только последнее крайнее правое число — число полученных пакетов за секунду.
Out — Первое число — размер пакета в байтах, за ним правее исходящий трафик в килобайтах/с, и только последнее крайнне правое число — число отправленных пакетов за секунду.
Ping — задержка между сервером и клиентом в милисекундах. Чем меньше задержка, тем быстрей у вас из дула будут вылетать пули. 🙂
Последний раз редактировалось Optima 05.01.2009, 16:35, всего редактировалось 9 раз.
rate — количество пакетов, который клиент может отослать серверу за секунду.
не точность
ето не количество пакетов, а количество байтов
UPD1
ещё забыл про
Loss Choke
их видно с net_graph 4 или 3
UPD2
ето net_graph на Source2007
для КС:С
UPD3
думаю будет лутше ето перевести)
kadet89 писал(а): Не врубился в этот алгоритм. но думаю моно попробовать через бинарник изменить саму команду. только вот в каком файле она?
Расчет теоретически верный, с одним условием, если самое узкое место — это от вас до провайдера, а не какой-нибудь шлюз в метро ))
koshmel писал(а):
rate — количество пакетов, который клиент может отослать серверу за секунду.
не точность
ето не количество пакетов, а количество байтов
UPD1
ещё забыл про
Loss Choke
их видно с net_graph 4 или 3
UPD2
ето net_graph на Source2007
для КС:С
UPD3
думаю будет лутше ето перевести)
Поправил кое что, net_graph 3 и 4 не стал ставить в качестве примера, ибо его редко используют, если используют, то для проф проверки сервера. Также в примере виден Source2007 и TF2, поскольку эта игра более популярна чем ксс и другие онлайн игры на этом source.
tov_Mayor писал(а): Расчет теоретически верный, с одним условием, если самое узкое место — это от вас до провайдера, а не какой-нибудь шлюз в метро ))
спасибо, старался.
In — число получаемых пакетов. В следующем столбике вы видите скорость приёма этих пакетов.
Out — число передаваемых пакетов. В следующем столбике вы видите скорость отправки этих пакетов.
поправка
там где in — 1 столб — последний входящий полученный пакет в байтах, 2столб — траффик в кб/с
там где out — тоже самое только направление исходящее
cl_updaterate — количество байтов в секунду, который клиент может получить от сервера.(информация о других игроках)
cl_cmdrate — количество байтов в секунду, который клиент может отослать серверу. (информация о вас)
не байтов, а ПАКЕТОВ.
t_rrrrrrrrrrrrrrkl
t0x1c_r1v3r указал на наиболее грубые ошибки, ну а я хочу конкретизировать.
Optima писал(а): Ну что ж, начнём.
1.0 Серверная часть:
tickrate
Единица времени сервера — тик, чем больше этих тиков, тем плавней у клиента будет картинка(меньше лагов), тем лучше игроку будет играть. Это означает, чем больше у вас тиков с сервером, тем быстрее сервер будет реагировать на действия клиента. Тикрейт сервера зависит от канала и железа сервера.
Очень неточно сформулированное разъяснение. Это как раз у сервера «картина» игрового мира от высокого тикрейта будет плавнее. Клиент — это отдельная песня, он как зеркало для сервера, при том обычно кривое 🙂 .
Фраза «чем больше у вас тиков с сервером» вообще бредом попахивает.
Насчет зависимости от канала и железа. Допустим есть 100-тиковый сервер. Он будет 100-тиковым, и должен выдавать 100 тик, даже если канал отдачи позволяет отправить каждому клиенту лишь 80 пакетов, вместо 100. И страдать от этого сервер не будет, в отличии от клиентов, которые недополучат 20 пакетов каждую секунду, а это серьезные лаги.
Зависимость от железа, то-есть показателя FPS сервера более очевидна. Если пригрузить сервер до уровня 80FPS, 100 тиков он никак не успеет просчитать. И теперь лаги будут и на стороне сервера тоже.
Осталось добавить, что в Source есть 3 значения серверных тикрейтов: или 33, или 66, или 100.
Optima писал(а): 2.0 Клиентская часть:
Определения
rate — количество байтов, который клиент может отослать серверу за секунду.
Не верно. Это переменная клиента, указывающая серверу максимальное количество байт, которое клиент готов принять от сервера за секунду.
Часто считают, что она должна отражать ширину входящего канала клиента, но для движка Source это не совсем так, верней, совсем не так.
Именно заниженное значение переменной есть частой причиной появления choke, т.е. пакетов, которые не доходят до клиента из-за узкого канала либо лимитированного rate’ом объема трафика за секунду.
Допустим, у меня канал на скачку 256kbit/s. Сервер за одну секунду хочет отдать моему клиенту 16000 байт. Но на клиенте стоит rate 10000. И сервер пошлет лишь 10000, ведь мой клиент сказал ему, что готов принять лишь столько. А остальные 6000 сервер просто обрежет и выбросит.
В результате мой клиент недополучит ХХнадцать идущих подряд пакетов, что и отразиться на датчике choke.
В идеале, на движке Source клиент может установить себе как можно большее значение rate, даже в случае, если его входящий канал сможет пропустить в несколько раз меньше байт. Например, при rate 100000 датчик choke практически всегда будет показывать 0.
Увы, очень мало серверов, у которых достаточно широкий канал отдачи для всех клиентов и переменной sv_maxrate 100000. В основном из-за незнания админами сетевого протокола Source’а.
Потому, ставить rate выше, чем sv_maxrate сервера проку особого, к сожалению, нет.
Optima писал(а): cl_updaterate — количество байтов в секунду, который клиент может получить от сервера.(информация о других игроках)
В корне не верно. Это количество пакетов, которое клиент хочет получить от сервера.
Приведу пример. На клиенте стоит cl_updaterate 66, то есть клиент ожидает получать от сервера не более 66 пакетов в секунду. Возьмем два сервера с sv_maxupdaterate 100 (то есть позволят моему клиенту требовать 66 пакетов и даже больше), один на тикрейте 33, другой на 100. 33-тиковый сервер отдавать мне будет лишь 33 пакета, ведь он больше в секунду не просчитывает.
100-тиковый же отдавать будет лишь 66, ведь клиент большего числа не ожидает. А теперь представим, что у меня канал больше 70-75 пакетов не пропустит, а я поставил cl_updaterate 100. 100-тиковый сервер будет спокойно пытаться отдавать мне все 100 пакетов, и это не его (сервера) забота, что ко мне все 100 не дойдут.
Выходит, не смотря на отсутствие фиксированного размера пакета, в Source зависимость от ширины клиентского входящего канала должна быть видна в первую очередь по значению переменной cl_updaterate, а не rate, как думают многие. rate пускай будет чем повыше и сколько сервер позволяет (sv_maxrate), это сократит choke к минимуму. А вот завышенное значение cl_updaterate может привести к тому, что пакеты «не влезут» во входящий клиентский канал.
Значения updaterate, в зависимости от размера входящего канала, для игры на Source-сервере с 20 играющими обычно вполне достаточно:
до 128 kbit/s »» cl_updaterate 33
на 128-256 kbit/s »» cl_updaterate 66
на 512 kbit/s и выше »» cl_updaterate 100
Optima писал(а): cl_cmdrate — количество байтов в секунду, который клиент может отослать серверу. (информация о вас)
Опять же, это количество пакетов, которое клиент хочет послать серверу.
Именно из-за заниженного значения этой переменной можно видеть на сервере игрока с минимальным пингом, но со страшными дерганиями и задержками анимации и действий. Попасть в такого игрока становиться трудно, ведь инфа о клиенте при низком cmdrate приходит редко, и серверу трудно угадать где ж эта св*лочь на самом деле находиться. В Source 2007, если я правильно понял, новый сетевой код позволяет серверу более удачно регистрировать попадания в таких лагеров.
Как и в случае с updaterate, cmdrate нужно брать в зависимости от ширины канала клиента на отдачу. Можно также учесть, что фактический cmdrate не будет выше за FPS в игре (точно так же как updaterate и tickrate выше FPS сервера).
Значения cmdrate, в зависимости от размера исходящего канала, для игры на Source-сервере несколько менее требовательны, ведь там информация только об одном игроке (клиенте):
до 32 kbit/s »» cl_updaterate 33
на 64-128 kbit/s »» cl_updaterate 66
на 256 kbit/s и выше »» cl_updaterate 100
Optima писал(а): Тогда я вам скажу, мы нашли оптимальное значение rate для скорости 256 кб/с.
Надеюсь, будет учтено все выше мною изложенное.
Отлично особенности сетевого кода Source описаны тут: http://www.jason35.com/Netcode.htm (на английском).
Optima писал(а): Примечание: максимальное значение updaterate и cmdrate устанавливаются сервером(tickrate)!
Осталось сказать, что update/cmdrate могут иметь значения 0-100. И максимальное определяется не всегда тикрейтом (помним о sv_maxupdaterate, sv_maxcmdrate). Однако ставить на клиенте меньше 33 считаю преступлением
Optima писал(а): In — число получаемых пакетов. В следующем столбике вы видите скорость приёма этих пакетов.
Первое число идет размер в байтах последнего полученного пакета, за ним правее входящий трафик в килобайтах/с, и только последнее крайнее правое число — число полученных пакетов за секунду.
Optima писал(а): Out — число передаваемых пакетов. В следующем столбике вы видите скорость отправки этих пакетов.
Первое число идет размер в байтах последнего отосланного пакета, за ним правее исходящий трафик в килобайтах/с, и только последнее крайнне правое число — число отправленных пакетов за секунду.
Optima писал(а): Ping — задержка между сервером и клиентом в милисекундах. Чем меньше задержка, тем быстрей у вас из дула будут вылетать пули. 🙂
Быстрее hit registration на сервере — да. Но не быстрота вылета пуль.
Optima писал(а): Также в примере виден Source2007 и TF2, поскольку эта игра более популярна чем ксс и другие онлайн игры на этом source.
Еще не разу не видел, что бы игроков TF2 было хотя бы в половину КССовцев. И дело тут не в том, что в стате берутся только игроки с лицензий.
Последний раз редактировалось [»Twilight«] 05.11.2008, 04:13, всего редактировалось 1 раз.
If you are the Receiver of Wisdom, you will understand my words.
Источник: forum.csmania.ru
Что такое тикрейт
Tickrate — частотность получения данных по обновлению событий на сервере. В классическом формате данный показатель равен 64 запроса в секунду. Но в профессиональных и более продвинутых серверах для соревнований доходит до 128 раз.
Содержание
Что такое тикрейт в кс го
Если говорить понятным языком, то Тикрейт — это насколько часто клиент (игрок на своем компьютере) получает обновления, которые происходят на сервере. А на сервере они происходят постоянно. Все передвижения игроков, гранат, пуль и прочее. Фактически система проверяет нахождение всех объектов и сравнивает с предыдущим фрагментом. И это все происходит минимум 64 раза в секунду.
Ни для кого не будет открытием, что если эта частота будет быстрее, то и качество сервера увеличивается. Вы часто замечали ситуацию, когда вы зашли за угол, а на экране оппонента вы еще отображаетесь. Это именно и есть та самая задержка по обновлению.
Как визуально выглядит количество обновляемых кадров, если сравнивать обновление 64 и 128 tickrate:
На изображении выше видно на сколько отличается игра при разном обновлении сервера. На 128-м тикрейте противника будет видно намного лучше и качественнее, его моделька будет двигаться плавнее.
Сравним эти 2: tickrate 64 и tickrate 128
В этих режимах игра может производится не с точной стрельбой: можете заметить когда выстрел был сделан в голову, а попал в плече либо же наоборот. Это связано не только с низким тикрейтом, но и с качеством самих серверов. Важно то, что при такой частоте данных из сервера, все ошибки и проблемы сервера и интернета значительно явно видны и ощутимы.
Tickrate 128 используется для игровой платформы Faceit и Esportal. На фейсите высококачественные сервера, именно по этому все профессиональные и полупрофессиональные игроки проводят свои любительские баталии на этой платформе.
Почему VALVE не может перейти на tickrate 128
Пожалуй это самый очевидный вопрос, который волнует всех игроков нашего любимого шутера — Counter-Strike:Global offenssive.
Ответ: VALVE ориентируются на более широкую аудиторию игроков. У них в среднем в игру заходит в день около миллиона человек. Каждый клиент имеет свой уровень и качество интернета и мощность компьютера. Основная задача — удовлетворить максимальное количество (большинство игроков). При тикрейте 64 у сервера есть более слабый запрос к качеству и скорости интернета.
То есть таким образом средний показатель комфортной игры значительно выше. При тикрейте 128 в обязательном порядке необходимо иметь качественный канал интернета, который не только будет быстро и без ошибок передавать пакеты, но и иметь обработку такого количества обновлений в диапазан 1 секунда. Потому достаточно логично, что геймеры достигшие определенного уровня игры, настройки компьютера и хорошего интернета идут играть на FACEIT.
С другой стороны, почему нельзя дать выбор игрокам tickrate при запуске поиска игры (64 или 128)?
Ответом на этот вопрос будет более простым: у VALVE устаревшие сервера. Обновление их не даст им денежный профит и не окупит вложение.
На этот счет рекомендуем посмотреть видео (с титрами, так как тут английский язык):
Игра на tickrate 64
Для обычных игроков в cs:go тикрейт почти не имеет значения, простые ребята за сотые доли секунды не успеют сделать выстрел, сравнительно с профессиональными игроками, как s1mple или ZywOo.
К сожалению стандартные сервера в CS:GO не поддерживают тикрейт 128. Тут вы можете сами руками писать в консоли любые попытки его изменить, но ничего не получится. Важно все-таки чтобы сервер поддерживал настройку выставленную на клиенте. Вот как идет обмен пакетов в зависимости от выставленного тикрейта:
Также можно заметить, что при тренировке на карте с ботами (по стандарту ваш локальный сервер выставляет 64) вы можете заметить, что гранаты летят совершенно по разному. Давайте постараемся разобраться в чем же может быть причина.
Когда вы бросаете гранаты стоя на одном месте и не двигаясь, на разных тикрейтах гранаты летят одинаково. На полет гранат влияет только команда “jumpthrow” (бросок гранаты в момент прыжка). Потому, что на разных тикрейтах отличается скорость движения модельки во время прыжка. Поэтому при выставленном 128 можно бросить гранаты, которые никогда не получится повторить с такими же движениями при тикрейте 64. Они банально не долетают туда куда нужно.
ХОРОШИЙ СОВЕТ: КАК ПОНИЗИТЬ ПИНГ В ИГРЕ
Вывод: “jumpthrow» лучше использовать только на 128-м тикрейте. И учиться бросать гранаты именно на нем.
Tickrate 128 (local
Проверка мифов #майнкрафт #minecraft #shorts
Никогда не обращайте внимание на информацию о том, что можно что-то повысить. Данный показатель изменить фактически нельзя, так как он непосредственно относится к серверу и его настройке. Сервер будет отображать тот тикрейт, который задал создатель сервера.
Сервера в ММ разработчики создают 64-м тикрейте, это изменить нельзя.
Подписывайтесь на нас в социальных сетях ( ВК, Телеграмм)!
И будьте в теме Киберспорта вместе с GOCSGO.NET
Виталий Бене
Обожаю играть в компьютерные игры с детства. Меня зовут Виталий Бене. Являюсь редактором на сайте с 2018 года. Почти с момента его создания. Всегда мечтал работать в индустрии киберспорта. А особенно, если речь идет о CS:GO!
Хочу создать максимально больше полезного материала для всей индустрии киберспорта и любителей CS:GO.
- → Прицел точка кс го
- Как включить вх в кс го ←
- 1. G2 +1
- 2. Heroic -1
- 3. FaZe Clan
- 4.
Liquid
- 5.
Outsiders
- 6. Natus Vinsere
- 7. mousesports
- 8. Furia
- 9. Vitality -1
- 10. OG +1
Весь рейтинг команд
Источник: gocsgo.net
Все про тикрейт в CS:GO
Counter-Strike: Global Offensive — игра, которая полностью построена на соревновательном режиме. Пользователи вынуждены сражаться друг с другом, достигая успех в этом направлении. Сразу же стоит сказать, что на результат всей битвы могут влиять не только индивидуальные навыки конкретного пользователя, но и технические параметры. Один из них носит название тикрейт. Сегодня о нем и необходимо поговорить.
Что такое тикрейт в кс го?
Тикрейтом называют частоту, с которой сервер предоставляет обновление данных для клиента пользователя. Чем чаще происходит обновление данных между пользователем и сервером, тем меньше разрыв между реальностью и тем, что видит игрок. То есть, большой тикрейт — это хорошо! Это одна из немногих причин того, почему многие выбирают Faceit, а не соревновательный режим.
Виды тикрейта в кс го
Есть огромное количество разных тикрейтов. Однако разбирать каждый из них не имеет особого смысла, ведь пользователь имеет шанс встретиться только с тремя. Они выглядят так:
- 32 tickrate — самый отвратительный тикрейт из всех, что только существуют. С ним можно встретиться на китайских серверах. Возможно ли на нем играть? Это крайне спорный вопрос. Дело в том, что разрыв между происходящем в реальности и тем, что видит игрок, будет колоссальным, а это не слишком положительно отобразится на удовольствии, получаемой от битвы.
- 64 tickrate — это тикрейт, который занимает золотую середину. Он демонстрирует небольшие разрыву между реальностью и тем, что игроки видят в битве. Где можно встретить 64 тик? Например, в напарниках, соревновательном режиме и на любом сервере разработчика.
- 128 tickrate — лучший тикрейт из всех, что только существуют на просторах CS:GO. Его можно встретить на Faceit, Esea и ряде других ресурсов, который являются полноценной альтернативой соревновательного режима. На значении 128 практически нет каких-то разрывов, а игровой процесс способен приносить только положительный спектр удовольствия.
Стоит отметить, что изначально разница на 64 и 128 тикрейт незаметна. Чтобы ее увидеть, стоит поиграть на этих серверах поочередно.
Как настроить тикрейт в кс го?
Настройка тикрейта будет актуальна для каждого игрока. Однако и тут есть свои нюансы. Например, если пользователь установит 128 тик в своем клиенте, но зайдет на сервер, поддерживающий 64 тика как максимум, то ничего не изменится. Такая настройка понадобится для игры на первых, а не вторых серверах, чтобы тикрейт полностью раскрывал свой потенциал обмена данных.
Как настроить тик:
- Перейти в Steam и открыть там библиотеку.
- Нажать на CS:GO ПКМ;
- Нажать на свойства и нажать на установку параметров запуска;
- В открывшееся окно понадобится ввести значение -tickrate 128.
Остается только сохранить результат и все готово.
Смотрите и это:
Сворачивается CS:GO У некоторых геймеров, часто играющих в «Контру», нередко возникает неприятная проблема сворачивания игры в меню…
Карта CS:GO — surf_runner Серфинг арена для Counter Strike: Global Offensive, в которой еще нужно разобраться. Будет особенно интересно…
Стикеры в CS:GO Всем геймерам в Counter Strike Global Offensive хочется выделяться среди других игроков. Поможет им в…
Ширпотреб в CS:GO Распространенные скины Counter-Strike: Global Offensive — достаточно однотипная игра, которая предлагает пользователям сражаться в соревновательном…
Карта cs_pf_aztec для CS:GO Автор снова радует нас. Потрясающая карта с высоким качеством прорисовки и проработки с точки зрения…
Карта CS:GO — cs_cellar Жаждете спасать заложников в Counter Strike: Global Offensive? Тогда карта cs_cellar может быть хорошей для…
- Следующая публикацияКарта CS:GO — mg_cs_multigames_v1_3
- Предыдущая публикацияКарта CS:S — surf_runewords2_lod
Источник: dotacs.ru