Rawr » Гайды » Настройка интернет соединения для The Elder Scrolls Online
Автор:
DCorvin
Соавтор:
Varlav
Дата публикации:
04.03.21

Настройка интернет соединения для The Elder Scrolls Online

Здравствуйте, мои дорогие любители MMORPG в целом и The Elder Scrolls Online в частности.

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

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

И вместо эпиграфа: слезайте с WiFi и протяните от роутера к вашему компьютеру нормальную витую пару. Проще говоря, провод RJ-45. Уже готовый и обжатый стоит копейки, порядка 100р за 10м, продается в любом компьютерном магазине.

Если переход на провод или лайфхаки с каналами и частотами не помогают, читаем дальше.

С чего начать? Тестирование маршрута и выявление неполадок на узлах

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

Запускаем командную строку от имени администратора.

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

Командная строка

Для начала мы очистим кэш DNS, для чего прописываем команду ipconfig /flushdns и видим следующее:

Чистка Кеша

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

Прописываем команду: pathping -n 195.122.154.1

Здесь 195.122.154.1 - iP-адрес нашего любимого EU-сервера.

Для Америки (NA) IP-адрес будет выглядеть так: 198.20.198.110

Прописали, нажали Enter и ушли делать себе чай с печеньками, потому что процесс займет какое-то время, обычно порядка 5-6 минут.

По окончании процедуры мы увидим, что в страшной черной консоли нам показали какие-то непонятные цифры и буквы:

Трассировка

Давайте посмотрим на них повнимательней.

Сначала мы видим обычную трассировку, которая просто показывает нам узлы (точнее, их IP-адреса), участвующие в путешествии пакетов к нашему серверу. Неинтересно. Смотрим ниже. И тут у нас:
Прыжок - просто номер хоста, где 0 - наш собственный домашний комп;
Исходный узел, в котором фактически показаны результаты команды ping. RTT - это round-trip time, время передачи сигнала между точками, а утерянное/отправленное - соотношение утерянных/отправленных пакетов для исходного узла;
Маршрутный узел - то, что нас интересует больше всего. Эти цифры показывают, где именно и в каком размере наши пакеты могут т.н. “дропаться”, то есть теряться;

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

На 11-м пункте скриншота мы видим 100% дропа пакетов и кто-то может спросить: "А вот там у тебя все потерялось, это значит, что все плохо?". Нет.

Это просто сброс пакетов маршрутизатором. Посмотрев внимательней, мы увидим отсутствие потерь для пакетов, посылаемых следующим за ним маршрутизаторам, конкретно - на 12-м узле, то есть это проявление потерь на 11-м узле не является признаком какой-либо неполадки, а указывает лишь на блокировку эхо-запросов брандмауэром, что нередко делается по соображениям безопасности. Дело в том, что часто маршрутизатор на узле нужен для того, чтобы просто переслать пакеты дальше по адресу, и поэтому он не тратит свои ресурсы на обработку пакетов, предназначенных лично ему. Бояться этого не надо, то, что идет от нас к конечному серверу, он исправно перешлет. Ну, почти всегда. А вот если идут дропы 10-30-50% - то это почти наверняка проблемная точка. Опять же, почти.

Но не все так просто и радужно.

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

Сложно?

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

Это явление называется асимметрией маршрутов, если кому интересно.

Так как же узнать правду?

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

Итак, мы обнаружили потери пакетов, что делать?
1. Узлы 0 и 1 - ваши. Разбирайтесь сами, инструкции есть в статье;
2. Узлы 2-4, как правило, различная маршрутизация провайдера, пинайте его, если вам не лень. Может быть и 2-6, по-разному. Например, я живу в глуши и у меня узлов провайдера непростительно много;
3. Последние три узла - датацентр и непосредственно наш сервер. Если проблема там, то ее, скорее всего, уже решают или решили, пока вы допивали чай;
4. Все, что между - черная дыра бескрайнего интернета.

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

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

ВАЖНО: многие провайдеры могут предоставить вам услугу изменения маршрутизации до конкретного IP в обход проблемных узлов, за небольшую плату или даже бесплатно. Главное – вежливо с ними поговорить, в идеале предоставить результаты из WinMTR и все может стать хорошо.

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

И тут мы переходим к следующему пункту.

Проброс портов и разрешения брандмауэра

Часть проблем может отсеяться уже на этом пункте.

Нам нужно открыть для игры порты в наших брандмауэре и в роутере.

Сначала - брандмауэр.

Открываем Панель управления (для простоты используем тот же поиск в панели задач).
Итого: Пуск - Панель управления - Система и безопасность - Брандмауэр Windows. Нажимаем "Дополнительные параметры", и у нас открывается монитор брандмауэра. В нем мы можем задать правила для входящих и исходящих подключений.

Список портов, которые нужно открыть, находится здесь.

По ссылке все понятно написано.

Теперь смотрим, как нам сделать это в брандмауэре.

1. Исходящие подключения.
2. Создать правило

брандмауэр

Жмем на "Создать правило".

брандмауэр

Тут у нас несколько шагов.
1. Тип правила. Можно создать правило для программы или для порта.
Проще всего создать правило для программы и открыть ей все порты. Выбираем тип правила «Настраиваемые».
2. Программа. Указываем путь к исполняемому файлу, его мы берем из «входящих» правил, обычно TESO при установке автоматически создает правила на вход.

брандмауэр

У меня игра установлена через Steam и путь выглядит как C:\Program Files (x86)\Steam\steamapps\common\Zenimax Online\zosSteamStarter.exe
3. Протокол и порты. 
Тип протокола – TCP, локальные и удаленные порты открываем все.
4. Область. Любые айпи-адреса
5. Действие. Разрешить подключение
6. Профиль. Я оставляю все галочки, вы – как хотите.
7. Имя. Назовите это правило так, как вам удобно.

А потом делаем все это еще раз, но указываем тип протокола UDP.

ЕСЛИ ВДРУГ игра при установке не создала автоматически правила для входящих подключений, не ленитесь, создайте. Примерные пути расположения исполняемых файлов можете посмотреть выше и найти у себя.

Также для очистки совести аналогичные правила на вход и на выход можно создать для самого исполняемого файла игры (это же TESO, никогда не знаешь, что ей мешает нормально работать, кроме самих разработчиков). Исполняемый файл игры у стимовских версий находится в C:\Program Files (x86)\Steam\steamapps\common\Zenimax Online\The Elder Scrolls Online\game\client\eso64.exe

А у нон-стим сами найдете в папке с игрой.

Теперь нам надо открыть порты в роутере.

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

Для начала заходим в интерфейс роутера: в адресной строке браузера вбиваем 192.168.1.1 (если у вас не какой-то другой, например, 0.1, как у меня), на экране ввода логина набираем стандартные: логин admin пароль admin. Если вы умный и у вас они другие - вы молодец, возьмите с полки пирожок. Если вы их не меняли, а они не подходят, то пинайте брата/маму/мастера/кота, который решил, что ваш «трехсотый» d-link стоит того, чтобы использовать его в качестве лотка - в общем, того, кто вам ставил и настраивал роутер.

И о чудо! Мы внутри!

И вот тут начинается разница роутеров и их интерфейсов. Расскажу на примере своего Keenetic DSL.
1. Сначала смотрим список подключенных к роутеру устройств. Если ваш десктоп находится в списке незарегистрированных, регистрируем его (как правило, там есть кнопка). Это позволяет нашему роутеру понять, что вот эта конкретная машина тут полностью своя и ей можно все. Затем открываем параметры зарегистрированного устройства и ставим галочку "постоянный IP", таким образом внутри домашней сети вашему девайсу присваивается собственный IP-адрес.
2. Идем куда-нибудь типа "Безопасность" и находим "Переадресацию" или что-то похожее. Вот здесь нам нужно будет создать правила, аналогичные тем, которые мы делали в брандмауэре. У меня это выглядит так:

Роутер

Здесь вход - эти ваш интернет, а выход - ваш домашний пк, с которым мы незадолго до этого роутер и познакомили.

3. Создаем правила для всех портов.
4.???
5. PROFIT!

Идем в TESO и смотрим, что да как.

Возможно, станет лучше. Но даже если соединению полегчает, то я все равно рекомендую провести манипуляции из последующих пунктов.

Дальше - больше. Оптимизация MTU

Что такое MTU? В компьютерных сетях термин maximum transmission unit (MTU, англ. максимальная единица передачи) означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.  (с) ваша Вики.

Стандартный размер MTU, который по умолчанию указан в подавляющем большинстве ОС и роутеров - 1500 байт, из которых 28 байт - это заголовок. Запомните.

И сначала мы проверим, проходят ли блоки такого размера до нашего EU-сервера.

1. Открываем командную строку с правами администратора, если вы ее уже закрыли.
2. Прописываем команду ping -f -l 1472 195.122.154.1
Здесь l - это маленькая английская L.
Почему 1472, а не 1500? Потому что заголовок в 28 байт не учитывается.  1500-28=1472.

Если наш MTU великоват и не пролезает (т.н. "зажат"), то мы увидим сообщение "требуется фрагментация пакета, но установлен запрещающий флаг."

MTU 

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

Руками это долго, сложно и не нужно, поэтому мы используем утилиту mtupath, которую скачаем отсюда.

Потом забираем эту утилиту из папки загрузки и в неизменном виде кладем в C:\Windows\System32.

В командной строке, запущенной от имени администратора (важно!) пишем следующую команду: mtupath 195.122.154.1
Эта утилита автоматически тестирует сервер блоками MTU различного размера и выбирает оптимальный.

В итоге получаем что-то типа вот этого: 

MTU Что это означает?

У меня наилучшим вариантом утилита считает MSS=1452, что соответствует MTU=1480.
Он, как видите, несколько меньше, чем тот, который установлен по умолчанию у нас в системе и в роутере.
Поэтому, что логично, нам нужно его изменить.

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

Качаем еще одну небольшую программку, которая называется SG TCP Optimizer.

Запускаем ее, нажимаем ОК, если вылезет предупреждение и немного ждем.

Когда программа запустится, мы увидим окно.

SG TCP Optimizer

  1. Нажимаем Custom;
  2. Проверяем, правильно ли выбран адаптер (у меня это беспроводной контроллер);
  3. Если он выбран правильно, то мы увидим здесь IP-адрес, который ранее нам выдал наш роутер, когда мы попросили постоянный айпи;
  4. На всякий случай поставим галочку "Модифицировать все адаптеры";
  5. Вводим размер MTU согласно рекомендациям mtupath, в данном случае 1480.

Ползунок Connection Speed можем передвинуть согласно скорости вашего интернета.

Больше ничего трогать, нажимать и двигать не надо.

После этого нажимаем Apply changes, немного ждем и перезагружаем ПК.

Затем мы снова запускаем командную строку и проверяем, проходит ли MTU после изменения командой ping -f -l 1452 195.122.154.1

Как вы можете заметить, я уже изменил размер MSS в команде согласно имеющемуся теперь у меня (MSS=MTU-28, напомню).

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

SG TCP Optimizer

Но для очистки совести мы произведем смену MTU в том числе и в нашем роутере.

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

  1. Как и в случае с пробросом портов, мы заходим в роутер;
  2. В нем мы открываем расширенные параметры нашего подключения и устанавливаем значение MTU, равное рекомендованному и тому, которое мы установили (или не установили) в программе;
  3. Закрываем, перезагружаем роутер. Если он не предлагает это сделать после внесения изменений, то вы можете найти в его настройках специальную кнопку для перезагрузки, дергать из розетки бедный роутер не стоит.

Если после изменения MTU вы наблюдаете какие-то проблемы с загрузкой страниц или работой сайтов – просто верните обратно 1500, и все.

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

Но если вы думаете, что на этом все – то ничего подобного!

Оптимизация DNS

Расскажу подробнее.

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

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

На практике подбор подходящего для вас DNS-сервера может иметь большое количество плюсов:

  • увеличение скорости загрузки страниц;
  • улучшение скорости сети в целом;
  • повышение надежности соединения;
  • уменьшение пинга и потерь пакетов.

Ну и много чего еще, но это нам неинтересно. А интересно нам, как установить на наш компьютер оптимальный DNS-сервер, если сервер провайдера нам почему-то не нравится.

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

Заходите на страницу, кликаете на картинку, скачивается маленькая утилита весом всего 150 килобайт, запускаете ее.

DNS

Пользоваться программой очень просто:

1. Сначала идете на вкладку Nameservers и ждете, пока они загрузятся.

2. Нажимаем Run Benchmark и идем читать гайды Варлава, какое-то время этот тест у нас займет.

DNS

3. Когда тест закончился, закрываем появившееся окно, идем на вкладку Conclusions, немного скроллим вниз и видим, что нам рекомендуют.

DNS

После этого нам нужно изменить DNS-сервер для нашего ПК и, в идеале, в роутере.

Как это сделать?

  1. Уже известным нам способом находим и открываем Панель управления – Сеть и интернет – Центр управления сетями и общим доступом – Изменение параметров адаптера.
  2. Кликаем правой кнопкой мыши на наш адаптер. На вкладке «Сеть» выбираем IP версии 4 (TCP/IPv4).
  3. Нажимаем «Свойства». Если там уже есть какие-то цифры, сохраните их на всякий случай на бумажке или в текстовом документе, мало ли, пригодятся еще. Затем вводим оптимальный для нас DNS.

TCP IPv4

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

Жмем «Ок», выходим.

Далее аналогичную операцию нам нужно провести в своем роутере. Как зайти в роутер, я писал выше. В моем Keenetic это находится во вкладке «Сетевые правила» - «Интернет-фильтр». Предустановленные в роутере DNS я просто выключил.

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

Интернет Фильтр

Все, теперь вы точно молодец.

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

Вместо заключения

В совокупности вышеперечисленные методы исправили у меня вообще все: вылетов нет, любые скачки пинга полностью пропали, практически исчезли немотивированные лаги и подвисания. Пинг в мире от 90 до 110, в триалах от 90 до 140. Конечно, от вылетов из-за перегрузки локации/подземелья во время какого-нибудь ивента (или потому что ZOS все починили во время техработ) все это вас не спасет, но большинство повседневных проблем может решить.

Для информации: у меня ростелекомовский VDSL-интернет с реальной скоростью соединения 36/18 Мбит/сек. А уж на приличной оптике все должно быть еще лучше.

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

Однако, дамы и господа, мы живем в тяжелые времена, в которые с интернетом творится много чего неприятного, поэтому еще немного текста.

Сервисы VPN - нужны ли они?

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

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

Смотрите также

Комментарии 7

Имя
Добавить комментарий:
  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
  1. Volkcor
    09.03.2021
    После смены на рекомендованное MTU все равно пишет "требуется фрагментация пакета, но установлен запрещающий флаг." что делать?

  2. Pavel
    06.03.2021
    Добрый день, у меня тоже keenetic. Когда мы создаём правило для одиночных tcp портов (80 и 433), появляется окошко "Порт назначения". Что туда писать?

    1. Дмитрий
      DCorvin
      06.03.2021
      Продублирую ответ из лички сюда.
      Ничего не писать. У Keenetic поле "Порт назначения" используется для "подмены порта" (для маппинга порта, например с 2121 на 21). Позволяет транслировать обращения на другой порт. Обычно не используется

  3. Den
    05.03.2021
    Первый пункт по рекомендации из статьи и сразу промах - команда на трассировку обрывается на роутере(к слову там порты давно открыты). Ради интереса попробовал, т.к. никогда ее не использовал и результат - нулевая польза. Да и вместо WinMTR можно использовать простую и наглядную с графиками в реальном времени PingPlotter, которая показывает все грехи провайдеров, с возможностью пообщаться(создает логи для анализа). У каждого роутера менюшка порой отличается существенно и с заморочками, если говорить об открытии портов, можно просто ПК вывести в DMZ зону(как если бы провод был воткнут напрямую в ПК), эта опция есть у каждого роутера. В целом статья любопытная и как минимум полезная для опытных пользователей.

    1. Дмитрий
      DCorvin
      05.03.2021
      Приветствую!
      По пунктам сразу тогда отвечу.
      Никогда не сталкивался с тем, чтобы pathping обрывался на роутере. Ради интереса бегло погуглил этот вопрос и нашел всего один случай, описанный с конкретной моделью роутера TP-Link, там трассировка спокойно работала с другими роутерами и напрямую, но конкретно с этим - не хотела. Тут я решение проблемы подсказать не могу, к сожалению.
      Что касается PingPlotter, то по большому счету разницы с WinMTR там нет, и там и там - пинг, и там и там - выгрузка в файл для отправки провайдеру. Но WinMTR полностью бесплатна и максимально проста, тогда как ставить триальные версии софта нравится не всем, плюс для неопытного пользователя плоттер за счет своих страшных графиков может показаться более пугающим и сложным.
      Про менюшки роутеров отдельно было упомянуто не раз, что они различаются и телодвижения для конкретной модели роутера нужно погуглить, свой кинетик я в качестве иллюстрации привел, не более. Про DMZ, каюсь, не подумал. Но опять же, статья писалась максимально подробно и пошагово, чтобы упростить необходимые действия неопытному пользователю, а нужен ли ему прямой провод - это еще большой вопрос.

      Спасибо за лестную оценку статьи, автору приятно)

    2. Den
      05.03.2021
      Возможно и в роутере дело с обрывом трассировки, т.к. на нем установлена альтернативная прошивка DD-WRT, но имеем то, что имеем - не везде работает(для информации тем, кто прочитает комментарии). Так что программа упомянутая в статье не будет лишней. Упомянутая мной программа действительно триальная, совсем забыл, т.к. сам пользуюсь Pro версией, есть такой косяк)
      Еще момент касательно брандмауэра - у большинства пользователей установлены антивирусные программы с встроенным фаерволом, собственно там же(в настройках антивируса/фаервола) и создаются правила.
      Кстати мне повезло - MTU возможно изменить в моей прошивке без сторонних программ, может и у кого-то тоже есть такая опция, достаточно посмотреть, какие настройки предлагает ваша модель роутера.
      Отдельный респект за настоятельную рекомендацию отказаться от WiFi - тоже просвещал людей, которые удобство ставили превыше качества)

    3. Дмитрий
      DCorvin
      05.03.2021
      Да MTU, по идее, во всех роутерах меняется без проблем по умолчанию, разве что за какие-то особые кастомные прошивки ничего не скажу: не пользовался, не разбираюсь. )
      У меня дополнительный способ с софтом описан для того, чтобы изменить MTU непосредственно на сетевой карте ПК, что как раз таки будет полезным людям, которые сидят напрямую на проводе, ну или если к роутеру доступа нет совсем.