«Игра стала хуже после включения прокси» — частая жалоба. Дело не в том, что прокси бесполезен, а в том, что игровому и веб-трафику нужны совершенно разные вещи.
Три особенности игрового трафика
Почему нужен TUN
Системный прокси (HTTP/SOCKS) работает только с TCP. Реальные данные игры — синхронизация позиций, применение способностей — почти целиком UDP, и системный прокси их не видит.
Итог: вход, магазин и обновления идут через прокси (TCP), а собственно матчевый трафик остаётся на прежнем пути. Такое половинчатое состояние иногда хуже, чем полное отсутствие прокси.
Чтобы игровой трафик действительно шёл через прокси, нужно включить TUN.
Но узел должен поддерживать UDP
udp: true в конфигурации — это лишь заявление со стороны клиента; действительно ли сервер пересылает UDP, решает провайдер.
proxies:
- name: "HK-01"
type: trojan
server: hk.example.com
port: 443
password: "pwd"
udp: true # объявляет поддержку; работает ли она, зависит от сервераЧто означает тип NAT
Тип NAT, который сообщают многопользовательские игры (открытый/умеренный/строгий или Type 1/2/3), описывает, могут ли внешние хосты инициировать соединение с вашим устройством.
Прокси меняет ваш тип NAT — потенциально в любую сторону:
- Если у сервера узла выделенный публичный IP без ограничений по портам → можно получить Full Cone, лучше домашнего интернета
- Если узел — транзит с общим IP или со строгим сопоставлением портов → вы становитесь Symmetric, и мультиплеер усложняется
Это и есть обычная причина «включил прокси и теперь не могу зайти в лобби».
Задержка не единственная метрика — потери важнее
url-test измеряет только задержку, потери и джиттер ему не видны. Так что не выбирайте игровой узел автоматической группой.
Как измерить потери
# Windows: 100 пингов, потом смотрим долю потерь
ping -n 100 ip-узла# macOS / Linux
ping -c 100 ip-узла
# инструмент получше: mtr показывает потери на каждом хопе
mtr -r -c 100 ip-узлаСмотрите на Loss% в последней строке. Выше 1% — для соревновательной игры не годится.
mtr также подскажет, где именно теряется: если промежуточный хоп показывает потери, а конечный нет, тот маршрутизатор скорее всего ограничивает ICMP, а не роняет ваш трафик.
Конфигурация под игры
1. Отдельная игровая группа политик
proxy-groups:
- name: "🎮 Игры"
type: fallback # fallback, а не url-test
proxies: ["Выделенный-HK", "Выделенный-JP", "Обычный-HK"]
url: "http://www.gstatic.com/generate_204"
interval: 600 # длинный интервал, меньше переключенийПочему fallback: смена узла посреди игры означает разрыв и переподключение. fallback меняет узел, только когда текущий действительно умер, и это заметно устойчивее url-test.
2. Правки TUN
tun:
enable: true
stack: gvisor # лучшая совместимость по UDP
auto-route: true
auto-detect-interface: true
dns-hijack: [any:53]
mtu: 1400 # немного ниже, чтобы уменьшить фрагментацию3. Направление в игровую группу по процессу или домену
prepend-rules:
# по процессу
- PROCESS-NAME,steam.exe,🎮 Игры
- PROCESS-NAME,Battle.net.exe,🎮 Игры
# по домену
- DOMAIN-SUFFIX,steamserver.net,🎮 Игры
- DOMAIN-SUFFIX,battle.net,🎮 Игры
# по порту (многие игры используют фиксированный диапазон)
- AND,((NETWORK,UDP),(DST-PORT,27000-27100)),🎮 ИгрыПравилам по процессам нужен find-process-mode: strict; см. правила по процессам.
4. Отключение функций, которые могут мешать
sniffer:
enable: true
skip-domain:
- "+.steamserver.net" # сниффинг может мешать игровым протоколамНекоторые собственные протоколы игр сниффер трактует неверно, так что добавьте их в skip-domain.
Какой узел подходит для игр
Подходит ли линия для игр, лучше судить по измерениям, чем по описанию. Прогоните это на пробном трафике:
Когда не стоит играть через прокси
Локальные игры всегда должны идти напрямую. Добавьте правило, явно их исключающее:
prepend-rules:
- PROCESS-NAME,local-game.exe,DIRECTПро античит
Античит-системы некоторых игр обнаруживают виртуальные адаптеры и необычные сетевые пути. Использование прокси обычно правил не нарушает, но:
- Условия обслуживания некоторых игр запрещают сторонние сетевые инструменты
- Часто меняющийся IP может поднять антифрод (обнаружение необычного местоположения)
- Небольшое число античитов вообще отказывается запускаться при наличии виртуального адаптера
До и после
Коротко
- Игры используют UDP, и нести его может только TUN — системный прокси здесь бесполезен
- Узел должен действительно поддерживать UDP;
udp: true— лишь заявление - Потери и джиттер важнее задержки — измеряйте с помощью mtr
- Для игровой группы берите fallback, а не url-test, чтобы не переключаться посреди матча
- Локальные игры идут напрямую; проксирование только ухудшает
- Настоящий ответ для игр — выделенная линия (IPLC/IEPL); обычный транзит редко дотягивает
Смотрите также: внутреннее устройство TUN и правила по процессам.
Смежные документы
Как на самом деле работает fake-ip, чем он отличается от redir-host, как делят работу nameserver и fallback, как не допустить утечки DNS и почему перестают резолвиться внутренние имена.
Что делает режим TUN с точки зрения пакета: создание виртуального адаптера, переписывание таблицы маршрутизации, перехват порта 53 и выбор между стеками gvisor, system и mixed.
Что означает каждый столбец и как им пользоваться: поиск программы, съедающей трафик, причины взрывного роста числа соединений, где узкое место скорости и непрерывный мониторинг через API.