Настройка сетевого соединения

Для игры по интернету – а в RtCW Multiplayer все преимущественно по интернету и играют – настройки сетевого соединения являются чуть ли не более важными, чем то какой у вас компьютер и графическая карта. Что вам потенциальные 160 FPS при самых красивых графических установках, которые может выдать ваша GeForce Ti 4600, если информация с сервера до вас будет идти с такой скоростью, что ее хватит только на обновление картинки (игровой ситуации) 20 раз в секунду? Или если при двух и более игроках на экране ваш узкий канал будет забиваться и вместо игры получится "слайд-шоу". Разумеется, я немного утрирую, и наиболее тяжелые ситуации лечатся скорее сменой провайдера, АТС или переходом на выделенную линию связи, но даже если у вас молниеносный сигнал до игрового сервера и обратно, существует ряд переменных, неправильная настройка которых может заглушить и его. И наоборот, – модемную связь среднего качества можно в значительной мере "отполировать" верными установками. Помимо всего прочего, именно в связи с тем, что обновление картинки должно определенным образом коррелировать с количеством принимаемой/отсылаемой информации, сетевые настройки оказывают ощутимое влияние и на физику мира RtCW. Поэтому некоторые параметры настроек сети в идеале должны быть увязаны с настройками графической подсистемы.

Для тех, кто в сетевых играх впервые – скорость связи (ping) измеряется в миллисекундах, за которые пакет (единица информации) передается от клиента (вас) к серверу (удаленному компьютеру, к которому подсоединяются и через который играют все игроки). Соответственно, чем ниже пинг, тем быстрее проходит информация, и тем более гладкая получается игра. Разумеется, идеально, если у вас пинг не превышает 10-25 миллисекунд. Но все же относительно уверенно можно играть и с пингом 100-200. Все, что выше, к сожалению, будет подводить вас в ситуациях, где исход схватки, особенно в близком бою, зависит от скорости реакции на ситуацию. Посмотреть какой у вас пинг можно в игре в соответствующей графе того же окошка, где перечислены игроки обеих команд и текущие очки (обычно это клавиша TAB.


cg_lagometer   Включает ("1") в нижнем правом углу экрана мониторчик с динамическим графиком качества вашего соединения с сервером. Зашкаливания вниз/вверх означают потери пакетов в том или ином направлении или то, что ваш компьютер не успевает обрабатывать поступающую информацию. Чем быстрее и глаже бежит линия – тем лучше.

rate   Отец всех сетевых настроек. Контролирует, сколько байт в секунду вам передается с игрового сервера. По умолчанию равен "5000", то есть 5 кб/сек. Чем этот параметр больше, тем более гладкое у вас соединение и тем более живая игра. То есть, например, когда на экране у вас бегает 15 человек, все стреляют, кидают гранаты и прыгают как черти, – поток информации на вас обрушивается, естественно, недетский. И так как все эти данные умять в 5 кб/сек не всегда удается – движения получаются рваные, люди перемещаются "кадрами", и вы можете даже не заметить, как вас убили, – просто следующий кадр: вы на полу и короткий некролог в верхнем левом углу экрана. Но тут следует оговориться: если у вас очень быстрая связь, информация проходит четко, без задержек и потерь. В таком случае даже можно понижать rate до, скажем, 3500-4000 без особых последствий для не особо людных ситуаций в игре. Но, – чем больше rate, тем лучше. Однако, если вы оплачиваете свой трафик, то учтите, что с повышением rate будут расти и счета за интернет. Примерные цифры таковы (download):

1 час игры с rate "5000" – мегабайт 10. Ну, если всю игру вы были в самой гуще событий: сплошные бомбежки, пули и большие открытые пространства с бегущими по ним ордами (типа карты mp_tram) – то может набежать типа мегабайт 12-13. Хотя был у меня просто исключительный случай, когда за полчаса игры (как раз mp_tram) набежало 7,5 мегабайт – но там играло 16x16 и почти все они были все время на виду).

1 час игры с rate "3500" (лично я использую его на hell.ru и на маленьких картах на забугорных серверах, где заведомо не будет открытых пространств и больших скоплений народу) – скромно набегает мегабайт 6,5-8.

Если трафик вас не заботит совсем, или вы играете по локальной сети – поднимайте rate вплоть до "25000". Однако это не означает, что RtCW будет тянуть пропорционально больше информации: когда вы просто сидите в темном углу и ждете врага – никаких особых данных кроме сообщений в консоли и прочей текстовой фигни вам не передается. Все это можно увидеть, если включить cg_lagometer.

С модемщиками отдельная история: к сожалению, максимальная скорость download’a на 56k – где-то 6-7 кб/сек. Предложений ставить rate больше "5500" при самой оптимальной модемной связи я нигде не встречал.

cl_maxpackets   Переменная определяет количество исходящих от вас пакетов. По умолчанию равна “30”. Если у вас суперсвязь и не жаль трафика, можно на всякий случай поставить в "60" или даже "100". Но – хоть убейте – я тысячу и один раз экспериментировал с этим параметром и следил непосредственно в игре, что с ним делают Отцы и прочий люд (включая и тех, у кого минимальный пинг и максимальный rate) – в 80% случаев его оставляют в "30". Для игры по локальной сети - "100". Модемщикам можно ставить ниже "30" (до "15"), – но опять-таки: ориентируйтесь на монитор сетевого соединения (cg_lagometer), – если пошли зашкаливания, попробуйте поиграть со значениями. Однако существует довольно логичное и даже обоснованное различными формулами мнение, что значение cl_maxpackets должно в идеале равняться или составлять 1/2, 1/3, 1/4 (в общем, быть делителем) величины com_maxfps (См. раздел по настройке видеосистемы). К примеру, в моем конфиге такие установки:

   com_maxfps "76"
   cl_maxpackets "38"
   snaps "38"

snaps   Уже отчаявшись найти мало-мальски вразумительное объяеснение значения этого параметра, я случайно попал на какой-то французский Quake-сайт. И лишь там мне довелось что-то прояснить. Так как проверить эту информацию просто негде, привожу "как есть": "Snaps: число запросов новой информации об игре от клиента к серверу. Серверы Quake 3 рассчитывают игровую ситуацию с частотой 40 Гц (то есть за одну секунду делается 40 снимков игровой ситуации). Значение переменной snaps определяет число запросов новой информации об игре от клиента к серверу в "разах в секунду". Значение по умолчанию – "20". Значение "40" сделает ваш трафик (в пределах, установленных параметром rate) более насыщенным". Иными словами, насколько мне представляется, snaps определяет скорость обновлений сетевой информации об игре (типа как FPS в графике). Ситуация, очевидно, такая же, как и с параметром rate: чем больше, тем лучше – больше обновлений, точнее и актуальнее (пусть даже в миллисекундах) информация. Особенно, если у вас низкий пинг и высокий rate. Если пинг не радует, или вы не можете позволить себе высокий rate, то постарайтесь подыскать приемлемое значение snaps, но помните, что далеко не все сервера позволяют его делать меньше "20". Во всех случаях имеет смысл ориентироваться на график в cg_lagometer.

Однако, как и в случае с cl_maxfps, существует также довольно логичное и даже обоснованное различными формулами мнение, что значение snaps должно в идеале равняться или составлять 1/2, 1/3, 1/4 (в общем, быть делителем) величины com_maxfps (См. раздел по настройке видеосистемы). К примеру, в моем конфиге такие установки:

   com_maxfps "76"
   cl_maxpackets "38"
   snaps "38"

Помимо всего прочего, вопреки процитированному мнению французских квакеров, существуют еще в природе такие корявые сервера (скорее всего, для RtCW таких серверов нет), на которых (серверное) значение snaps установлено в "20". В таких случаях вам (как клиенту) устанавливать его в "40" просто не имеет смысла.

cl_packetdup   Количество повторов пакетов, на случай если они у вас теряются. Рекомендуется поставить в "1", хотя если они продолжают теряться – можно поднять аж до "5". Для локальной сети - "0".

cl_allowdownload   Если поставить в "1", то RtCW будет автоматически скачивать недостающие карты и проч., когда вы подсоединяетесь к серверу. Рекомендуется держать в "0", скачивать карты и все остальное с сайтов производителей (гораздо быстрее получится), и выставлять в "1" в случаях необходимости.

cl_autoupdate   Только в "0" и держите. Вам ведь не надо, чтобы RtCW вдруг по собственному почину стал закачивать очередной патч мегов на 15? ;). Но даже если никаких патчей пока нет, при каждой загрузке игры (если у вас включен интернет и активирована эта функция) вы будете долго смотреть на серый экран, пока RtCW запрашивает мастер-сервер о наличии обновлений.

pb_sleep   Команда относится не к основной игре, а к встроенной в нее программе PunkBuster, которая призвана возводить преграды на пути читеров и мошенников, путем принуждения использовать переменные в определенных рамках, отслеживания всяких левых программ, которые, скажем, помогают злодеям метко стрелять или смотреть сквозь стены. Исходя из того, что на подавляющем большинстве серверов PunkBuster активирован, не мешает отрегулировать и его. Переменная pb_sleep определяети как часто PunkBuster "опрашивает" вашу машину и, соответственно, немало забивает ваш канал своими манипуляциями. Рекомендуется выставлять максимальное значение – "500" (как можно реже).

cg_predictitems   Эта переменная регулирует кто – сервер или клиент – решают был ли поднят какой-нибудь предмет. Рекомендуется установить в "0" (по умолчанию в "1"), чтобы это определялось сервером, а то при плохой связи может сложиться такая ситуация, что вам покажется, что вы взяли предмет (оружие, медпакет, патроны), хотя на самом деле это не так, поскольку оно лишь было "предсказано" исходя из проекции вашего движения.

cg_nopredict   А вот эта переменная отвечает за предсказание движений игрока (но только вас, а не всех сразу). Если ее отключить, то клиент (то есть вы) будет ждать подтверждения своих координат с сервера, прежде чем ваш компьютер правильно рассчитает вам ваше собственное положение. На самом деле это делает игру очень неудобной даже с пингом 10-20: все происходит толчками да урывками. Очевидных плюсов пока не заметил, так что смею рекомендовать оставить в "0", где она и есть по умолчанию.

cl_timenudge   Эта команда весьма тонкой настройки. Неплохоописана вот тут (на английском). Постараюсь объяснить на пальцах: она позволяет некоторым образом сокращать/увеличивать время графического отображения информации об игре. В случае сокращения – вашему клиенту дается команда "высвобождать" информацию на указанное количество миллисекунд раньше. То есть, скажем, при cl_timenudge "-50" (меньше нельзя) – у вас как бы снимается 50 единиц пинга. Но это не даром – игроки (так как движок игры не успеет "отшлифовать" их движения) – будут перемещаться небольшими урывками. При положительных значениях (которые, к слову, запрещены) вы получите все в очень гладком, отполированном виде, но с опозданием. Отрицательные значения имеет смысл использовать при пинге не менее 50-70 (считайте, что ценой небольшой кривизны вы получаете почти что пинг 20) и не более 300 (при 350 вы просто не получите никаких видимых преимуществ, а все будет выглядеть еще более коряво). Этой переменной активно пользуются любители меткой стрельбы. Считается, что значения меньше (в сторону нуля), чем "-50" смысла не имеют, поскольку вы их просто не почувствуете, однако чаще всего я замечал значения "-25". Однозначной характеристики дать не могу: иногда минусовые значения мне очевидным образом помогали компенсировать высокий пинг и метко стрелять, а порой – наоборот. Так что, экспериментируйте, господа.


Предельно подробно о сетевых настройках и оптимальных значениях rate под разные типы соединений можно посмотреть здесь (на английском) и вот здесь (на русском).

Наиболее тонкие нюансы (на тему пинга, лагов и прочего) описаны вот тут (на английском).

А вот здесь (на английском) можно просветиться желающим установить сервер или просто разобраться в теории и практике работы игровых серверов.



Настройка RtCW

      1. Настройка видеосистемы RtCW

      2. Настройка звуковой системы

      3. Настройка сетевого соединения

      4. Общие настройки и настройки интерфейса

      5. Настройка мыши

      6. Настройка OSP



[GORE]Hallelujah

Последнее изменение 16 января 2003 г.

Comments