Сегодня Четверг 24.05.2012
Украинское время 14:42
Главная » Статьи » Статьи StarCraft 2 » Разное

Улучшаем пинг в СК2

Не так давно комрад   R1CH в своей статье на tl.net рассказал об особенностях сетевого подключения второго СтарКрафта.

Сразу оговоримся, что под "латентностью", "пингом" или "лагом" имеется именно сетевой пинг (тот, что зависит от проводов). В СК2 так же встроен командный буффер, который предназначен для сглаживания игры при высоких лагах. С другой стороны он автоматически добавляет некий дополнительный пинг, который нельзя исправить никакими подрутками.

 

Введение

СК2 запускается через удаленный сервер, как например HoN. Не p2p как было в БВ, а через удаленную машину-сервер. Близзард - хост игры, а не вы (не тестировались Произвольные игры, может быть в них все немного иначе). Протокол - TCP, а не UDP как было ранее. Я не знаю, почему в Близзард решили использовать TCP/IP, ведь при равных условиях этот протокол проигрывает по пингу из-за потерянных пакетов. Вероятно, они не хотели ломать голову с фрагментацией или NAT.


"Дропхак" и обычные лаги

Т.к. другие игроки так же подключаются к серверу Близзарда, а не к вам, вохможность "дропхака" исключена полностью. Дропхак позволяет прервать соединение какими-либо способами, и десинхронизировав соединение, выкинуть вас из игры. А т.к. в СК2 соединение идет через сервер, все что можно сделать - дискнуть себя с сервера. Сервер же остается жив, и сможет определить, кто остался в игре. Он будет победителем и получит очки.

Тем не менее, остается потенциальная угроза отправки каких-нибудь баг-пакетов, которые бы обрубали сервер. Но здесь мы предполагаем, что уровень защиты, и вообще вся система сервера не позволяет это сделать (ну или в крайнем случае, баг будет пофиксен в два счета).

Вы могли заметить, что окно Waiting for players появляется довольно часто. Сервер настроен так, что при лаге одного игрока, на паузу ставятся все остальные. Типа не честно было бы продолжить игру, чтобы "нелагающий" игрок перемикрил, или, того хуже, поймал на муве лагающего, пока тот не в состоянии что-то сделать. В теории же, можно сделать как в HoN'е - если игрок лагает, это его проблемы, у остальных все хорошо. С другой стороны, такая система позволяет зайти в игру миллиону обсов. Если обс лагает, кому есть до этого дело?


Port Forwarding

Настраивать порт-форвардинг не нужно. Вы подключаетесь к battle.net'у как к репсам. Опять же, это решает вопрос с proxy: 1x1 это, 2x2, 3x3 - разницы нет.


Мапхак

Небольшой технический взгляд на мапхаки. Т.к. соединение идет через сервер, технически возможно полностью избавиться от мапхака (сервер отправляет игроку только то, что он "может видеть"). HoN так делает. Но в HoN'е мало юнитов, это ж как DotA, но в случае войны лимитов (тем более в каком-нибудь 4x4, где воюют 4 тосса с батонами). Это означает, что как только лимит входит в зону вашей видимости, сервер должен отправить в одно мгновение пару мегабайтов. При этом не должны теряться пакеты, иначе будет лаг. И если это каким-то хитрейшим способом можно расчитать, ссылаясь на скорость и вектор движения юнитов, то точка скана - чисто случайная точка для сервера.

То есть в теории можно замутить очень хитро, но на практике от этого пострадает пинг, а пинг в РТСках крайне важен.


Улучшаем латентность

Как уже было сказано, СК2 использует TCP. TCP разработан так, что пинг вторичен по отношению к скорости передачи данных. Практически все стрелялки используют UDP из-за этого. Особенность TCP - точная передача данных. Если пакет утерян, его нужно переслать заново (а игра в этот момент подлагивает).

Тем не менее, можно подкрутить коннект так:

Меняем TcpAckFrequency на единичку

Запускаем редактор реестра (Пуск - выполнить - regedit), затем переходим на закладку:

HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
Tcpip
Parameters
Interfaces

Здесь должен быть ключик IPAddress с вашим ИПом. Здесь же правой кнопкой создаем новый ключ DWORD, называем его TcpAckFrequency, значение "1".

Почему это работает?

Обычно TCP отправляет запросы на подтверждение получения пакетов. Это происходит до тех пор, пока сервер не получит ответ, либо не прекратит это дело по тайм-ауту. Таймаут может произойти из-за того, что отправляющая сторона ожидает от вас подтверждение (ack). Установив TcpAckFrequency на единичку, вы отправляете подтверждение сразу после получения данных. Обратите внимание, что это повышает требование каналу, т.к. вы будете отправлять в разы больше данных.


Что может помочь

Если вы сидите на ADSL'е, соединение может использовать метод interleaving, который уменьшает подверженность всяким ошибкам, но опять же, добавляет пинг. В настройках ADSL модема стоит отключить эту опцию. Опять же, качество проводов, шумы в телефоне, расстояние до АТС (а также погода на Марсе и все такое прочее) может заставить вас включить эту опцию (без нее все станет работать еще хуже). Можно попробовать связаться с провом, объяснить задачу, но вероятность получить ответ типа: "чоо0???77" крайне высока.

Провод против беспровода:
Правильно настроенная беспроводная сеть практически исключает лаг. Тем не менее, если вы находитесь в местности буквально кишащей шумами на частоте 2.4 гигагерца, пинг может стать существенным. Пинг до правильно настроенного роутера - 1-2ms. Если больше - провод вам в помощь.

На дешевеньких картах по беспроводу также можно получить лаг в момент сканирования точек доступа. WlanOptimizer'ом можно отключить сканирование, но он только для Висты/Вин7.

ХРюшникам можно посоветовать подкрутить RWIN. Информации много, гуглится легко.


Стопудово не поможет

В сети миллиард твиков, которые типа "улучшают интернет". Как правило их задача сводится к подкрутке значений TCPNoDelay, NetworkThrottlingIndex, TcpDelAckTicks, отключению QoS Packet Scheduler. Можно конечно попасть на уникальный для себя твик-артефакт (один из сотни), который даст нужный результат. Но у другого он работать уже не будет. Тут дефалтные настройки - лучший выбор.

 

Источник : Reps.ru

Советуем прочитать:
Категория: Разное | Добавил: Am1g0 (20.09.2010)
Просмотров: 1121 | Рейтинг: 0.0/0
Всего комментариев: 1
0  
1 Серёга   (10.09.2011 06:27)
напишите сайт где можно избавиться от пинга

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта

Counter-Strike 1.6

Скачать CS 1.6 Патчи CS 1.6 Читы для CS 1.6 Боты для CS 1.6 Оружие CS 1.6 Игроки CS 1.6 Готовые сервера CS 1.6 Анти-читы CS 1.6 Карты для CS 1.6 Программы для CS 1.6 Прицелы CS 1.6 Темы меню CS 1.6 Выстрелы CS 1.6 Взрывы для CS 1.6 Триксы для CS 1.6 Плагины CS 1.6 Скрипты CS 1.6 Статьи CS 1.6 FAQ по CS 1.6 Форум CS 1.6

Дополнение сайта

О сайте Игровые статьи Игровые обои

Counter-Strike Source

Читы для CSS Скачать CSS Патчи CSS Модели оружия CSS Модели игроков CSS Карты CSS FAQ по CSS

CrossFire

Скачать CrossFire Читы для CrossFire FAQ по CrossFire

Call Of Duty Black Ops

Читы CoD:Black Ops Патчи CoD:Black Ops Карты для CoD 7 Оружие CoD BO Скачать CoD 7 FAQ по CoD BO

CoD ( Все )

CoD Файлы CoD Обои

WarCraft 3

Программа WarCraft 3 Патчи WarCraft 3 Читы WarCraft 3 Карты WarCraft 3 Скачать WarCraft 3 NoCD WarCraft 3 Анти-читы WarCraft 3 Модели WarCraft 3 Статьи WarCraft 3 FAQ по WarCraft 3

WoW

Патчи WoW Скачать WoW Аддоны WoW Программы WoW Читы для WoW Обои WoW FAQ по WoW Статьи WoW

WoW Cataclysm

Скачать WoW Cataclysm Web WoW Cataclysm Видео WoW Cataclysm FAQ WoW Cataclysm Обои WoW Cataclysm

WarCraft 4

Патчи WarCraft 4 Скачать WarCraft 4 Обои WarCraft 4

MU Online раздел

Клиенты MU Online Автокликеры MU Online Читы MU Online Программы MU online Скины MU online Боты MU Online Web-сайты MU online Для сервера MU Лаунчеры MU online Патчи MU online Main MU online Статьи MU online Обои MU online FAQ MU online

StarCraft 2

Скачать sc2 Карты StarCraft 2 Клиенты/Патчи sc2 ПРограммы StarCraft 2 Видео StarCraft 2 FAQ по StarCraft 2 Статьи StarCraft 2 Обои StarCraft 2

Point Blank

Скачать Point Blank Читы для Point Blank FAQ по Point Blank Статьи по Point Blank Про игру Point Blank Статьи Point Blank

Need For Speed

NFS Undercover NFS Обои NFS ProStreet NFS HP2 NFS Most Wanted NFS Carbon NFS Underground 1(2) NFS Обои

Perfect World

Файлы для PW FAQ по PW

AION

Файлы AION Web AION FAQ по AION

LineAge 2

Файлы LineAge 2 Обои La2 FAQ La2 Генератор ников La2

Все Статьи

Все статьи Статьи MU Online Статьи StarCraft 2 Статьи WoW Статьи Diablo 3 Статьи CS 1.6 Статьи WarCraft 3 Статьи Crashday

Читы игровые

Читы,баги для CSS Читы,баги для MU Online Читы,баги для Point Blank Читы,баги для CS 1.6 Читы,баги для CrossFire Читы,баги для WarCraft 3 Читы,баги для WoW Читы,баги для CoD Black Ops

Статистика



Online: 2
Гостей: 2
Пользователей: 0


Описание сайта
Национальный игровой портал GameLinez.Ru даёт вам возможность скачать читы, статьи про игры, файлы бесплатно и без SMS. Скачивание с нашего GameLinez-портала абсолютно бесплатное и очень удобное! Буквально одним кликом вы сможете скачать нужный вам чит, файл или статью с максимальной скоростью! Мы даём возможность скачать читы для многих популярных игр, таких как:Diablo 3, StarCraft 2, MU Online, WarCraft 3, WoW, CS 1.6. Вы узнайте про эти игры всё - прочитав наши статьи онлайн! Наши коллекции различных файлов не оставят вас равнодушными, и у вас появится желание зайти к нам на сайт ещё не один раз! Мы ждём вас на нашем "Национальном игровом портале - GameLinez.Ru".
А так же много различных файлов для различных игр по Интернету ( Например файлы для таких игра, как: Point BLank читы, Point BLank оружие, CoD 7 Black ops, Crossifre игра и другие. ) Новые бесплатные файлы, каждый день обновления и улучшения. У нас огромный пак файлов для ваших любимых игр.
Лучшие новости по рейтингу
АИМ не определяющиеся античитами
АИМ не определяющиеся античитами
Самые комментируемы новости
АИМ не определяющиеся античитами
АИМ не определяющиеся античитами
Случайные новости