Воскресенье, 15.06.2025, 09:25
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Friat, Vitjufka  
Админы ведут работу со строгим натом!
shketbossДата: Среда, 28.01.2015, 15:58 | Сообщение # 1

Страна: Украина
Группа: Администраторы
Сообщений: 2223
Награды: 21
Репутация: 24
Статус: Offline
Бог сайта и форума За дизайнерские умения За уважение народа За хорошую посещаемость на форуме Русский
Сегодня мы запустили некий экспериментальный код, который работает над решением проблем, вызванных Строгим NAT'ом и над прочими проблемами маршрутизации; он всё ещё требует доработок, но наши предварительные тесты нас очень порадовали.
 
Около 6% наших игроков обладают маршрутизаторами, обладающими Строгим NAT'ом; эти люди получают предупреждающее сообщение при входе в игру такого вида:
 



 
Эта сетевая проблема, которая затрагивает все игры без исключений, в том числе и консольные; для Warframe необычно то, что мы действительно обнаружили эту проблему и предупредили вас о ней, так что вы сможете с ней справиться. К несчастью, люди, не сильно разбирающиеся в технической части, часто попадают под неверное впечатление о том, что что-то не так с Warframe и это нужно исправлять нам.
 
Некоторые люди, скорее всего, даже не в состоянии исправить свой NAT, но вся прелесть обнаружения этой проблемы в том, что мы сможем корректно избежать большинства с этим связанных проблем.
 
Видите ли, Строгий NAT похож на рецессивный (спящий) ген, который вызывает страшную болезнь - вы можете быть его носителем и он не будет проявлять никаких симптомов; проблемы начнут возникать когда вы попадаете в команду (или сами создадите сессию) к кому-то, кто также является носителем.
 
Из-за того, что Warframe знает у кого Строгий NAT, всем нам нужно стараться избегать попадания таких людей в один отряд, зная, что это может вызвать проблемы с соединением. Всё работает хорошо, пока не происходит:
 



 
Это происходит лишь в 0.36% случаев от всех приглашений (6% от 6%), но в масштабах такой игры как Warframe этот мизерный процент перерастает в большое количество сердитых людей, которые просто хотят поиграть вместе.
 
Иногда люди оказываются за несколькими "слоями" NAT'а, который становится всё более распространённым вместе с тем, как мир постепенно уходит от IPv4 адресов (по иронии полный переход на IPv6 может привести к ухудшению ситуации, потому как гибрид v4 и v6 добавит ещё один слой NAT'а уже для провайдеров, что приведёт к тому, что вы не сможете использовать UPnP, NAT-PMP или же назначать порты в ручную).
 
В таких случаях как этот, наш анализ сети оказывается обманутым и считает, что всё радужно и всюду единороги, но когда вы пытаетесь присоединиться к другу, то получаете это:
 



 
Большинство людей, получая это сообщение, думают, что это ошибка в нашем сетевом коде и её нужно исправить; к сожалению, в этом случае мы оказываемся во власти Интернета; взгляните - RFC5128 - как и с NAT'ом, тут есть проблемы с сетью, которые мы просто не в состоянии исправить.
 
Единственное решение заключается в использовании прокси-серверов: если сеть не позволяет P2P подключение, то наш новый код выступит и сработает в качестве посредника. Это увеличит время ожидания (иногда это называют "лагом", задержкой), но в большинстве случаев такие небольшие задержки куда предпочтительнее, чем отсутствие возможность поиграть с вашими друзьями вовсе.
 
На прошлых выходных, с помощью нескольких добровольцев из разных стран, мы протестировали несколько наихудших сценариев; даже с самыми жёсткими лагами система продолжала работать. На самом деле, многие из игр, в которые я играл на тех выходных, использовали прокси-сервер и даже с учётом того, что это добавило не менее 80мс задержки к мой игре, я почти этого не замечал!
 
Сегодня мы провели ещё немного "живых" тестов и после исправления нескольких багов, мы запустили эту функцию в общий доступ и ждали; к нашему облегчению мы увидели, что сервер начал принимать всё больше и больше прокси запросов пока не достиг стабильной нагрузки, которая и близко не стоит с возможностями сервера. Все системы точно были в норме!
 
К слову, это должно решить не только множество Строгих NAT'ов, но и некоторые другие проблемы, которые приводят к провалам присоединения игроков - эта отказоустойчивая система может быть нами использована как крайняя мера в тех случаях, когда всё идёт под откос.
 
На данный момент всё работает так хорошо, что мы собираемся оставить экспериментальный код в работе на некоторое обозримое будущее; нам ещё есть над чем работать, но всё же: следующим шагом станет создание системы распределения нагрузки, таким образом мы сможем создать прокси-сервера в различных местах по всему миру, чтобы минимизировать перегрузки при их использовании (скорость света - суровая госпожа).
 
Мы также хотим оставить предупреждения об анализе сети при входе в игру; конечно, мы можем справиться с большим количеством подобных проблем, но вместе с тем в ваших интересах исправить эту проблему самостоятельно, потому что это даст вам лучший онлайн опыт из возможного.
 
Большинство из вас буду просто рады видеть, что мы трудимся над Строгим NAT'ом даже если это не имеет к вам прямого отношения, а для тех, кто просто хочет
TL;DR: Мы рассмотрели решение проблемы со Строгим NAT'ом с помощью прокси-серверов, чтобы те, кто страдает от этого, смогли поиграть в Warframe с другими!
 
- [DE]Glen
 
Оригинал:
https://forums.warfr...ts-and-testing/
 


 
  • Страница 1 из 1
  • 1
Поиск:

Конструктор сайтовuCoz