Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

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

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Что такое rate cl_cmdrate cl_updaterate

Статус пользователя navigator19
сообщение 29.1.2018, 14:53
Сообщение #1
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Хотелось бы раз и навсегда решить противоречивый вопрос за что отвечают команды?
rate
cl_cmdrate
cl_updaterate
Желательно бы ссылки на первоисточники.

Где-то написано что rate это:
максимальное количество байт за одну секунду времени которые сервер посылает клиенту
порог байт\с, в пределах которого сервер может пересылать информацию клиенту
количество байт, которое сервер отправляет клиенту
параметр, отвечающий за размер принимаемых пакетов в секунду
и т.д.

Где-то написано что cl_cmdrate это:
Клиент => Сервер
Сервер => Клиент
сколько раз в секунду клиент (игрок) «общается» с сервером
параметр, отвечает за количество принимаемых клиентом от сервера пакетов в секунду
сколько обновлений в секунды будет отправлено от вашей машины серверу
определенное число за одну секунду которое дает знать серверу о действиях нашего клиента.
и т.д.

Где-то написано что cl_updaterate это:
Клиент => Сервер
Сервер => Клиент
так же число за одну секунду времени которое дает знать нашему клиенту о том что же твориться на сервере
отвечает за количество действий, отправленных сервером на клиент
сколько раз в секунду сервер «общается» с клиентом (игроком)
параметр, отвечает за количество передаваемых от клиента на сервер пакетов в секунду
и т.д.

Где истина?

Не нужно делится тут своими настройками меня интересует лишь что эти команды означают!

Упссс, наверно надо было создать в разделе клиент

Отредактировал: navigator19, - 29.1.2018, 14:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Energy
сообщение 29.1.2018, 17:53
Сообщение #2
Иконка группы

Стаж: 11 лет

Сообщений: 2839
Благодарности: выкл.

navigator19,
cl_updaterate - cколько обновлений в секунду посылать от сервера вашей машине. Этот параметр влияет на то, насколько быстро вы получите серверные данные, например, о действиях других игроков .

cl_cmdrate - сколько обновлений в секунды будет отправлено от вашей машины серверу. Следовательно, от этого параметра будет зависеть то, как скоро сервер получит информацию о ваших действиях.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.1.2018, 18:20
Сообщение #3
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Energy, От куда инфа есть источник, или пруфы?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 29.1.2018, 18:45
Сообщение #4


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

лично моё мнение:
cl_cmdrate в паре с fps отвечают за обработку игровых пакетов.
Чем выше значение тем меньше латенси (не пинг)


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Temkqa
сообщение 29.1.2018, 18:58
Сообщение #5


Стаж: 15 лет

Сообщений: 314
Благодарностей: 125
Полезность: 532

navigator19, https://developer.valvesoftware.com/wiki/So...ayer_Networking тут наверно можно найти.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.1.2018, 20:17
Сообщение #6
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Temkqa, Спасибо, вроде как это и означает This will increase responsiveness but requires more outgoing bandwidth, too. что cl_cmdrate параметр для исходящих пакетов

Цитата(ssx @ 29.1.2018, 18:45) *
лично моё мнение:
cl_cmdrate в паре с fps отвечают за обработку игровых пакетов.
Чем выше значение тем меньше латенси (не пинг)

Не много не так,
cl_cmdrate - отвечает за количество передаваемых пакетов в секунду от клиента на сервер
вычисляется cl_cmdrate = +50 к твоему fps если fps 200 то cl_cmdrate 250

а cl_updaterate настраивается так:
Входим на сервер вводим в консоль net_graph 1 увидим снизу график с нашими рейтами, нас интересует задержка ms, многие думают что это пинг, но на самом деле это не так.
Это задержка нашего cl_updaterate "100" то есть сервер может обновлять наши рейты 100 раз с задержкой 15 ms

Теперь снизим cl_updaterate в два раза было cl_updaterate 100 ставим 50 и видим что сервер уже может нам обновлять рейты 50 раз с задержкой 2 ms.

Итак мы близки к идеалу снизим рейты ещё немного и будем добиваться того чтобы задержка обновления рейтов исчезла совсем что и будет идеальной настройкой cl_updaterate для текущего сервера!

Универсальной настройки cl_updaterate не существует т.к. зависит от пинга, количества игроков, карт, и настроек сервера, поэтому придётся всё время корректировать!
Не выбирайте большой отрыв чтобы задержка исчезла нужно найти что называется тютелька в тютельку. Шагать лучше от cl_updaterate 100 и смотреть уже какова будет задержка если нету можно и немного прибавить как правило +5 +10 если есть задержка снижать так же по -5 -10.

Не забываем после каждого действия с cl_updaterate ставить ex_interp "0" что дает автоматическое определение интерпретации, которое является правильным!

rate - отвечает за размер принимаемых пакетов в секунду. Стандартное значение 7500 означает, что клиент принимает от сервера 7500 кБ/с получается что при значении cl_updaterate 30 - в секунду клиент принимает от сервера 30 пакетов по 250 байт.

Отредактировал: navigator19, - 29.1.2018, 20:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя dehost
сообщение 29.1.2018, 20:22
Сообщение #7


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

navigator19,
И для чего эта тема была создана, чтобы ты см ответил на свой вопрос?
К тебе же встречный вопрос, откуда инфа? пруфы?


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.1.2018, 21:13
Сообщение #8
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Цитата(dehost @ 29.1.2018, 20:22) *
navigator19,
И для чего эта тема была создана, чтобы ты см ответил на свой вопрос?
К тебе же встречный вопрос, откуда инфа? пруфы?

Тема была создана чтобы получить инфу из достоверных источников думаю сайт Valve это достоверный источник https://developer.valvesoftware.com/wiki/So...ayer_Networking
Как я уже выше писал некоторые путают направление передачи пакетов cl_updaterate/cl_cmdrate сервер > клиент или клиент > сервер
А по поводу технологии настроек где-то давно вычитал и подробно сам все испытал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 29.1.2018, 23:47
Сообщение #9
Стаж: 9 лет

Сообщений: 1155
Благодарностей: 309
Полезность: 130

navigator19,
Цитата
Не много не так,
cl_cmdrate - отвечает за количество передаваемых пакетов в секунду от клиента на сервер


Согласен на 100%

Цитата
вычисляется cl_cmdrate = +50 к твоему fps если fps 200 то cl_cmdrate 250

Бред полнейший. С частотой отправки данных на сервер = 250 - ты просто задрочишь сервер до лагов.

Цитата
Не забываем после каждого действия с cl_updaterate ставить ex_interp "0" что дает автоматическое определение интерпретации, которое является правильным!

Интерполяции... При =0, координата игрока будет отрисовываться каждый принятый пакет - но движения будут подергиваться и рваться - так как пакеты приходят с разной задержкой - образуется джиттер - дрожание фазы. Оптимально поставить 0.05 - 0.075 - движения моделей будут почти плавными. При 0.1 движения гарантированно плавные, но с задержкой в 0.1 секунду от реальной координаты.

Цитата
rate - отвечает за размер принимаемых пакетов в секунду. Стандартное значение 7500 означает, что клиент принимает от сервера 7500 кБ/с

Не пакетов в секунду, а байт с секунду.... и с килобайтами ты напутал.... КС 1.6 такие трафики не создает, он гораздо скромнее...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 30.1.2018, 0:03
Сообщение #10


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

navigator19,
Тема была создана в форме вопроса, на который вы сами же и ответили. На кой черт надо было разводить флейм в этой теме?
Почему просто не создать тему и пройти дальше, зачем провоцировать пользователей, а затем отвечать им же на свой вопрос?
Цитата
Хотелось бы раз и навсегда решить противоречивый вопрос за что отвечают команды?
rate
cl_cmdrate
cl_updaterate
Желательно бы ссылки на первоисточники.


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 30.1.2018, 0:07
Сообщение #11
Стаж: 9 лет

Сообщений: 1155
Благодарностей: 309
Полезность: 130

Энержи дал абсолютно правильный ответ, хоть и без ссылки на источник.

Цитата
cl_updaterate - cколько обновлений в секунду посылать от сервера вашей машине. Этот параметр влияет на то, насколько быстро вы получите серверные данные, например, о действиях других игроков .

cl_cmdrate - сколько обновлений в секунду будет отправлено от вашей машины серверу. Следовательно, от этого параметра будет зависеть то, как скоро сервер получит информацию о ваших действиях.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 30.1.2018, 1:51
Сообщение #12
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Цитата(csuser @ 29.1.2018, 23:47) *
Бред полнейший. С частотой отправки данных на сервер = 250 - ты просто задрочишь сервер до лагов.

Пока ведь не задрочил, сервер чувствует себя вполне нормально, и не я один с такими настройками играю.
Если поставить cl_cmdrate 100 при 200 FPS вот тогда точно лаги будут на клиенте.
Cкрины

Вот график с FPS 200 и cl_cmdrate 100 много красных точек, что не есть гуд
Прикрепленное изображение

А вот график когда поставил cl_cmdrate 250 и сразу видно что красные точки пропали, что есть гуд
Прикрепленное изображение

А вот как выглядит график с FPS 230 и cl_cmdrate 300, вообще все идеально
Прикрепленное изображение

Цитата(csuser @ 29.1.2018, 23:47) *
Интерполяции... При =0, координата игрока будет отрисовываться каждый принятый пакет - но движения будут подергиваться и рваться - так как пакеты приходят с разной задержкой - образуется джиттер - дрожание фазы. Оптимально поставить 0.05 - 0.075 - движения моделей будут почти плавными. При 0.1 движения гарантированно плавные, но с задержкой в 0.1 секунду от реальной координаты.

А 0 и не поставится при ex_interp 0 клиент сам выставит значения по формуле ex_interp = 1/cl_updaterate

Цитата(csuser @ 29.1.2018, 23:47) *
Не пакетов в секунду, а байт с секунду.... и с килобайтами ты напутал.... КС 1.6 такие трафики не создает, он гораздо скромнее...

Я написал за РАЗМЕР принимаемых пакетов в секунду, пакет и состоит из этих самых байт, а вот с Кб/c действительно напутал, правильно будет 7500 Байт/сек или 7,5 Кб/сек

Отредактировал: navigator19, - 30.1.2018, 2:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: