# 🎮 Как найти и протестировать стратегию для игры (профиль + TCPView) > [!info] О чём заметка > Пошаговый метод подбора рабочей [[desync|стратегии обхода]] для игры — «для самых непонятливых», без угадываний. Суть: **сначала** через `tcpview64.exe` собираем реальные IP-адреса, на которые ходит игра, кладём их в **свой [[profile|профиль]]** — и только **потом** перебираем стратегии. Так вы заранее знаете, что профиль точно применяется к трафику игры, и любой провал — это честно провал стратегии, а не «профиль не попал в нужный адрес». Что такое пресет и профиль — в [[preset]] и [[profile]]; создание профиля по шагам — в [[add-profile]]; сбор адресов — в [[Создание своей категории]]. > [!tip] TL;DR > 1. **Собери IP игры** через TCPView (`tcpview64.exe`): запусти игру, смотри Remote-адреса её процессов. > 2. **Создай профиль под игру** ([[add-profile]]) и внеси все найденные IP в ipset этого профиля. > 3. Теперь профиль **гарантированно применяется** к игре — перебирай стратегии в «Готовых стратегиях». > 4. Каждую стратегию проверяй **полным перезапуском игры** (вплоть до трея) — см. [[verify-strategy]]. > 5. Сначала пробей **TCP**, потом отдельным профилем — **UDP**: пока TCP не установился, UDP даже не начнёт подключаться. > 6. Игра заблокирована так, что и адреса не снять? Сначала найди стратегию на пресете **«ALL TCP & UDP»** — на работающей игре TCPView или netlimiter покажет полный список адресов (связка методов — в конце заметки). ## Почему «тыкать стратегии наугад» не работает Подбор обхода — это два независимых вопроса: **к какому трафику** применять дурение ([[filter|фильтр]]: домены, IP, порты) и **какую именно** стратегию применять ([[desync]]). Когда фильтр заполнен наугад, перебор стратегий превращается в гадание с двумя классическими ложными выводами: - **«Эта стратегия не работает»** — а на деле [[profile|профиль]] просто не покрывал адрес, на который реально ходит игра. Стратегия тестировалась вхолостую: дурение применялось не к тому трафику или вообще ни к чему. - **«Профиль не применяется на нужную игру»** — потому что неизвестно, какой адрес игре вообще нужен: лаунчер ходит на одни домены, авторизация — на другие, игровой трафик летит на третьи IP. Оба вывода — [[symptom-not-cause|симптомы, а не причины]]. Лечится это тем, что вопрос «к какому трафику» закрывается **до** перебора: адреса игры не угадываются, а **снимаются с живого трафика** программой TCPView. После этого перебор становится честным экспериментом — фильтр заведомо верный, меняется только стратегия. Проще говоря: у любой неудачи при подборе есть **два возможных виновника** — не подошла стратегия или профиль вообще не попадает в трафик игры. Пока адреса в профиле угаданы, вы не знаете, кто из двух виноват, и каждый провал ничего не сообщает. Когда адреса сняты с реального трафика через TCPView, второй виновник исключён: профиль точно попадает в игру, и провал теперь означает ровно одно — не подошла именно эта стратегия, берём следующую. ## Шаг 1. Собери IP-адреса игры через TCPView **TCPView** (`tcpview64.exe`) — бесплатная утилита Sysinternals ([скачать](https://download.sysinternals.com/files/TCPView.zip)), которая показывает все соединения каждого процесса в реальном времени. Ключевое её свойство для нашей задачи: она **видит даже те запросы, которые не были доставлены** — заблокированные соединения всё равно отправляются и попадают в список (в отличие от NetLimiter, показывающего только удачные запросы). Подробный разбор работы с TCPView и Wireshark — в [[Создание своей категории]]. 1. Запусти TCPView, затем запусти игру и её лаунчер. 2. Найди в списке процессы игры/лаунчера (сортировка по колонке процесса или поиск). 3. Выпиши **все Remote-адреса** этих процессов — именно удалённые адреса участвуют в подключении и нужны Запрету (Local-адреса нужны только чтобы определить UDP-порты). 4. Дай игре пожить: открой магазин, зайди в матч, включи голосовой чат — разные функции ходят на разные адреса, и чем дольше понаблюдаешь, тем полнее список. > [!warning] Наглухо заблокированная игра не покажет все свои адреса > TCPView видит соединения, которые игра **попыталась** открыть — в том числе заблокированные. Но если из-за блокировки игра застревает на лаунчере или логине, до серверов матчей и голосового чата она просто **не доходит** — этих адресов в списке не будет, игра ещё не пыталась к ним подключиться. Выход — связка с пресетом «ALL TCP & UDP»: временно найти на нём стратегию, при которой игра работает целиком, и снять полный список адресов с живой игры. Как это сделать — в разделе про лобовой вариант ниже. > [!note] Сначала TCP, потом UDP > Архитектурно, если TCP-соединение игры не установилось, UDP-трафик даже не начнёт устанавливаться. Поэтому сначала собираем и пробиваем **TCP-адреса** (этот и следующие два шага), и только когда игра начала подключаться — отдельно смотрим UDP (шаг 4). ## Шаг 2. Создай профиль игры и внеси туда собранные IP Полная пошаговая инструкция по созданию [[profile|профиля]] — [[add-profile|«Как добавить свой профиль»]] (там же — зачем сперва дублировать [[preset|пресет]] как бэкап). Кратко применительно к игре: 1. «Профили пресета» → большой `+` → название (например, имя игры) и TCP-порты: не знаешь точных — ставь `80,443-65535`. 2. Открой созданный профиль → вкладка **«Редактор»** → выбери тип **Ipset** (работа по IP-адресам, а не по доменам — см. [[ipset]]). 3. Внеси в «Ваши записи» **все** Remote-IP из шага 1, по одному на строку, и сохрани список. 4. Если из TCPView видны и доменные имена — их можно продублировать в hostlist того же профиля ([[hostlist]]). С этого момента главное сомнение снято: профиль **точно применяется** к трафику игры, потому что в нём лежат адреса, снятые с её живых соединений, а не угаданные. ## Шаг 3. Перебирай стратегии — теперь честно Открой профиль игры → вкладка **«Готовые стратегии»**. Это список готовых вариантов дурения ([[fake]], [[multisplit]], [[multidisorder]] и комбинации) — он одинаков для любого профиля: ![[vse-saity-strategii-gui-2026-07.png]] Цикл перебора: - [ ] Выбери следующую стратегию (справа от названия — подсказка, на какой технике она основана). - [ ] Проверь, что профиль **«Включён»** (чекбокс в правом верхнем углу) и статус во вкладке «Управление Zapret 2» — «Zapret работает». - [ ] **Полностью перезапусти игру и лаунчер** — вплоть до выхода из системного трея. Иначе игра держит старые соединения, к которым новая стратегия не применяется, и перебор идёт «в воздух» — механика разобрана в [[verify-strategy|«Как проверить, заработала ли стратегия»]]. - [ ] Проверь: запускается, логинится, качает обновления. - [ ] Не работает → следующая стратегия. Работает → шаг 4. Каждый «провал» теперь информативен: фильтр заведомо верный, значит именно эта стратегия не подходит под блокировку — берём следующую. ## Шаг 4. UDP: игровой трафик реального времени Если игра стала запускаться и логиниться (TCP пробит), но **не пускает в матч, лагает или молчит голосовой чат** — дело в UDP-составляющей. Для неё нужен **отдельный [[profile|UDP-профиль]]**: 1. Определи UDP-порты и адреса: Local-порты видны в TCPView, конкретные адреса на конкретном UDP-порту удобнее ловить Wireshark'ом — оба инструмента разобраны в [[Создание своей категории]]. Есть и способ без стороннего софта: записать debug-лог winws2 с расширенным [[wf|wf-фильтром]] и снять UDP-адреса игры из таблицы соединений [[log-analyzer|анализатора лога]] — TCPView удалённые адреса UDP часто не показывает вовсе. 2. Создай профиль с UDP-фильтром и своим ipset, стратегии для UDP перебираются так же (обычно это варианты [[fake]]). > [!warning] Игровой UDP почти всегда `unknown` — ставь `--payload=all`, иначе профиль молчит > Самая частая причина «UDP-профиль не работает у игры»: по умолчанию [[payload|фильтр payload]] равен `known`, то есть дурение применяется только к **опознанным** протоколам (TLS, QUIC, HTTP, `mtproto_initial`). Но игры почти всегда гоняют трафик реального времени по **собственным проприетарным протоколам**, которые Zapret не распознаёт — их тип payload получается `unknown`, и дефолтный `known` **пропускает такой трафик мимо**, даже если фильтр по портам и ipset совпал идеально. Готовых распознавателей под конкретные игры в Zapret обычно нет, так что рассчитывать на автоопределение не стоит. Лечится явным указанием payload в UDP-профиле: `--payload=unknown` (только неопознанное — как раз игровой случай) или, чтобы не гадать, `--payload=all` (и известное, и неопознанное). Практичнее сразу ставить `--payload=all` во всех игровых UDP-профилях. Подробный разбор типов и синтаксиса — в [[payload#Игры: payload часто unknown — ставьте unknown или all|заметке про payload]]. ## Куда деть собранные адреса ещё Полный список IP и портов игры — ценность не только для вас: его можно [отправить разработчикам Zapret2 GUI](https://github.com/youtubediscord/zapret/issues/new?template=hostlist_ipset_request.yml), чтобы игру добавили в категории по умолчанию — правила оформления в [[Создание своей категории]]. Тогда следующим игрокам не придётся проходить этот путь. ## Лобовой вариант: пресеты «ALL TCP & UDP» — и связка с TCPView В чатах поддержки (июль 2026) часто советуют путь ещё проще: включить [[preset|пресет]] из раздела `ALL TCP & UDP` — там стратегия применяется **сразу ко всем сайтам** (широкий профиль-перехватчик «Все сайты (исключение)», механика — в [[profile#Порядок профилей важен: чем выше — тем главнее|«Порядок профилей»]]) — и перебирать стратегии в нём. По словам разработчика Zapret2 GUI, это «самый тупой, но лёгкий способ найти нужную стратегию». ![[all-tcp-udp-presets-2026-07.png]] ![[vse-saity-profili-gui-2026-07.png]] ### Как такой пресет устроен внутри Чтобы понимать, чем именно вы щёлкаете при таком переборе, вот реальное содержимое стокового пресета `ALL TCP & UDP hostfakesplit_multi_syndata` (BuiltinVersion 2.24, июль 2026) — шапка с [[blob|блобами]] опущена, она такая же, как в любом пресете (см. [[preset#Структура пресета|структуру пресета]]): ```bash # Preset: ALL TCP & UDP hostfakesplit_multi_syndata # BuiltinVersion: 2.24 --wf-tcp-out=80,443-65535 # перехват почти всех TCP-портов --wf-udp-out=80,443-65535 # и почти всех UDP-портов # ( ...стандартная шапка: --lua-init, кэш, --blob — опущена... ) --name=Исключения (RU сайты) # профиль 1 — самый верхний --filter-tcp=80,443-65535 --ipset=lists/ipset-ru.txt # российские сайты, --ipset=lists/ipset-dns.txt # DNS-серверы --ipset=lists/ipset-exclude.txt # и ручные исключения... --out-range=-d8 --payload=tls_client_hello --lua-desync=pass # ...не дурятся вообще --new --name=Все сайты (айпи) # профиль 2 — ВЕСЬ остальной TCP --filter-tcp=80,443-65535 --ipset-exclude=lists/ipset-ru.txt --ipset-exclude=lists/ipset-dns.txt --ipset-exclude=lists/ipset-exclude.txt --out-range=-n8 --lua-desync=send:repeats=2 --lua-desync=syndata:blob=stun_pat --lua-desync=hostfakesplit_multi:hosts=google.com,vimeo.com:tcp_ts=-1000:tcp_md5:repeats=2 --new --name=Все сайты UDP (айпи) # профиль 3 — ВЕСЬ UDP, отдельно --filter-udp=443-65535 --ipset-exclude=lists/ipset-ru.txt --ipset-exclude=lists/ipset-dns.txt --ipset-exclude=lists/ipset-exclude.txt --out-range=-d8 --payload=all --lua-desync=fake:blob=quic_google:ip_autottl=-2,3-20:ip6_autottl=-2,3-20:repeats=10:payload=all ``` Что здесь важно понимать: - **Перехват на всю ширину.** [[wf|WinDivert-фильтры]] `--wf-tcp-out` и `--wf-udp-out` открыты на `80,443-65535` — Zapret видит почти весь исходящий трафик, включая нестандартные игровые порты. Именно поэтому такой пресет «дотягивается» до игры, адресов которой вы не знаете. - **Российское — мимо дурения.** Самый верхний профиль «Исключения (RU сайты)» держит [[ipset|ipset-списки]] российских сайтов и DNS на стратегии `pass` («ничего не делать»). По правилу [[profile#Порядок профилей важен: чем выше — тем главнее|«выше = главнее»]] он срабатывает первым — поэтому «на all-tcp ломается всё» — преувеличение: отваливаться могут в основном зарубежные сервисы, а RU-ресурсы пресет не трогает вовсе. - **Один TCP-профиль на всё остальное.** «Все сайты (айпи)» берёт весь TCP **за вычетом** тех же списков (`--ipset-exclude`) — это и есть тот профиль, где вы перебираете стратегии: GUI при выборе в «Готовых стратегиях» подменяет строки `--lua-desync` именно этого блока. В этом пресете стоит связка `send` + [[syndata]] (с блобом `stun_pat`) + [[hostfakesplit|hostfakesplit_multi]] (маскировка под чужие хосты `google.com`, `vimeo.com`). - **UDP — отдельный профиль с отдельной стратегией.** «Все сайты UDP (айпи)» дурит весь UDP 443-65535 своей стратегией ([[fake]] с QUIC-блобом и автоподбором TTL). Смена TCP-стратегии его не касается — ещё одно напоминание, что игровой UDP-трафик пробивается отдельно. - **Названия профилей от пресета к пресету отличаются** — в этом файле «Все сайты (айпи)», в других стоковых «Все сайты (исключение)» / «Все сайты (хостлисты)» (как на скриншоте выше). Механика одна: широкий фильтр минус списки исключений. > [!tip] Как узнать профиль «на все сайты» в любом пресете > Признак простой (его же называет разработчик GUI, чат поддержки, июль 2026): если в профиле **нет** `--ipset`/`--hostlist`, а есть только исключающие списки `--ipset-exclude`/`--hostlist-exclude` — профиль действует **на все сайты**. Именно так устроены «Все сайты (айпи)» и «Все сайты UDP (айпи)» в листинге выше. ### Перебрал все пресеты — перебор только начинается Готовых пресетов в разделе `ALL TCP & UDP` немного — 12 штук (GUI v21.1.3.18, июль 2026, скриншот выше). Частая ошибка: переключить все 12, не завестись — и решить «я всё перепробовал, ничего не работает». Это не так: перепробованы только пресеты, а **стратегий гораздо больше, чем пресетов**. Проще говоря: [[preset|пресет]] — это не отдельный способ обхода, а всего лишь **пара заранее выбранных за вас стратегий** — одна для [[profile|TCP-профиля]], одна для UDP-профиля. Сами стратегии лежат в списке «Готовые стратегии» внутри каждого профиля, и в этом списке порядка сотни вариантов (оценка по списку в GUI v21.1.3.18, июль 2026). Переключая пресеты, вы попробовали только 12 пар из этой сотни — все остальные стратегии по-прежнему доступны и перебираются вручную, прямо внутри любого включённого пресета, отдельно для TCP и отдельно для UDP: - «Профили пресета» → TCP-профиль («Все сайты (айпи)» / «Все сайты (исключение)») → «Готовые стратегии» → выбрать следующую. Этот профиль отвечает за лаунчер, логин, загрузку. - «Профили пресета» → UDP-профиль («Все сайты UDP») → «Готовые стратегии» → выбрать следующую. Этот отвечает за матчи и голос; его стратегия от TCP-профиля не зависит. Вывод: кончились 12 пресетов — не бросайте перебор. Откройте профиль внутри любого из них и продолжайте менять стратегии по одной: сочетаний «TCP-стратегия + UDP-стратегия» — сотни. ### Как понять, что стратегия на «all tcp» сработала Открывать каждый сайт подряд не нужно. Раз пресет применяет стратегию ко всему трафику, критерий проверки один — **сама игра**: полностью перезапустил ([[verify-strategy|вплоть до трея]]) → запускается, логинится, пускает в матч. Остальные сайты — не индикатор: им та же стратегия может не подойти, и это ничего не говорит о том, работает ли она для игры. ### Связка двух методов: нашёл стратегию — сразу собери адреса Когда игра на «all tcp» заработала, **не спеши переключаться обратно**. Именно в этот момент TCPView покажет **полный** список адресов: игра живая, проходит все этапы — лаунчер, логин, матчи, голос — и реально открывает соединения ко всем своим серверам (заблокированная игра до большинства из них просто не доходила, см. шаг 1). Порядок такой: 1. На рабочей «all tcp»-стратегии запусти TCPView и сними все Remote-адреса игры, погоняв её по всем режимам. 2. Вернись на свой обычный пресет. 3. Создай узкий профиль игры с этими адресами и **той самой стратегией** — шаги 2–3 основного метода. Так лобовой перебор и метод TCPView смыкаются в один цикл: «all tcp» отвечает на вопрос «какая стратегия», работающая игра под ним — на вопрос «какие адреса», а узкий профиль закрепляет и то и другое без побочных эффектов. Оставаться же на «all tcp» насовсем не стоит: пока он активен, зарубежные сервисы (Spotify, Discord, форумы) получают ту же неоптимальную для них стратегию и могут отваливаться, а узкие профили под широким перехватчиком не срабатывают вовсе. Это **поисковый стенд**, а не постоянная конфигурация; постоянная — узкий профиль из шагов выше. ## Если ни одна стратегия не помогла - Проверь честность проверки: полный перезапуск игры и лаунчера, вплоть до трея ([[verify-strategy]]). - Если перебирал только стоковые пресеты «ALL TCP & UDP» — это лишь 12 готовых комбинаций: внутри любого из них TCP- и UDP-стратегии меняются независимо, комбинаций сотни (см. [[find-game-strategy#Перебрал все пресеты — перебор только начинается|раздел про перебор внутри пресета]]). - Не работает именно UDP-часть (не пускает в матч, молчит голос)? Проверь, что в UDP-профиле стоит `--payload=all` или `--payload=unknown`: с дефолтным `known` игровой UDP с неопознанным протоколом дурится вхолостую (см. предупреждение в [[find-game-strategy#Шаг 4. UDP: игровой трафик реального времени|Шаге 4]]). - Пересними адреса: у игр адреса и CDN меняются, список из TCPView мог устареть или быть неполным (собери его заново, погоняв игру подольше). - Убедись, что профиль игры стоит **выше** широких ipset-профилей в пресете — иначе трафик перехватывает профиль над ним ([[profile#Порядок профилей важен: чем выше — тем главнее|порядок профилей]], [[profile-independence|один сайт — один профиль]]). - Возможно, игра вообще не блокируется по DPI (упал сам сервис, GeoIP-бан, проблема провайдера) — тогда никакая стратегия не поможет; с чего начать диагностику — [[symptom-not-cause|«Почему „не работает“ — это симптом»]]. ## 📚 См. также - [[Создание своей категории]] — TCPView и Wireshark подробно: как собирать домены, IP и UDP-порты ресурса - [[find-domain-owner|Как узнать, какому CDN принадлежит домен]] — тот же принцип «сначала адреса, потом стратегии», но для сайтов: браузерное расширение вместо TCPView - [[add-profile|Как добавить свой профиль]] — пошаговое создание профиля в GUI (бэкап пресета, редактор списков, включение) - [[verify-strategy|Как проверить, заработала ли стратегия]] — почему без полного перезапуска игры перебор бессмыслен - [[profile|Что такое профиль]] — фильтры, порядок «выше = главнее» и механика широких профилей «all tcp udp» - [[preset|Что такое пресет]] — почему захардкоженная стратегия «на всё» чинит одни сайты и ломает другие - [[payload|Типы --payload]] — почему игровой UDP-трафик получает тип `unknown` и когда ставить `--payload=all` - [[ipset]] · [[hostlist]] — файлы списков IP и доменов, которые наполняет профиль - [[circular]] — автоматический перебор стратегий (другая механика: Lua-оркестратор сам меняет стратегию при неудачах) - [[log-analyzer|Анализ лога winws2]] — сбор адресов и портов игры через debug-лог, без Wireshark и TCPView (особенно для UDP) - [[Blockcheck|BlockCheck]] — автоподбор стратегии для сайтов (для игр работает хуже: проверяет через curl один домен) - [[symptom-not-cause|Почему «не работает» — это симптом]] — частые ложные выводы при настройке --- > [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ > При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны на GitHub: [исходник этой заметки](https://github.com/youtubediscord/todo/blob/main/Zapret2/find-game-strategy.md) · [весь репозиторий](https://github.com/youtubediscord/todo/tree/main). <iframe src="https://youtubediscord.github.io/todo?u=https%3A%2F%2Fpublish.obsidian.md%2Fzapret%2Ffind-game-strategy&t=find-game-strategy&i=find-game-strategy" title="Комментарии" style="width:100%;min-height:560px;border:0" loading="lazy"> </iframe>