Рейт (rates) - все про css - статті - все для css і world of tanks
Почнемо з визначень:
Lag (лаг) - термін, застосовується до тих, у кого з'єднання повільне або другімім словами «лагующее».
Ping (пінг) - величина, яка визначає час проходження повідомлення від Вашого комп'ютера до сервера і назад, вимірюється в мілісекундах.
Latency (затримка) - величина, яка визначає час проходження повідомлення від Вашого комп'ютера до сервера (вона звичайно ж завжди менше, ніж Ваш пінг).
Запам'ятайте - ping це не latency!
Rates (коефіцієнт швидкості) - Rate (Рейт) - це максимальна межа байт в секунду, яку сервер був змушений може послати кліенту.Определяет максимальна межа байт в секунду, який клієнт може послати на сервер.
cl_cmdrate - число раз в секунду яке клієнт інформує сервер про свої дії.
cl_updaterate - це скільки разів в секунду сервер говорить клієнту, що відбувається на карті.
Choke (буквально - задуха) - це серверний лаг. По суті, це означає, що Ваш комп посилає позиції гравців і те, що він робить (стрільба, грени, ніж) на сервер, але це все не доходить до сервера. За замовчуванням в CS: S зроблено так, що всі дії гравців посилаються на сервер 30 раз в секунду. Choke може бути викликаний двома причинами:
- Ваш комп посилає занадто багато пакетів на сервер в секунду.
Якщо Ви намагаєтеся послати 100 команд на сервер в секунду, а він може прийняти тільки 40, Ви отримаєте choke 60. Погодьтеся, що це фігово, так як практично жоден з Ваших пострілів не буде зареєстрований, і тільки 40% від того, що Ви намагаєтеся зробити на сервері Вашим гравцем, буде реально зроблено (рішення нижче).
- Сервер не встигає обробити всю інформацію, яка йому надсилається.
Причиною може бути мережевий лаг на сервері, або лаг CPU на сервері. Клієнт не може це контролювати, але може підлаштуватися під це (рішення нижче).
Loss (втрати) - це лаг поза Вашого комп'ютера і як правило поза ігровим сервера. Це означає, що поки Ваші команди, які йдуть на сервер, проходять за певним шляху (іноді їм необхідно пройти велику кількість мереж), вони «губляться» на просторах мережі. Loss дуже часто виникає при використанні бездротового з'єднання. Loss також не можна контролювати - це просто дерьмовое з'єднання і з цим нічого не поробиш.
Tickrate (тікрейт) - під час кожного тика сервер обробляє вхідні команди, перевіряє різні внутрішні правила, оновлює стану об'єктів гри. Більший тікрейт дозволяє домогтися більшої точності, але і вимагає більш потужний сервер. За рекомендаціями Valve сервера з кількістю слотів> 20 повинні мати тікрейт 66. Як правило, тікрейт 100 використовується на CW серверах, а також на паблік серверах, які встановлюються в кількості одного, двох на одну машину і з невеликою кількістю слотів.
Я припускаю, що більшість людей використовує 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_cmdrate.
updaterate, визначає, як багато оновлень в секунду ви можете отримати від сервера. Ясно, що потрібно отримувати якомога більше оновлень, так як це дає вам більш точну картину того, де хто знаходиться і куди летять їхні кулі. Однак якщо у вас буде високий updaterate і низький rate ви не зможете послати достатню кількість даних за оновлення і будь-яка вигода від високого updaterate буде зведена до мінімуму. Для того щоб стало зрозуміло, я зараз все поясню.
Якщо я ставлю cl_updaterate в 100 і мій рейт дорівнює 25000 в теорії кожне оновлення може містити до 250байт даних (25000/100 = 250). Повторюся чим більше даних ви зможете отримати за оновлення, тим чіткіше ви будете бачити ігровий світ (це не означає, що ігровий світ буде більш чітким, а означає те, що ваші кулі будуть більш чітко потрапляти в ціль). У версії 1.3 було обчислено, що коли у вас на екрані відбувається багато дій, ви можете використовувати 175 байт на оновлення. Таким чином, якщо у вас високий updaterate, вам потрібен відповідний йому високий рейт.
cl_cmdrate працює так само як і cl_updaterate. Ця команда визначає, скільки оновлень в секунду ви посилаєте на сервер. І знову її значення потрібно ставити якомога вище. Чим більше оновлень ви пошлете на сервер, тим більше інформації він буде мати про ваших діях і про те, куди летять ваші кулі. На мій погляд, ця команда більш важлива, ніж cl_updaterate.
Як і з cl_updaterate і з rate ви можете вирахувати максимальну кількість даних яке може містити кожне оновлення. Звідси, якщо у вас cl_cmdrate дорівнює 100 і ваш cl_rate дорівнює 9999, кожне оновлення може містити 99.99байт даних (9999/100 = 99.99). Цього має вистачити для ваших потреб, так як ви посилаєте менше даних на сервер, ніж він посилає вам.
У сервера є таке поняття як tickrate.
Ігрова секунда ділиться на безліч відміток (тиків), чим більше відміток (тиків), тим чіткіше і плавніше картина того, що відбувається на сервері, а значить, ваші попадання реєструються сервером набагато краще і швидше.
Тік залежить від заліза, на якому стоїть сервак, ну і звичайно конекту, але частіше за все проблема в залозках.
Можна відкрити консоль і прописати "net_graph 3"
У правому нижньому кутку з'явиться ось така табличка.
Рейт сервера яка ставить безпосередньо в server.cfg який знаходиться Х: # 92; server # 92; cstrike # 92; cfg:
Міняємо значення цих команд на свої!
sv_minrate
sv_maxrate
sv_minupdaterate
sv_maxupdaterate
sv_mincmdrate
sv_maxcmdrate