Что такое packet loss в играх

Потеря пакетов

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

Существует множество эксплуатационных проблем, влияющих на производительность сети. Это одна из наиболее распространенных проблем. Сеть постоянно испытывает регулярные потери пакетов, но они не могут оказать существенного негативного влияния на общую производительность сети. [2]

Cодержание

Причины

Потеря пакетов обязательно случается время от времени, и это не то, о чем вы должны беспокоиться. Из-за постоянного использования и высокого спроса пакеты сбиваются с толку или теряются по дороге, и вот некоторые из наиболее распространенных причин. [3]

Переполненные сети

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

Ошибки

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

Проблемы сетевого оборудования и программного обеспечения

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

Угрозы и нападения

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

Эффекты

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

Протокол управления передачей данных (TCP), как правило, несет ответственность за потерю пакетов. Перед ним стоит задача оценки, идентификации и ретрансляции пакетов. Протокол User Datagram Protocol (UDP) не может этого сделать, поскольку он не обладает неотъемлемыми возможностями оценки и ретрансляции. Это одна из причин, по которой UDP также может не справляться с потерей пакетов. Однако, независимо от протокола или приложения, слишком большая потеря пакетов определенно является проблемой. [4]

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

В зависимости от передаваемого файла потеря пакетов может привести к разным последствиям. Изображения могут быть получены в виде разбитых изображений. Аудиофайлы вызывают непонятную речь или шум. Другие типы файлов нанесут серьезный ущерб полученным данным. Даже полная потеря может привести к отсутствию полученного сигнала. Сокрытие потери брекетов является альтернативой уменьшению эффекта потери пакетов в тех случаях, когда причина не может быть устранена. [6]

Общие вопросы и решения

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

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

Источник

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

Источник

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Все, что передается через Интернет, отправляется в пакетах: стандартная единица данных.

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

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

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

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

Что вызывает потерю пакета?

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

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

1. Определите проблему

В первую очередь стоит выяснить, насколько серьезна проблема и где она находится. Есть несколько простых шагов, которые вы можете предпринять. Сначала получите компьютер (Windows или Mac) и откройте командную строку. Введите команду ping и нажмите Enter.

Для компьютеров с Windows вы можете найти IP-адрес вашего маршрутизатора, набрав ipconfig и нажав Enter: это адрес шлюза, который вам нужен. На Mac перейдите в «Настройки», «Сеть» и нажмите свое сетевое подключение (это зеленый значок в списке и может быть Wi-Fi или Ethernet). Нажмите «Дополнительно», затем перейдите на вкладку TCP / IP и запишите адрес маршрутизатора.

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

В нашем примере это позволит нам выполнить команду ping: ping 192.168.0.1. Ping просто отправляет пакет источнику и получает ответ обратно. Это способ проверки интернет-соединения. У вас не должно быть потери пакетов, но если вы получаете сообщения о том, что ответа нет, причиной может быть потеря пакета.

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

2. Перезагрузите все

Вы пытались выключить и снова включить? Это немного клише, но этот процесс может работать. Выключите ваш маршрутизатор (и любые спутники, если у вас есть сетчатая система), модем (если у вас есть), сетевые коммутаторы и компьютеры / игровые приставки.

Затем снова включите их в следующем порядке: модем (если есть), маршрутизатор (за которым следуют спутники в ячеистой системе), затем каждый компьютер, консоль или телефон.

3. Проверьте кабели

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

4. Исправьте свой Wi-Fi

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

5. Проверьте, если это проблема программного обеспечения или проблема с одним устройством или сайтом

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

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

Проверьте веб-сайт вашего интернет-провайдера, чтобы увидеть, есть ли ошибка в вашем регионе. Каждый сервис, такой как Netflix, обычно также имеет страницу отчета о сбое, чтобы показать, есть ли текущие проблемы.

Источник

Что делать с loss в кс го?

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Потеря пакетов (loss) — это неприятная проблема. Обычно этот показатель не должен превышать пять процентов. Как только цифра поднимается, могут возникать неприятности. Пользователь останавливается, картинка замирает и ничего не получается сделать. Решить загвоздку достаточно легко, если подходить к решению loss в кс го основательно.

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

Как убрать потерю пакетов?

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Обратиться к своему провайдеру

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

Закрыть все программы, которые потребляют трафик интернета

Под эту категорию относится все, что потребляет скорость: браузер, Discord, Skype, TeamSpeak и прочее. Весь этот софт потребляет достаточно много трафика, поэтому от лишнего нужно избавиться.

Подключить кабель интернета напрямую к компьютеру

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

Повреждены файлы корневой папки

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

Возможно, loss в кс го происходит из-за этого.

Консольные команды

Rate — это скорость интернета, допустимая для комфортной игры.

После этого потери пакетов должны перестать беспокоить пользователя. Решение занимает буквально несколько минут. Именно поэтому не стоит переживать и ругаться на свое «железо».

Источник

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

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

Так что же вызывает все эти проблемы?

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

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Джиттер — это колебания задержки, означающие, что пакеты отправляются и принимаются с разной скоростью. Это похоже на плохой frame pacing: то ваш пинг меняется с 20 миллисекунд до секунды, то с секунды до 90 миллисекунд, а затем возвращается к 30 миллисекундам, которые были когда-то уже давно.

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Так почему же возникают подобные сбои?

Существуют три основных типа проблем с соединением:

проблемы «первой мили», вызванные домашней сетью вашего ПК и подключением к Интернету;

проблемы «средней мили», обусловленные перемещением данных по маршруту между вашим интернет-провайдером и игровым сервером;

проблемы «последней мили», связанные непосредственно с игровым сервером.

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Наконец, перейдем к последней миле в цепочке — игровым серверам.

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Client hosting — это когда ПК одного из игроков сам по себе выступает в качестве сервера. Это хороший способ для разработчиков игр минимизировать затраты, но опыт каждого участника матча будет зависеть от качества соединения игрока-хоста. Таким образом, если такие игроки подключаются к сети через Wi-Fi или вовсе испытывают проблемы с подключением, другие игроки тоже столкнутся с лагами, джиттером и потерей пакетов.

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

Наконец, последнее — методы борьбы с лагами, которые разработчики могут реализовать со своей стороны в коде.

Так называемое предсказание на стороне клиента часто используют в шутерах от первого лица. Его можно разделить на предсказание ввода и расчет траектории (dead reckoning): первое будет скрывать задержку действий самого игрока, в то время как второй — других игроков.

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

Dead reckoning — это, по сути, алгоритм оценки положения объекта в виртуальном мире на основе его предыдущего положения, направления движения, скорости, ускорения и других параметров. Получив первый блок данных протокола состояния (protocol data unit, PDU) для объекта (например, персонажа другого игрока), каждый клиент начинает перемещение этого объекта, применяя согласованный алгоритм dead reckoning. Его движение обновляется при получении последующих PDU. Если для пакетов, несущих PDU, возникнет увеличенная задержка или вовсе их потеря, каждая копия виртуального мира продолжит показывать движение объектов в соответствии с алгоритмом до тех пор, пока не получит следующее обновление. Кроме того, при несоответствиях между статусом сервера и предсказанным клиентом некоторые игры могут сделать переход к новому статусу менее резким, используя алгоритмы сглаживания.

В дополнение к предсказанию клиента сервер может прибегать к методу компенсации сетевой задержки, чтобы правильно объединить виртуальные реальности, которые из-за проблем с неткодом испытывают рассинхронизацию. В таком случае сервер хранит историю последних позиций игроков (так, серверы, на которых работает движок Valve Source, сохраняют позиции игроков в течение 1 секунды), и когда ему нужно вычислить новое состояние, он сначала оценивает момент, когда действие было выполнено в клиентской версии состояния игрового мира. Другими словами, сервер «перематывает время» в соответствии с задержкой конкретного клиента, вычисляя выполнение введенной им команды (например, удалось ли выстрелу игрока поразить цель). Для этого используется следующая формула:

Время выполнения команды = Текущее время сервера — Задержка пакета — Интерполяция представления клиента

Что такое packet loss в играх. Смотреть фото Что такое packet loss в играх. Смотреть картинку Что такое packet loss в играх. Картинка про Что такое packet loss в играх. Фото Что такое packet loss в играх

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

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

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

Для получения дополнительной информации о лагах и о том, что вы можете с ними сделать, можно ознакомиться с каналом Battle(non)sense: там разбираются тесты сетевых проблем в разных играх и то, как разные технологии на них влияют. Прилагаем также и другие ссылки на видео и статьи о сетевом коде ниже:

Источник

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

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