Меню

Реклама


  • Этот раздел посвящен такому важному показателю, влияющему на весь процесс игры в CS, как «пинг».

     

    «пинг» - это время между отправкой пакета и приемом ответного между Вашим компьютером (клиентом) и сервером. И, вроде бы понятно, что чем это время меньше, т. е. «пинг» - ниже, тем лучше.

    Но на деле не все так просто. «Пинг» по своей природе делится на нормальный и аномальный. Рассмотрим каждый из них подробно

    Нормальный «пинг»

    Нормальный «пинг» - по-простому, это задержка сигнала на всех участках линии, при его "путешествии" от пользователя до сервера плюс то же самое, но назад. Что может быть проще? Но, есть одно "но" - это при отправке одного пакета. А когда их посылается несколько и подряд (т. е. ответ на первый ещё не пришел, а второй уже послан и так со следующим и т. д.), то пинг увеличивается на 40-60% (а иногда и на 100%) от начального. В итоге: минимальный пинг 150 мс, максимальный 250 мс. Вот, именно, максимальный и будет в игре (или даже больше). Конечно, тут большую роль играет качество телефонной линии.

    Аномальный «пинг»

    Команды и результат

    cl_updaterate ## - количество пакетов (согласований), посланных от сервера - клиенту за единицу времени (секунду). Эта команда напрямую связана со скоростью соединения и, имея 28.8 кбод нет смысла ставить значение больше 15 (лучше 10). Потому что, поделив 2.5 кб/сек на 15, получим небольшой размер "пакета" данных на одно согласование (маловато будет). Так что для 28.8 надо ставить cl_updaterate "10" и не больше.

    Скорость соединения (Кбод) cl_updaterate (1/сек)

    33.6 от 15* до 20

    от 48.8 от 20* и более

    • - *Оптимальное значение

    ISDN и выше - 30

    cl_cmdrate ## - количество согласований в секунду, посланных от клиента - серверу.

    Значения "cl_cmdrate" в соответствии с качеством соединения:

    Модем - 20-30

    Примечание: Если ты хочешь общаться по микрофону и хочешь, чтобы другие игроки слышали твой голос, то ставь значение 30. Но как известно единовременно исходящий и входящий потоки они, как два медведя в одной берлоге, взаимоуменьшают друг друга. Так что если общаться голосом не предвидится, то ставь от 10 до 20.

    ISDN и выше - 40

    rate #### - Поток (в байтах) со стороны сервера. Вообще эта величина должна быть ниже скорости модемного соединения примерно на 20-30% (потому что исходящий поток тоже существует и, заняв все 100% пропускной способности линии, Вы себя обречете.

    Если задать значение больше допустимого – то произойдет FlushEntityPacket, сервер «закидает» пользователя "пакетами" по его же требованию в удобный для него момент. Нужно учесть, что для большого числа игроков (16-20) скорость соединения играет большую роль. Не рекомендуется ставить максимальное значение, если пакеты часто не доходят: на их "перепосылку" надо иметь "резерв".

    Значения "rate" в соответствии с качеством соединения:

    • Модем 14400 или ниже - уже ничто не поможет.

    • Модем 28800 - 2500-3000

    • Модем 33600 - 2900-3900

    • Модем 56000/одноканальный ISDN - 3600-5300

    • Двухканальный ISDN - 5000-7000

    • Кабельное соединение - 5600-10000

    • xDSL/T1 и выше - 7500-20000

    • LAN (10MBps или 100MBps) – 20000-25000

    cl_latency -### (или pushlatency )- Компенсация лагов. Величина, необходимая для хоть какого-то скрашивания серых будней "модемного" игрока. Задаётся как 50% или 75% от текущего «пинга» с противоположным знаком (100% имеет эффект, но не стоит столько задавать). Например, для «пинга» 200 подойдет cl_latency "-150". Эта величина ОЧЕНЬ важна. Но в КС 1.6 она не используется.

    cl_rate #### - Тоже, что и rate, но со стороны клиента. Величина не столь важная, т. к. клиент никогда не сможет использовать её на 100% (только когда происходит закачка "лого" на сервер). По умолчанию стоит cl_rate "9999", так и оставим.

    fps_max ### - Как уже видно из названия - максимальный FPS в игре. Обычно ставят 100. Это зависит от "мощности" машины. В принципе от 60 до 100 - вполне приемлемое качество. НО, без следующей переменной вы не увидите эти FPS вообще.

    fps_modem ###- А вот это то, что надо. Приравниваем fps_modem к fps_max и всё. Ходит мнение, что fps_modem должна ровняться cl_updaterate. Но это не так. Обычно ставится fps_max "100" и fps_modem "100". Но у этих переменных есть и МИНУСЫ. "Лагает" сильнее, т. е. чаще при высоком fps_modem, чем при низком. Так что ставьте от 60 до 100.

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

    Можно привести стандартный "конфиг" для скорости соединения 33.6 кбит/сек.

    cl_updaterate"15"

    cl_cmdrate"30"

    rate"2500"

    fps_max"60"

    fps_modem "60"

    А в autoexec. cfg неплохо бы добавить:

    //При latency или пинге в 200мс

    cl_latency"-150"

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

    Для начала надо создать в директории counter-strike (например, C:\Sierrra\Half-Life\cstrike\) файл с именем, например, nolag. cfg. Открываем его блокнотом или Wordpad и пишем следующее:

    cl_allowdownload – Если напишешь цифру 1, то разрешишь скачивание файлов с сервера к себе на компьютер (например, на сервере все играют на карте, которой у тебя нет, и если параметр активизирован, то эта карта должна скачаться к тебе на компьютер.

    cl_allowupload – Тоже самое, только наоборот. Если у тебя в компьютере стоит модель какого-либо оружия, а на сервере её нет, то при значении «1» она туда закачается.

    cl_download_ingame – разрешает («1») или запрещает («0») загрузку чужих моделей оружия, скинов и т. п. во время игры. Для уменьшения «пинга» надо ставить 0

    cl_cmdbackup – Сколько пакетов будет послано на сервер за секунду. Чем меньше значение, тем «пинг» будет меньше. Но не следует ставит слишком мало. Обычно надо ставит значение 2 или 3.

    cl_lw – При значении «1» все эффекты и действия связанные с оружием просчитываются у тебя на компьютере, т. е. на стороне клиента, а не на сервере. Всё значительно быстрее, но у тебя может не получиться сделать то, что ты хотел. Но никаких отклонений незаметно от реально происходящего. Если ставишь 1, то «лаги» будут меньше.

    cl_lb – При значении «1» видны дыры на стенах, пятна крови и т. п.

    cl_lc – при значении «1» основная команда активизирующая cl_lw and cl_lb. При большом «пинге», сервер может значительно оптимизировать работу. Но на самом сервере может быть отключён этот параметр.

    cl_nodelta - Запретить сжатие. По умолчанию 0, менять не надо, а то только уменьшится скорость соединения.

    cl_nopred – Чтобы движения игроков были плавными, то ставь 0

    cl_resend - Через сколько будет послан пакет, если предыдущий не дошел. Чем меньше, тем лучше. Но лучше поставь 2, а то если у тебя плохая линия, то пакет снова не дойдёт и будет ошибка

    cl_showfps – Показать график FPS. Очень полезная вещь, но многих раздражает.

    max_shells – Сколько гильз одновременно покажется на экране. Ставь 0. От много отказываться приходится из спецэффектов, если уж хочется нормальной игры

    max_smokepuffs - Аналогично предыдущему параметру, но это про дым. В зависимости от значения от 1 до 3 будет меняться изображения дыма. плотности клубов дыма. Самое лучшее изображение, но замедляющее игру, при значении 3.

    mp_footsteps - Звук шагов. Какой бы «пинг» не был, это отключать нельзя, т. к. необходимо слышать противника. То есть «1»

    net_graph - График скорости соединения. Показывает скорость отправки, получения информации в kb/s, показывает график соединения и FPS. Значения от 1 до 3 в зависимости от желания получать полную или неполную информацию. При значении «3» видно все. Посмотри на значения loss и choke. если есть loss - плохой канал (не должен превышать 1), если choke - меняй настройки rate/cl_rate/cmdrate/updaterate. Если ни того, ни другого нет – «лагает» сервер.

    net_graphwidth – Ширина графика. Стандартное значение – 192.

    net_graphpos - Расположение графика скорости соединения.

    Понижая «пинг», мы также должны повысить такой показатель, как FPS («Frames per second», или «количество кадров в секунду»)

    Повышение fps

    Узнать fps можно следующим образом: в консоли пишите "cl_showfps 1" и в левом верхнем углу появится цифра, показывающая ваш текущий fps. Также можно узнать свой fps, прописав "net_graph 1 (\2 или 3)" или "timerefresh". Итак, если ваш fps в среднем выше 50 - не беспокойтесь - этого вам должно хватить для игр в клубе или тренировок дома. Если ниже, то вот советы, как его fps - аббривиатура к "frames per second" или "кадры в секунду". повысить:

    1. Поменяйте разрешение на 640x480.

    2. Поставьте драйвер с OpenGL на Direct3D.

    3. Уберите рисунок с рабочего стола, если компьютер совсем слабый.

    4. Поставьте цветовую палитру на 16 бит.

    5. Вот консольные команды, которые вам должны помочь:

    "r_drawviewmodels 0" - убрать оружие с экрана. Дает выигрыш до 30% в скорости.

    "r_picmip (1\2\3\4\5)" - коэффициент, определяющий максимальный размер текстур. Чем больше - тем быстрее.

    "gl_max_size 32" - максимальный размер текстур при OpenGL. 256 - по умолчанию.

    "r_dynamic 0" - убирает динамическое освещение.

    Когда все необходимые команды запишете, сохраните файл. После запуска CS и подсоединения к игровому серверу надо написать в консоли: exec nolag. cfg. чтобы активизировать команды этой конфигурации.

    Вот вроде и все. остается на сервере прописать следующие команды и тогда совесм хорошо будет:

    • sv_unlag - Компенсировать лаги клиентов т. е. разрешить cl_lc, cl_lw и cl_lb (значение = 1).

    • sv_unlagmax - Максимальное время компенсации задержки в секундах. Оставьте значение по умолчанию - 0.5 секунды.

    • sv_unlagsamples - Сколько предыдущих пакетов используются для вычисления задержки клиентов. Хватит одного пакета (значение = 1).

    Напоследок хотелось бы добавить, что с этими командами необходимо экспериментировать, найти оптимальные значения для себя. а может быть и добавить другие команды, которые снизят пинг/повысят FPS.

    Смысл приведенных выше команд в том, чтобы убрать все лишние процессы, работающие в компьютере, которые и приводят к сильным «лагам». Кроме того, надо следить за тем, чтобы было достаточно места на системном диске, чтобы не было проблем со SWAP-файлом. Свободно должно быть минимум 500 Мб.

     



  • На главную

    [© 2014 Диеты