Search Members Help

» Добро пожаловать, Гость
[ Вход :: Регистрация ]

Page 1 of 41234>>

[ Подписаться на эту тему :: Отправить тему на E-mail :: Распечатать эту тему ]

reply to topic new topic new poll
Тема: CS без лага.< Предыдущая тема | Следующая тема >
 Номер сообщения: 1
yogan Search for posts by this member.

Avatar



Группа:
Старик, писатель, со-админ
Сообщений: 839
Дата регистрации:
августа 2002
Offline
PostIcon Отправлено: января 13 2006,14:09  Skip to the next post in this topic. Ignore posts   QUOTE

Автор: kingpin
Перевод: Gh0St

Я не могу обещать наверняка, но эта статья все же лучше чем ничего. В CS есть такие специальные команды, которые определяют, сколько данных вы посылаете и сколько принимаете с HL сервера. Итак, поехали.

Рейты (Rates)

Многие люди часто спрашивают что такое рейты, какие значения использовать и т.п Я думаю написание руководства, объясняющего что все это значит, поможет многим людям. Чтобы потом люди не говорили какие значения использовать, не понимая что они означают на самом деле.

Определение.

Начнем с определений:

Rate (Рейт) - это максимальный предел байт в секунду который сервер может послать клиенту.
cl_rate - определяет максимальный предел байт в секунду который клиент может послать на сервер. (Вам не нужно беспокоится об этом параметре)
cl_cmdrate - число раз в секунду которое клиент информирует сервер о своих действиях.
cl_updaterate - это сколько раз в секунду сервер говорит клиенту что происходит на карте.

Я предполагаю, что большинство людей использует ADSL или кабель и здесь я буду рассматривать ADSL в качестве примера и исходя из этого я предполагаю, что скорость входящего потока у всех 512кб\с и скорость исходящего 256кб\с, но вы можете сделать все приведенные здесь расчеты и для кабеля, и для соединений на более низких скоростях (просто необходимо вычислить разницу). Теперь выставляйте значения rate, cl_updaterate и cl_cmdrate чем выше тем лучше, потому что это позволяет вам играть в более быструю игру и что более важно это позволяет вашим пулям попадать в противника с большей вероятностью. Сейчас я объясню вам почему.

Рейт
В теории соединение ADSL должно с легкостью поддерживать рейт в 25000. Это проверяется следующим образом:
берем значение рейта, которое измеряется в байтах в секунду и переводим его в килобайты в секунду.

25000 /1024 = 24.4140625кБ/с

В теории ваше соединение работает на скорости 512 килобит в секунду (в реальности оно работает на более низкой скорости). Я перевожу это значение в килобайты в секунду: 512 / 8 = 64кБ/с

Теперь вы можете видеть что через ваше соединение могут играть 2.62 человека с рейтом в 25000 (64 / 24.414 = 2.62). Можно использовать такое же вычисление для cl_rate, но этого делать не стоит, значения по умолчанию 9999 более чем достаточно.

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

Если я ставлю cl_updaterate в 100 и мой рейт равен 25000 в теории каждое обновление может содержать до 250байт данных (25000 / 100 = 250). Повторюсь чем больше данных вы сможете получить за обновление, тем более четко вы будете видеть игровой мир (это не означает что игровой мир будет более четким, а означает то, что ваши пули будут более четко попадать в цель). В версии 1.3 было вычислено, что когда у вас на экране происходит много действий, вы можете использовать 175байт на обновление. Таким образом если у вас высокий updaterate, вам нужен соответствующий ему высокий рейт.

Используя данные из 1.3 если у вас updaterate равен 100, ваш рейт должен быть равен по крайней мере 17500, но лучше иметь небольшой запас. Я рекомендую значение 20000 как минимум (чтобы определить какое значение выбрать для вашего рейта возьмите ваш cl_updaterate и умножьте его на 175, а затем прибавьте к полученному значению еще хотя бы 2000 для страховки).

cl_cmdrate
cl_cmdrate работает так же как и cl_updaterate. Эта команда определяет сколько обновлений в секунду вы посылаете на сервер. И снова ее значение нужно ставить как можно выше. Чем больше обновлений вы пошлете на сервер, тем больше информации он будет иметь о ваших действиях и о том куда летят ваши пули. На мой взгляд эта команда более важная чем cl_updaterate.

Как и с cl_updaterate и с rate вы можете вычислить максимальное количество данных которое может содержать каждое обновление. Отсюда, если у вас cl_cmdrate равен 100 и ваш cl_rate равен 9999, каждое обновление может содержать 99.99байт данных (9999 / 100 = 99.99). Этого должно хватить для ваших нужд, так как вы посылаете меньше данных на сервер, чем он посылает вам.

Помехи (choke) и потеря (loss)
Теперь мы будем смотреть на помехи и потерю. Помехи (choke) показывают вам число обновлений которые не были посланы в оба направления из за перегрузки соединения. Потеря (loss) показывает число обновлений которые были посланы, но не достигли другой стороны. Помехи более важны чем потери, потому что ими вы засоряете соединение и оно не справляется со всеми этими данными. Это означает что вам нужно понизить значения рейтов. Потеря не так важна и если у вас большая потеря это говорит о том что у вас с сервером плохое соединение. Появление как помех (choke) так и потери (loss) является следствием того, что значения рейтов которые вы используете, либо слишком низкие, либо слишком высокие.

Я рекомендую попробовать использовать эти значения:
rate 20000
cl_updaterate 100
cl_cmdrate 100

Если эти значения приводят к помехам или потерям, пробуйте понижать значения. Я бы попробовал так:
rate 14000
cl_updaterate 70
cl_cmdrate 70

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

Найдите соединение которое наиболее близко к вашему и попытайтесь применить к нему одни из приведенных ниже рейтов.

для 576k и 1mb ADSL я бы использовал:

rate 20000
cl_updaterate 90
cl_cmdrate 101

для 600k и 1mb Cable я бы использовал:

rate 25000
cl_updaterate 80
cl_cmdrate 101

ПРИМЕЧАНИЕ - Ваша скорость отправки (upload) не зависит от скорости приема (download). Ваш cl_updaterate - это количество данных которое вы посылаете. Следовательно ваш cl_updaterate не должен быть таким же высоким как cl_cmdrate.

Помехи (сhoke) случаются когда сервер собирается послать данные клиенту, но не может потому что клиент еще не готов принять эти данные (основывается это на настройках клиентского рейта (rate) или серверовского sv_maxrate). Некоторые вещи, такие как клиентский рейт слишком низкий для данного числа игроков на сервере, само собой приводят к потере. Другие вещи не всегда, но тоже могут привести к потере, такие как когда клиент поднимает значение cl_updaterate слишком высоко.

По схожей причине, админы LAN серверов могут не опасаться этого, так как для LAN серверов (sv_lan = 1) настройки клиентского рейта а так же sv_min/maxrate абсолютно игнорируются и значение 9999 используется как рейт для всех клиентов. Оно будет увеличено до максимально разрешенного рейта в 20000, в следующем релизе, так что не стоит об этом забывать.

сообщил Леон Хартвиг (Leon Hartwig) - VALVe

--------------


Profile CONTACT 
 Номер сообщения: 2
Little_boo Search for posts by this member.

Avatar



Группа:
Members
Сообщений: 329
Дата регистрации:
июня 2005
Offline
PostIcon Отправлено: января 13 2006,17:03 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Блин, класно хорошая стаья, я только не понял, если у меня 60кбит\с, мне че удавится?

Будем пробовать...

--------------
Requiem Clan

Profile CONTACT 
 Номер сообщения: 3
Little_boo Search for posts by this member.

Avatar



Группа:
Members
Сообщений: 329
Дата регистрации:
июня 2005
Offline
PostIcon Отправлено: января 14 2006,02:10 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Я попробовал сделать rate 20000 у меня стало:
Loss - 20
choke - 20
Логало ужасно.

Я посавил rate 10000 у меня стало:
loss - 5-10
choke - 20
Лагов нет.

Получается, что loss важнее choke.

--------------
Requiem Clan

Profile CONTACT 
 Номер сообщения: 4
russian_4u(Manchester) Search for posts by this member.
уже ветеран?
Avatar



Группа:
Members
Сообщений: 409
Дата регистрации:
июня 2005
Offline
PostIcon Отправлено: января 14 2006,18:54 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Цитата
я только не понял, если у меня 60кбит\с, мне че удавится?

при такой скорости ещё кто–то играет?

сочувствую

--------------
Русский чат-самый лучший чат Рунета
http://rus4u.ru/id/1

Profile CONTACT WEB 
 Номер сообщения: 5
FroZ[e]N Search for posts by this member.

Avatar



Группа:
Members
Сообщений: 282
Дата регистрации:
ноября 2005
Offline
PostIcon Отправлено: января 14 2006,21:47 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

очень зря сочувствуешь, на анлиме ВТ 64к пинг 20-30, без лагов...

--------------
omg!!!

Profile CONTACT 
 Номер сообщения: 6
RazorHead Search for posts by this member.

Avatar



Группа:
Писатель, со-админ
Сообщений: 311
Дата регистрации:
сентября 2005
Offline
PostIcon Отправлено: января 15 2006,10:16 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Да. Совсем не упомянуто в статье о прямой связи рейтов и пинга. По совету Сильвера я выставил:

cl_cmdrate 33
cl_updaterate 33
cl_rate оставил без изменений (т.е. по умолчанию - 10000)

Пинг приемлемый, качество игры - выше среднего.

З.Ы. Когда я был молодой и глупый :) я экспериментировал с этими параметрами. Например ставил их по 10. Пинг - ниже матерлинии, а играть просто невозможно...

--------------
No Fate, No Hate. Just Skill.

#rh.css @ quakenet.org

Profile CONTACT 
 Номер сообщения: 7
yogan Search for posts by this member.

Avatar



Группа:
Старик, писатель, со-админ
Сообщений: 839
Дата регистрации:
августа 2002
Offline
PostIcon Отправлено: января 16 2006,12:37 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

вот у кого инет получше они себе могут поставиь
cl_cmdrate 66
cl_updaterate 66

но если вы поставите
cl_cmdrate 33
cl_updaterate 66

это уже будет считать почти за чит - если узаню кто это исползует забаню :)

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

Отредактировано yogan в января 16 2006,12:41

--------------


Profile CONTACT 
 Номер сообщения: 8
FroZ[e]N Search for posts by this member.

Avatar



Группа:
Members
Сообщений: 282
Дата регистрации:
ноября 2005
Offline
PostIcon Отправлено: января 16 2006,14:01 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Я поставил
cl_cmdrate 100
cl_updaterate 100
ни ошибок ни потерь ^^ слава богу 6 мбит это позволяют :D

--------------
omg!!!

Profile CONTACT 
 Номер сообщения: 9
RazorHead Search for posts by this member.

Avatar



Группа:
Писатель, со-админ
Сообщений: 311
Дата регистрации:
сентября 2005
Offline
PostIcon Отправлено: января 16 2006,14:05 Skip to the previous post in this topic. Skip to the next post in this topic. Ignore posts   QUOTE

Цитата (yogan @ Янв. 16 2006 18:37)
да и не как не пойму почему решили что это влияет на пинг - это влияет на коректное прохождениея даныых - а пинг он есть пинг и нечем его не измениш...

Да, пинг не изменишь, но отображается-то он по разному. Вот раньше отображался у меня 170 - меня кикало с сервера, после перенастройки отображается 60 - 90 - все нормально  :avatar:

--------------
No Fate, No Hate. Just Skill.

#rh.css @ quakenet.org

Profile CONTACT 
 Номер сообщения: 10
Little_boo Search for posts by this member.

Avatar



Группа:
Members
Сообщений: 329
Дата регистрации:
июня 2005
Offline
PostIcon Отправлено: января 17 2006,12:34 Skip to the previous post in this topic.  Ignore posts   QUOTE

Цитата (yogan @ Янв. 16 2006 12:37)
но если вы поставите
cl_cmdrate 33
cl_updaterate 66

А чё при этом получается?
Тпи у тебя всё хорошо, а у остальных ты лагаешь??

--------------
Requiem Clan

Profile CONTACT 
36 ответов, начиная с января 13 2006,14:09 < Предыдущая тема | Следующая тема >

[ Подписаться на эту тему :: Отправить тему на E-mail :: Распечатать эту тему ]


Page 1 of 41234>>
reply to topic new topic new poll

» Быстрый ответ CS без лага.
Кнопки iB кода
Вы отправляете как:

Вы хотите добавить Вашу подпись для этого сообщения?
Вы хотите использовать смайлики в этом сообщении?
Подписаться на эту тему
Посмотреть все смайлики
Посмотреть iB коды