Потери пакетов в играх что делать

Проверка потери пакетов интернета онлайн или через командную строку

Когда компьютер подключается к интернету или другой сети, происходит обмен маленьких блоков данных, называемых пакетами. Когда передача одного или нескольких пакетов не происходит, это называют потерей пакетов. Для пользователя это проявляется в виде медленной загрузки каких-либо данных, низкого качества подключения или полной потери соединения с сетью. Потеря может проявиться в любом приложении, но самыми заметными являются программы воспроизводящие аудио или видео, а также видеоигры.

Что такое пакеты и как они теряются

Пакет — это блок данных, строгой структуры, размер которых обычно не превышает 64000 байт, а чаще всего меньше. Используются они для более эффективной передачи данных, что обеспечивает высокое качество подключения к сети.

Потери пакетов в играх что делать

Обмен пакетами в интернете производится с помощью стека протоколов TCP/IP( TCP — протокол обмена передачей / IP — межсетевой протокол). Это несколько протоколов, которые обеспечивают online передачу данных, определяют их форму, способ отправки и так далее.

Потери пакетов в играх что делать

Так же, под IP понимают адрес какого-либо ресурса непосредственно в интернете. При попытке обращения к этому ресурсу по адресу (IP) высылаются пакеты данных. Чтобы эти данные не терялись и не дублировались, их контролирует протокол обмена (TCP). Если данные были доставлены, адрес в свою очередь отправляет ответные пакеты. При успешном обмене отображается скорость, называемая пингом (ping). На любом этапе может произойти ошибка, что будет являться потерей пакета.

При обнаружении проблемы с соединением, качеством контента приложения любой поисковик может выдавать фразу «потеря пакетов интернета, как исправить» и многие другие, не особо помогающие разобраться вещи. Чтобы исправить проблему, нужно прежде всего узнать причину.

Почему теряются пакеты

Есть несколько причин потери пакетов, каждой будет уделено внимание.

Важно! Каждая сеть сталкивается с этой проблемой. Это случается время от времени, в особенности из-за высокой скорости передачи. Если это не вызывает никаких негативных последствий, то не стоит обращать на это внимание.

Ошибки программного обеспечения

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

Проблемы оборудования (железа)

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

Перегруженность сети

При достижении пика пропускной способности сеть считают перегруженной. Это происходит, когда возрастает количество трафика. Пакеты формируют очередь и ждут пока их доставят. Но если сеть доставляет их очень медленно, то сеть не может хранить много данных в «подвешенном» состоянии, то они отбрасываются или игнорируются, чтобы сеть могла продолжить работу. Можно сравнить с дорожным трафиком, когда четырехполосное движение стягивается в двухполосное, только вместо часовой пробки, просто выкинув часть машин из потока. Определить самостоятельно эту проблему достаточно сложно.

Беспроводные и проводные сети

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

Потери пакетов в играх что делать

Проблемы, которые могут влиять на беспроводные сети:

При проводных сетях, проблемой могут стать неисправно работающие кабеля. Это может быть связано с неправильным подключением или механическим повреждением кабеля. Узнать можно с помощью тщательной проверки ПК и кабелей.

Кибернетическая атака

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

Проверка скорости

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

Обратите внимание! Перед замером скорости нужно отключить все сторонние программы, которые как-либо используют сеть. Также стоит учесть время суток, так как в вечернее время нагрузка на сеть возрастает.

Для проверки подойдёт любой сайт предоставляющий тест скорости, например https://www.speedtest.net. Разные сервисы могут показывать разную скорость, необходимо провести тесты на нескольких сайтах. Небольшие отклонения в скорости нормальны, но если различие составляет от 30% и выше — стоит обратиться к провайдеру за разъяснением причин.

Сам по себе тест малоинформативен, однако дает базовую информацию. Если скорость соответствует заявленной провайдером или близка к ней, следует продолжить проверку. Более подробную информацию можно посмотреть из командной строки, но есть онлайн ресурсы, которые предоставляют подобный функционал. Проблема таких ресурсов может быть в ограниченности и недостоверности данных.

Проверка при помощи командной строки

Более детальную информацию можно достать средствами операционной системы. Ручная проверка потери пакетов осуществляется через командную строку. Вызов и команды будут рассмотрены на примере os Windows, а также ниже приведены аналогичные команды для Linux и MacOS.

Для открытия командной строки в Windows нужно:

Обратите внимание! Для Linux достаточно ввести сочетание клавиш Ctrl+Alt+F1, для MacOS Shift+Command+U.

В первую очередь, определить потерю возможно с помощью команды ping. Она предназначена для тестирования доставки пакетов. По умолчанию отправляются 4 пакета объемом в 32 байта.

Потери пакетов в играх что делать

Для проверки требуется ввести в поле командной строки «ping». Начать проверку стоит с собственным частным IP-адресом, это поможет определить, является ли проблема локальной. Узнавать его можно через поисковик или при помощи командной строки. Введите «ipconfig», найти строку «IPv4-адрес». Перепишите этот адрес после команды ping.

Далее можно обратиться к серверам крупных компаний, так как они являются наиболее стабильными. Попробуйте несколько:

Важно! В Linux утилита ping работает бесконечно, если не задано количество отправляемых пакетов, остановить отправку можно комбинацией Ctrl+C.

Диагностика при помощи утилиты tracert

Командная строка также предоставляет внутреннюю программу для проверки маршрутов запроса — «tracert» (в Linux и MacOS — traceroute). Или трассировка. Данная утилита показывает каждый шаг и время задержки в сети до конечного источника. Например, изначально идёт обращение к частному IP адресу компьютера, затем к серверу провайдера и далее N-ное количество шагов к конечному адресу. Если какой-то адрес не отвечает, он может быть причиной потери пакетов. Вводится команда аналогично предыдущей, например — «tracert ya.ru».

Потери пакетов в играх что делать

Стоит помнить, что если при «пинге» пакеты не терялись, а при трассировке некоторые узлы не отвечают, то это нормально. Отдельный узел может быть закрыт для трассировки. Однако, если же проблема есть в определенном узле, следует связаться с провайдером для решения проблемы.

Использование сторонних программ и утилит

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

Пример таких программ:

Обратите внимание! У программ есть демоверсии, которые позволят не прибегать к оплате и торрентам.

Решение проблем с Интернет-соединением

Если вышеперечисленные способы не помогли, можно попытаться определить механические проблемы с интернет-соединением. В первую очередь проверьте стабильность работы вашего компьютера. Сетевой адаптер, USB-порты — уязвимые места и могут пострадать от механического повреждения и работать нестабильно. От чего будет падать качество соединения.

Потери пакетов в играх что делать

Последнее, что можно сделать, — оптимизировать интернет-соединение. Операционные системы часто сами проводят оптимизацию, но не всегда это оптимально. Вручную оптимизировать соединение крайне не рекомендовано. Это требует глубоких знаний в сетевых технологиях и отличного понимания работы стека протоколов TCP/IP.

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

Источник

Как исправить потерю пакетов

Потери пакетов в играх что делать

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

Что такое потеря пакетов?

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

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

Что вызывает потерю пакетов в вашей сети

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

Обнаружение потери пакета

Существует ряд программных приложений, которые могут обнаружить потерю пакетов в сети. Они каким-то образом «вынюхивают» пакеты, анализируя время их поездки или просматривая пакеты. Самый простой способ выяснить, существует ли потеря пакетов, — это пропинговать устройства в вашей сети.

В macOS или Linux откройте окно терминала и используйте следующую команду:

В Windows вы можете использовать tcpdump через оболочку Bash в Windows 10 или запустить Wireshark.

Процесс обнаружения пакетов довольно низок. После того, как вы установили способ проверки связи по сети, вам необходимо следовать практике изоляции и устранения, чтобы определить источник и причину потери пакета. Для этого в большинстве случаев потребуется пинговать большинство устройств в сети или запускать сценарии, которые выполняют то же самое. Знание топологии сети будет очень полезно здесь.

Определение причины потери пакета

Чтобы определить основную причину потери пакетов, вы должны начать с самой простой проблемы, чтобы обнаружить и вернуться обратно.

Сначала проверьте соединение Ethernet между устройствами. Проверьте наличие явных признаков физического повреждения и неправильного подключения. Эти кабели работают правильно? Решает ли переключение кабелей проблему? Проверьте маршрутизаторы и коммутаторы аналогичным образом.

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

Как исправить потерю пакетов в вашей сети

Как только вы определили причину потери пакета, есть два исправления, которые могут быть применены.

Потери пакетов в играх что делать

Первый включает в себя замену проблемного оборудования. Если ваше расследование привело к неправильной работе устройства, замените его.

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

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

Источник

Как улучшить качество сети, из-за чего лагают онлайн-игры и почему лучше не использовать для стримов Wi-Fi или 4G?

Лаги в играх бывают по многим причинам, но две основные, как правило: недостаточно мощный компьютер и проблемы с сетью в случае онлайн-игр.

Что мешает нормально поиграть, почему фризит\лагает и как улучшить ситуацию? Универсальные советы как для игроков через облачную платформу, так и в принципе для любителей онлайн-игр на ПК — в ликбезе от Алексея Лыкова.

Алексей Лыков, технический директор Playkey: Немного матчасти. Любой трафик состоит из пакетов, пересылаемых по сети. И в зависимости от качества сети некоторые пакеты могут теряться.

В пакете идет определенный сигнал. Когда пакет теряется, то два узла, взаимодействующих между собой (например, два сетевых коммутатора: на стороне игрока и на стороне сервера онлайн-игры), должны решить проблему с потерей информации. Образно их «общение» выглядит так:

Потери пакетов в играх что делать

Чем больше потерь, тем больше таких запросов от получателя до отправителя.

И что в итоге? Допустим, кадр состоит из нескольких пакетов. Приходят на компьютер 10 из 10 пакетов, кадр собирается и отображается. Пользователю клёво. Но если из 10 пакетов пришло 9, то картинка собраться не может.

Или, возможно, она соберется с какими-то артефактами. Мы называем это «рассыпанием» картинки. Вот как это выглядит в одном из худших случаев:

Потери пакетов в играх что делать

Что же происходит в сети?

Допустим, получатель отправляет запрос: «Дай мне этот 10-й кадр!», отправитель досылает его. Разумеется, на это нужно время. И вот в те драгоценные миллисекунды, которые на это тратятся, возникает лаг.

Если вы играете в онлайн-игру с 30 FPS (frames per second или кадров в секунду) при пинге в 10 мс, то пересылка пакета займет примерно 10 миллисекунд (пинг до сервера) + 30 миллисекунд (межкадровый интервал) Итого получаем 40мс. При 60 FPS это еще менее заметно, потому что межкадровый интервал уже равняется 15 миллисекундам, итого: 25мс (10 мс + 15мс). Но чем больше таких задержек, тем «неприятнее» картинка, чувствуются какие-то рывки, фризы.

То же самое с управлением. В World of Tanks, когда вы нажимаете кнопку «вперед», танк должен ехать.

Но как можно понять, что он действительно это делает? Танк считается «поехавшим» вперед, когда он на сервере получил эту команду. Вся калькуляция взаимодействия игроков происходит там (иначе всё заполонили бы читеры).

Чтобы пользователь не ощущал лаги при синхронизации действий с сервером каждую секунду, в клиентских мультиплеерных играх используют пререндеринг: при нажатии команды «вперед» танк сразу ее выполняет. Но, по сути, это еще не актуальное будущее для остальных пользователей. Если вы играли в World of Tanks, то могли видеть, как танки в воздух улетают или в скалу врезаются. Эта проблема возникает, когда происходит лаг в сети — сигнал уходит на сервер, а подтверждения того, что танк реально уехал, не пришло.

Здесь танки как раз летают в самом начале ролика

На каком этапе происходит основная часть потери пакетов?

А.Л.: Проблемы бывают разные:

1. Провайдер режет трафик по тарифу;

2. Стандартный роутер провайдера оставляет желать лучшего. Например, дешевые Wi-Fi точки — «вафля» в народе — могут давать

2 Мбит/сек скорости при тарифе 100 Мб/cек и в целом обеспечивать некачественный сигнал;

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

Большая часть потери происходит у клиента дома и, в первую очередь, из-за точки доступа Wi-Fi

С кабелем практически не бывает потерь: по сравнению с Wi-Fi это 1 к 1000.

Если роутер стоит за стенкой, сигнал ухудшается, это свойство обычных радиоволн. Также на беспроводной сигнал влияют любые другие устройства, излучающие радиоволны.

Как влияет на Wi-Fi микроволновка

Еще одна беда домашнего Wi-Fi — проблема нескольких точек доступа в многоквартирных домах или офисах. Они также «перебивают» друг друга. В этой ситуации надо у каждой точки снизить мощность сигнала, и тогда скорость у всех возрастет. Правда, обычно все идут обратным путем, выставляют мощность на максимум, и в итоге Wi-Fi плохо работает сразу у всех в доме.

А если в квартире есть другие устройства, подключенные к интернету? Имеются в виду смартфоны, другие ноутбуки, пуфик для кота со встроенным Wi-Fi. Они влияют?

А.Л.: Тут важно не количество устройств, а в целом трафик, который они потребляют. Если другие устройства работают в фоновом режиме, ничего страшного. Обычный интернет-серфинг на других компьютерах тоже мало влияет.

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

Для лучшего распределения трафика по устройствам мы советуем роутеры, которые поддерживают диапазон частот 5 ГГц. Стандарт 2,4 ГГц поддерживает меньше каналов — 13, и на каждом из каналов могут работать несколько устройств, тогда они начинают друг с другом конкурировать. Те, кому интересно узнать все детали, могут почитать всё в подробностях в публикациях на Хабре.

В этом плане, когда у нас есть какая-то общественная точка, 2,4 ГГц там могут очень плохо работать. Поэтому для тех, кто играет онлайн и использует Playkey, рекомендуются каналы с 5 ГГц. «Герцовка» Wi-Fi дает большое преимущество для беспроводной связи.

Как узнать потери у себя?

А.Л.: Можно быстро провести диагностику с помощью бесплатной утилиты MTR

Сначала подключите к компьютеру именно кабель, чтобы проверить, что проблема не на стороне роутера. Наберите в строке ya.ru и обратите внимание на графу Loss%.

Вообще потерь не должно быть, но это скорее исключение, чем правило. 5% потерь на каком-нибудь из узлов — не критично.

Если по кабелю все хорошо, подключите роутер. Может быть, например, такая картинка:

Потери пакетов в играх что делать

100% потерь на одном из узлов

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

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

Так, ок, что еще можно сделать, чтобы улучшить качество сигнала?

А.Л.: 1. Настроить у роутера приоритезацию

Если, допустим, вы постоянно играете в Witcher 3 или еще во что-то, вы можете просто зайти в настройки роутера и выставить игре максимальный приоритет. Это должно помочь, чтобы игра не «лагала», если у вас в квартире еще кто-то юзает интернет.

2. Попробовать перезагрузить роутер

Роутеры, особенно дешевые, могут копить у себя различные ошибки, создавать потери и задержки. Поэтому перезагрузка роутера сбрасывает какую-то внутреннюю часть: память, подключения. То есть все с чистого листа начинается. И это может помочь. Для дешевых роутеров, у которых плохо написан программный код, существуют разные прошивки, даже не родные, которые могут решать эту проблему.

3. Сказать антивирусу, что клиент онлайн-игры (или клиент Playkey) — это хорошие программы

Антивирусы, которые проверяют интернет, сканируют весь трафик, приходящий на компьютер. Для этого и компьютеру, и антивирусу нужно какое-то время.

Из-за этого могут быть ощутимые задержки. Иногда даже полусекундные, в зависимости от антивируса. Поэтому нужно выставить в настройках защитного ПО «благонадежный» статус конкретной программе.

Может, вам со своей стороны сделать что-то, а не уповать на техническую подкованность каждого игрока

А.Л.: Мы делаем, конечно. Во-первых, у нас есть схема отправки пакетов как по TCP-протоколу, так и по UDP.

И тут возникает ситуация: когда пакет теряется из-за того, что у клиента есть ограничения по каналу — например, провайдер дает 10 мегабит скорости. Нам приходится пересылать еще больше трафика через «бутылочное горлышко». Поэтому мы разработали алгоритм, который мягко поднимает и опускает битрейт, отслеживая диагностику сети у пользователя.

Если вы хотите прямо сейчас проверить свое подключение к интернету и посмотреть, как с ним справится Playkey — используйте промокод GeeksOnline на бесплатные 300 минут игры (работает 24 часа с момента активации и только для новых пользователей). Юзайте здесь на здоровье.

А если играть через 3G и 4G?

А.Л.: С ними все сложнее — при использовании 3G/4G сетей используются еще более мощные алгоритмы восстановления пакетов, то есть, избыточность очень большая (не наша, а на уровне протокола). Изначально подразумевалось, что пакетов теряется немерянное количество.

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

Сказать, что 3G/4G сети совсем нельзя использовать для онлайн-игр — конечно, нельзя. Но тут еще предстоит очень и очень много работы. В целом перспективнее сразу смотреть в сторону 5G-сетей. Если они справятся с обещаниями скорости в 25 Гбит/с, да еще и смогут снизить задержки при передачи данных в 50 раз, то это откроет для Playkey, как и для всего онлайн-гейминга, все двери разом.

Источник

Как работает неткод и от чего зависит его эффективность

Потери пакетов в играх что делать

Пришло время вооружиться знаниями обо всём, что связано с неткодом: от тикрейта до выделенных серверов и пиринговых (peer-to-peer или P2P) сетей.

Неткод – это непрофессиональный термин, используемый в основном разработчиками и геймерами, чтобы описывать одну из важнейших частей игр: онлайн-соединение и всё, что с ним связано. Иными словами, это фундамент, на котором строятся все мультиплеерные игры, и если фундамент оказывается шатким, то всё остальное уже не имеет значения. Играть в онлайне становится попросту неприятно. А когда неткод хорош, о нём даже не думаешь и просто наслаждаешься игрой. Но когда про неткод той или иной игры отзываются нелестным образом, что именно имеют в виду? Какие проблемы подразумеваются?

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

Важные термины, связанные с неткодом

Пинг

Вы смотрели фильм «Охота за “Красным Октябрём”», в котором «пинг» (активный импульс сонара) использовался для определения дистанции между американской и советской подводными лодками?
Так вот, пинг в современных онлайн-играх выполняет примерно ту же функцию.

Потери пакетов в играх что делать

Когда ПК или консоль «пингует» сервер, устройство отправляет ICMP-запрос (протокол межсетевых управляющих сообщений) на игровой сервер, после чего сервер присылает ICMP-ответ.

Потери пакетов в играх что делать

Время, которое проходит между отправкой запроса и получением ответа, и является пингом конкретного игрового сервера. Поэтому если пинг составляет 20 мс, это значит, что на передачу данных с клиента до сервера тратится 10 мс, поскольку пинг учитывает ещё и ответ сервера.

Потери пакетов в играх что делать

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

Маршрутизация

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

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

Потери пакетов в играх что делать

Существуют специальные утилиты вроде WTFast, создающие более «быстрые» (то есть короткие) маршруты с наименьшим количеством остановок. Однако эффективность подобных программ зависит от вашего местоположения и вашего интернет-провадера. Если провайдер позволяет создавать более короткие маршруты, то такие программы действительно могут помочь. Поэтому перед тем, как приобрести подписку на утилиту, обязательно проверьте, действительно ли она способна снизить количество задержек вашего интернет-соединения.

Потеря пакетов — куда делись мои данные?

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

Так что же вызывает потерю пакетов?

Потеря пакетов так же может быть вызвана проблемой с прошивкой роутера, технической неисправностью оборудования или же недостаточной пропускной способностью восходящих и нисходящих каналов.
Решить этот вопрос можно обновлением прошивки, простой перезагрузкой роутера или, если речь идёт о перегруженности восходящих или нисходящих каналов, приобретением роутера, в котором можно выставить высокий приоритет для активно используемых приложений. Рекомендуем обратить внимание на модель Edge Router X от фирмы Ubiquity.

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

Частота обновления

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

Если, допустим, игра делает это с частотой 30 Гц (30 обновлений в секунду), то между обновлениями проходит больше времени, чем в случае, если частота составляет 60 Гц.

Потери пакетов в играх что делать

Повышая частоту обновления, можно снизить уровень задержек в игре.

Потери пакетов в играх что делать

Поэтому если в игрока попадает 2 пули, то урон от этих двух пуль отправляется единым пакетом, и игрок получает урон от так называемой «суперпули», значительно превышающий урон от простых выстрелов.
На этом примере можно понять, что высокая частота обновлений нужна не только для снижения задержек в сети, но и для того, чтобы обеспечить плавный игровой опыт. К тому же при высокой частоте обновления потеря пакетов играет меньшую роль, тогда как низкая частота обновлений способна испортить впечатление от игры как игроку, страдающему от потери пакетов, так и тому, кто попался в его прицел. Чем меньше пакетов с данными вы получаете, тем важнее каждый из них.

Тикрейт

Тикрейт, или частота симуляции, – это показатель того, сколько раз в секунду игра создаёт и обрабатывает данные.

Потери пакетов в играх что делать

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

При тикрейте в 60 Гц у сервера есть только 16.66 мс, в течение которых он должен завершить очередное обновление игровой ситуации. Поэтому если сервер имеет фиксированный тикрейт, он должен обновлять ситуацию в игре как можно быстрее или хотя бы вписываться в окно, выдаваемое тикрейтом.

Потери пакетов в играх что делать

В том случае, если сервер не справляется с этой задачей, последствия заметны невооружённым глазом: телепортирующиеся игроки, проблемы с физикой, выстрелы, проходящие сквозь цели и не задевающие их, и многое другое.

Модели сети

Теперь, вооружившись всеми терминами, самое время рассмотреть структуру, по которой работает большинство онлайн-игр. На данный момент существует три модели сети, используемые в многопользовательских проектах. Каждая из них имеет собственные плюсы и минусы.

1. Выделенный игровой сервер

Потери пакетов в играх что делать

Используя данную модель сети, разработчики могут заключать контракты с компаниями вроде i3d или использовать облачные сервера, в числе которых AWS от Amazon, Azure от Microsoft и Cloud Service от Google, чтобы создавать выделенные игровые сервера, к которым будут подключаться геймеры.
Игровой сервер в этом случае работает на мощном оборудовании, а центр данных обеспечивает достаточную пропускную способность, необходимую для обработки пакетов всех игроков, подключающихся к серверу. Благодаря своему централизованному дизайну данная модель позволяет контролировать античит-системы и эффект, который оказывают игроки с высоким пингом на регистрацию попаданий.

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

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

Итог. Выделенные игровые сервера – это лучший выбор для динамичных онлайн-игр, где в одном матче участвует более 2 игроков, но при этом это самый дорогой вариант, поскольку вычислительные мощности, пропускная способность и другие слагаемые комфортной игры предоставляются профессиональными компаниями.

2. Локальный сервер

Потери пакетов в играх что делать

Другая модель, которую некоторые путают с пиринговыми сетями, позволяет использовать ПК или консоль одного из игроков в качестве хоста – то есть устройство геймера фактически становится сервером.
В этом случае разработчикам не приходится тратиться на дорогостоящие выделенные сервера.

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

Одним из главных минусов этого варианта является тот факт, что игрок, являющийся сервером, получает заметное преимущество, поскольку его пинг равен нулю. Он видит противника на долю секунды раньше и, соответственно, открывает огонь раньше. При этом игрок-хост может искусственно увеличивать пинг других игроков, что даёт ему нечестное преимущество (таких игроков называют лаг-свитчерами).

Потери пакетов в играх что делать

Основной проблемой данной модели подключения является то, что скорость сервера целиком зависит от скорости и пропускной способности интернет-соединения хоста. Если же ПК-хост использует Wi-Fi, о комфортной игре можно забыть. В этом случае игрокам приходится мириться с лагами, потерей пакетов, телепортацией персонажей и плохо работающей регистрацией попаданий. Это также ограничивает частоту обновлений игры, поскольку большинство домашних сетей попросту не справляется с хостингом матча, к которому подключается более 10 игроков, и не способны обновляться с частотой 60 Гц.

Хост видит WAN IP-адреса других игроков, что позволяет ему блокировать их, а также (чисто теоретически) устраивать DDoS-атаку этих адресов. В подобных ситуациях античит-системы практически бесполезны, поскольку игровая ситуация обрабатывается целиком на компьютере такого же игрока.

Тем не менее, самым раздражающим элементом игры на локальных серверах является миграция хоста – процесс, запускающийся после выхода хоста из матча, при котором вся игра ставится на паузу в течение нескольких секунд, пока выбирается новый игрок на роль сервера.

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

3. Пиринговые сети

Потери пакетов в играх что делать

Пиринговые (или одноранговые) сети чаще встречаются в файтингах формата 1х1 и спортивных симуляторах, однако можно встретить и другие мультиплеерные игры, использующие данную модель для матчей, в которых участвуют более 2 игроков. В качестве примера можно привести Destiny и For Honor.
Реализация выделенных и локальных серверов работает по одной и той же схеме в каждой игре, тогда как пиринговые сети имеют множество различных моделей. Например, в играх серии Destiny в обработке игровых ситуаций частично используются выделенные сервера.

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

В результате все игроки видят WAN IP-адреса своих союзников и противников, и некоторые стримеры критикуют эту особенность, поскольку это повышает шансы стать жертвой DDoS-атаки.
Другой проблемой игр вроде For Honor и Destiny является то, что если к пиринговой сети подключается более 2 игроков, это значительно увеличивает нагрузку на сеть, особенно если речь идёт о домашнем интернет-соединении.

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

Итог. В файтингах формата 1х1 или спортивных симуляторах пиринговая сеть (P2P) вполне оправдана, поскольку выделенный сервер только увеличит задержку, а локальный – даст одному из игроков несправедливое преимущество.

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

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

Компенсация лагов

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

Потери пакетов в играх что делать

С этим связано ещё одно понятие онлайн-игр. Компенсация лагов. Из-за вышеупомянутых задержек мы бы видели игроков в том положении, где они находились несколько миллисекунд назад, а не там, где они находятся в данный момент. Если бы игра не компенсировала эти задержки, мы бы не смогли попадать по другим игрокам. Мы бы буквально стреляли по призракам.

Тем не менее, в некоторых играх данная компенсация переходит допустимые границы. Это приводит к нелепым и раздражающим ситуациям, при которых, например, игрок со стабильным соединением и с минимальным количеством лагов, находясь за укрытием, получает урон от игрока с запредельным пингом. Любители мультиплеера Rainbow 6 Siege поймут, о чём я говорю.

Играть с высоким пингом – это и так не самое приятное занятие, однако если игра компенсирует задержки длиннее 100 мс, это приводит к тому, что страдают как геймеры с высоким пингом, так и игроки с нормальным соединением.

DICE попыталась избавиться от этой проблемы в Battlefield 1, внедрив компенсацию лишь определённого процента задержки. Как только пинг игрока превышает установленный разработчиками порог, сервер перестаёт компенсировать дополнительные задержки, в результате чего игроку приходится самостоятельно приспосабливаться и корректировать свои выстрелы.

Это позволяет свести случаи, при которых игроки получают урон в укрытиях, к минимуму. На видео ниже продемонстрирована данная механика в действии:

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

Регистрация попаданий

В шутерах она нужна для того, чтобы определить, куда попал ваш выстрел.

Существует два вида регистрации попаданий. Самый простой и быстрый (на сленге называющийся «хитскан») обходится без учёта скорости полёта пули. Вы фактически стреляете лазерами, моментально достигающими цели. Данный вид регистрации попаданий используется в шутерах с маленькими картами, поскольку в тесных условиях скорость полёта пуль практически ни на что не влияет.

Но где именно происходят вычисления, связанные с регистрацией попаданий? Здесь тоже есть несколько вариантов.

Регистрация попаданий может происходить на вашем устройстве (клиенте), после чего на сервер (а в случае с P2P-сетью – на устройства других клиентов) будет отправляется отчёт о том, куда попал ваш выстрел. Данная схема позволяет с точностью до пикселя зафиксировать ваше попадание, но она весьма уязвима для различных читов вроде аимбота.

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

При классической системе регистрации попаданий все вычисления происходят на сервере. То есть клиент сообщает серверу, в каком направлении вы выстрелили, а сервер определяет, в кого или во что вы попали. К сожалению, это не устраняет проблему с читами полностью, но создавать читы и хаки в таких условиях становится сложнее.

Десинхронизация

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

Заблуждения, связанные с неткодом

Вам кажется, что в неткоде легко запутаться? Вы не одиноки. Перед вами самые распространённые заблуждения на эту тему.

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

Повышение тикрейта и частоты обновления с 30 до 60 Гц действительно сократит число задержек, однако это не «исправит» высокий пинг, поскольку частое обновление данных не означает, что они будут передаваться быстрее.

Для онлайн-игр нужно как минимум 100 Мб/с.

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

Пропускная способность сети не связана с фактической скоростью передачи пакетов данных. Поэтому если вы перейдёте с 10 Мб/c на 100, пакеты данных не начнут передаваться в 10 раз быстрее.

За это отвечает «коэффициент скорости» медных или оптико-волоконных кабелей, которые соединяют сервер и клиент.

Коэффициент скорости (VF%) описывает скорость, с которой сигнал передаётся по кабелю, относительно скорости света. Например, коэффициент скорости витой пары категории 5e равен 64, а у оптико-волоконного кабеля он составляет 67.

Как показано на графике ниже, большинство онлайн-игр не особо требовательны к пропускной способности восходящих и нисходящих каналов.

Потери пакетов в играх что делать

Таким образом, если восходящий канал вашего интернет-соединения равен 2 Мб/c, у вас не должно возникнуть проблем. Если, конечно, не скачивать файлы или обновлять приложения во время игры.

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

Для WiFi (беспроводной локальной сети) характерна нестабильность. Частота 2.4 Гц обычно переполнена, а частота 5 Гц имеет меньший радиус действия, и низкая пропускная способность быстро приводит к перегрузке сети.

Ещё одним минусом WiFi является тот факт, что если у вас установлена точка доступа MU-MIMO, ваши клиенты не могут взаимодействовать с ней одновременно. Это приводит к увеличению задержки, поскольку ваш ПК вынужден ожидать «своей очереди», что чревато потерей пакетов данных.

Так что каким бы удобным ни выглядел WiFi, он ни в коем случае не подходит для онлайн-игр.

В Call of Duty используются пиринговые сети.

Игры из серии Call of Duty никогда не использовали одноранговые сети. Некоторые проекты франшизы CoD использовали только выделенные сервера, тогда как в других применялась смесь выделенных и локальных серверов (где хостом матча выступал компьютер определённого игрока).

Потери пакетов в играх что делать

Ингредиенты хорошего неткода

Использование лучшей модели сети

Пиринговые сети – это идеальный вариант для спортивных симуляторов или файтингов формата 1х1, тогда как для остальных игр необходимы выделенные сервера, эксплуатация которых сопряжена с серьёзными затратами.

Геймплей должен быть отзывчивым

Высокий тикрейт и частота обновлений позволят снизить уровень задержек и избавиться от «суперпуль» (с накопленным уроном).

Защита

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

К тому же большинство игроков желает, чтобы игра не выставляла их IP-адреса на всеобщее обозрение (для этого необходимы выделенные сервера).

Низкие задержки – ключ к успеху

В процессе матчмейкинга игра не должна смешивать людей с низкими и высокими пингами.
Если в игре используются выделенные сервера, разработчики должны позаботиться о том, чтобы все игроки имели доступ к серверам с низким пингом. В противном случае это приведёт к волне недовольства. Ведь никому не понравится игра с пингом 150 мс (или выше), а геймеры с пингом 20 мс вряд ли будут в восторге, если выстрелы игроков с высоким пингом будут доставать их даже в укрытиях.

Ограничение компенсации лагов

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

Не перегружайте домашние сети

Количество передаваемых пакетов в секунду порой бывает важнее пропускной способности сети. Если игра привязывает частоту отправки пакетов клиента к частоте смены кадров, то это может привести к тому, что частота отправки достигнет 200 Гц или выше. С этим столкнулись игроки Quake Champions, в мультиплеере которой происходили неприятные телепортации персонажей. Геймеры смогли решить эту проблему, только снизив частоту смены кадров.

Уведомляйте игроков о том, что что-то пошло не так

Игроков разочаровывает неотзывчивый геймплей в онлайн-режиме, и они в первую очередь винят в этом игру и её разработчиков. Поэтому создатели должны объяснять, в чём заключается проблема: в соединении игроков или в недоработках самой игры. Если дело в проблеме игрового сервера, необходимо сообщить об этом игрокам, чтобы они могли найти другой сервер для комфортной игры.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *