Игра+steam через прокси

У вас лицензионные версии игр? Есть проблемы?
Сообщение
Автор
unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#1 Сообщение 13.11.2010, 22:46

Исходные данные

- есть steam-аккаунт,
- есть игра (здесь рассматривается Team Fortress 2), работающая по протоколу UDP (HL*, CS, TF2, и т.д.),
- есть компьютер, не имеющий выхода в интернет, на котором предполагается играть,
- есть другой компьютер, имеющий выход в интернет, до которого есть соединение с "игрового" компьютера.

Проблема

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

Решение

Сразу оговорюсь, что, вероятно, самым простым способом было бы установление VPN-соединения на нужную машину, установление шлюза по умолчанию на том конце VPN-cоединения (винда эту опцию включает по умолчанию), и играть. Однако, этот способ имеет ряд минусов, распространяться о которых можно долго, да и смысла в этом нет. Здесь этот способ рассматриваться не будет.

Проницательный слушатель нашего курса знает, что такую проблему можно решить с помощью прокси. Наиболее популярными у организаций являются HTTP и HTTPS прокси, в частности, прокси-сервер SQUID. Сразу сообщаю: steam через HTTP(S)-прокси работать будет, игра - не будет, обзор серверов работать не будет. Причина кроется в том, что HTTP-прокси обслуживают TCP-соединения, а игры и обзор серверов работают по UDP (даже если стим запустить с ключом -tcp).
Что же делать? Как жить дальше?
Решение есть: нам нужен другой прокси. Который позволит работать с UDP-соединениями. И такой прокси есть, и имя ему 3proxy. Нам от него нужна конкретная особенность - поддержка прокси SOCKS5. Итак, что нам потребуется:

1. На сайте 3proxy можно скачать отдельный файл для socks5, но мы не будем усложнять себе жизнь и возьмем нормальный универсальный 3proxy-***.zip, распакуем его.

2. Нам для запуска 3proxy потребуется создать конфиг. Красноглазый слушатель нашего курса с радостью потратит свободное время на редактирование 3proxy.cfg.sample из папки cfg, а мы просто создадим конфиг 3proxy.cfg с ультрасложным содержимым (просто одно слово в файле):
Сделать себе жизнь чуть интереснее можно так

Код: Выделить всё

#тут указываем IP днс-сервера, чтоб быстрее было
nserver 172.1.1.1

#тут разрешаем двум (для примера) адреса пользоваться прокси - чтоб кто попало им не воспользовался. А еще лучше лишнее закрыть файрволлом.
auth iponly
allow * 172.1.1.33,172.1.1.44 * *

#тут IP-адреса компьютера с выходом в интернет - "приёма" (на каком адресе слушаем игровой компьютер) и "отправки" (с какого адреса "идем в мир"). Если сетевая карта одна - то они будут одинаковые.
external 172.1.1.22
internal 172.1.1.22
# -p4444 означает, что в настройках клиента прокси мы будем ставить порт 1444
socks -p4444
Также можно настроить хранение логов - удобно, если собираетесь потом по ним анализировать количество трафика. См. про учет трафика и лог-анализаторы в доках 3proxy.
Конфиг положим, к примеру, в саму папку 3proxy.

3. Чтоб удобней было, можно прописать 3proxy как службу Windows, выполнив 3proxy.exe --install "C:\....\3proxy\3proxy.cfg"
Убрать потом службу, если надо - 3proxy.exe --remove

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

5. Что нам нужно теперь, чтобы заставить наш зоопарк (стим, игру, обзор серверов в стим, обзор серверов в игре) ходить через прокси? Для этого (спасибо Fire666 за наводку) существуют проксификаторы. Проксификаторы - софт, который заставляет соединения другого софта проходить через прокси. Чем это интересно? А вот чем: такое грубое поведение софта многим не нравится - к примеру, антивирусам и излишне активным файрволлам. Фактически, то, что это "съедает" VAC - по большому счету, уступка со стороны Valve, такое безобразие надо пресекать :) Следствие из этого - возможно, придется добавить определенные исключения в ваш антивирус.
Проницательный слушатель нашего курса уже догадывается, что нам подойдет не любой проксификатор, а тот, который умеет работать с SOCKS5 и UDP. Соответственно, популярный Proxifier нам не подойдет, не захотел работать и sockscap, freecap. Запустился TF2 с утилитой Super Socks5Cap (можно скачать кем-то выложенный дистр здесь, пока ссылка не стухнет).

6. Итак, ставим Super Socks5Cap, покупаем exe-файл, не требующий регистрацию :) и запускаем, настраиваем (Setup).
Нам понадобится указать, собственно, прокси - адрес нашей серверной машины, тип SOCKS5, порт (1080, если стандартный).
Program via tunnel config - убираем чекбокс Not Tunnel UDP Data, ставим чекбокс UDP use NAT bind mode.
Misc - убираем Check New Version.
Далее, добавляем (Add) приложение - Steam.exe и hl.exe.

7. Собственно, готово, можно запускать Super Socks5Cap, потом из окошка SuperSocks5Cap стим, потом тф2.

Примечания


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

Альтернатива 3proxy:
baneme писал(а):Вместо 3proxy можно использовать последнюю версию HandyCache socks5 udp поддерживает
Бонус


ICS


Заодно опишу вариант ICS, хотя он к прокси отношения и не имеет. Предположим, у вас есть ноутбук с wi-fi и обычной витой парой RJ45, т.е. есть 2 подключения. Через wifi имеем интернет, через LAN соединяемся (напрямую) с компьютером, на котором хотим играть (и вообще, выйти в интернет). Решается следующим образом:
1. На ноуте идем в Сетевое окружение - Свойства - выделяем оба подключения сразу, щелкаем правой кнопкой и создаем "подключение типа мост".
2. На компе в Сетевое окружение - Свойства - Подключение LAN - Свойства - TCP/IP - Свойства - выставляем получение IP-адреса автоматически, в "Дополнительно" всё лишнее убираем, если есть.

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

VPN


Тут всё примерно понятно, на компе с выходом в интернет имеем хост VPN, на клиенской машине настраиваем подключение VPN (Мастер подключений в свойствах Сетевого окружения поможет). Если шлюз в удаленной сети (а по умолчанию это так и ставится), то после подключения всё должно работать.
Последний раз редактировалось unlucky 12.02.2011, 16:49, всего редактировалось 7 раз.

Аватара пользователя
profyx2
Лейтенант
Лейтенант
Сообщения: 244
Зарегистрирован: 14.08.2009
Поблагодарили: 1 раз
Контактная информация:

#2 Сообщение 14.11.2010, 15:29

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

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#3 Сообщение 14.11.2010, 17:02

profyx2 писал(а):Расскажите какие минусы, или в какой статье они описываются, имеет первый простой способ, а именно запуск ТФ2 не через прокси, а через другой комп, который имеет выход в инет в локалкьной сети.
В общих чертах, лично меня не устроило в нем:
1. в такой конфигурации весь софт идет через другой комп. Учитывая, что любая схема и так добавляет вам лишний hop в маршруте до игрового сервера, тут еще и маршрут до другого компа будет нагружаться виндовским "шумом" (нетбиос, rpc, smb) и прочим софтом.
2. Самым неприятным аспектом является существенный дополнительный гемор в случае, когда и игровой, и другой комп, находятся в одной сети с одним пространством адресов (иными словами, когда комп, имеющий выход в инет, имеет не 2 сетевых карты, а одну, "торчащую" в одну и ту же сеть). В этом случае, насколько я понял, придется хорошо поработать с настройкой маршрутизации VPN-соединения на другом компе. Моего терпения на это, в итоге, не хватило :)
3. Неудобно подсчитывать трафик

Ну и т.д. Способ с VPN реально проще (в архитектурном плане), но, увы, не всегда подходит, поэтому тут, как и означено в теме, описывается способ именно запуска через прокси - для тех, кому больно скучно жить :)

Аватара пользователя
FiNEk
VIP
VIP
Сообщения: 2517
Зарегистрирован: 11.02.2009
Благодарил (а): 8 раз
Поблагодарили: 21 раз
Контактная информация:

#4 Сообщение 14.11.2010, 17:56

Вот вам и карж в магинчике тф2 :3
Последний раз редактировалось FiNEk 14.11.2010, 17:56, всего редактировалось 1 раз.

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#5 Сообщение 15.11.2010, 13:11

Всё сделал как написано выше и не работает, даже локальные серверы не показывает!
У меня стояла программа Proxifier там показывала только локальные серверы!
Подскажите в чем проблема?
Windows7?
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#6 Сообщение 15.11.2010, 14:15

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

Если сделано как описано выше, и не работает, то попробуйте настроить браузер на SOCKS5 прокси адрес:порт и проверить, загружаются ли страницы через него. Если нет - видимо, что-то не так настроено в прокси.
Также хорошо бы привести содержимое 3proxy.cfg и настройки SuperSocks5Cap.
Кроме того, не совсем понятно, не работает стим? игра? соединяется ли стим, но не показывает серверы, или даже соединиться не может?

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#7 Сообщение 15.11.2010, 14:33

unlucky писал(а):Proxifier не умеет работать с UDP, и не перенаправляет его, а обзор серверов работает по UDP. Поэтому видно было только локальные сервера - для которых соединения не шли через прокси.

Если сделано как описано выше, и не работает, то попробуйте настроить браузер на SOCKS5 прокси адрес:порт и проверить, загружаются ли страницы через него. Если нет - видимо, что-то не так настроено в прокси.
Также хорошо бы привести содержимое 3proxy.cfg и настройки SuperSocks5Cap.
Кроме того, не совсем понятно, не работает стим? игра? соединяется ли стим, но не показывает серверы, или даже соединиться не может?
Всё настроил как написано выше!
В steam заходит а вот серверы не видит :(
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#8 Сообщение 15.11.2010, 14:43

Это значит, TCP запроксилось нормально, а UDP - нет.
В настройках SuperSocks5Cap на Program via tunnel config проверьте обе настройки:
Not Tunnel UDP Data - должно быть выключено (по умолчанию оно включено)
UDP use NAT bind mode - должно быть включено

Хорошо бы еще проверить в самой игре - не заходит ли на сервер по известному айпи (connect ...) - а то обзор серверов у меня иногда глючит: то в игре список серверов видно, а в клиенте стима нет, то наоборот (?!). Правда, это, обычно, при плохой связи.

Также попробуйте включить логгирование в 3proxy, и проверить, пишет ли прокси строчки со словом UDPMAP.
добавить в 3proxy.cfg
log C:\access.log
logformat "- +_G%t.%. %D %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown"

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#9 Сообщение 15.11.2010, 15:00

unlucky писал(а):Это значит, TCP запроксилось нормально, а UDP - нет.
В настройках SuperSocks5Cap на Program via tunnel config проверьте обе настройки:
Not Tunnel UDP Data - должно быть выключено (по умолчанию оно включено)
UDP use NAT bind mode - должно быть включено

Хорошо бы еще проверить в самой игре - не заходит ли на сервер по известному айпи (connect ...) - а то обзор серверов у меня иногда глючит: то в игре список серверов видно, а в клиенте стима нет, то наоборот (?!). Правда, это, обычно, при плохой связи.

Также попробуйте включить логгирование в 3proxy, и проверить, пишет ли прокси строчки со словом UDPMAP.
добавить в 3proxy.cfg
log C:\access.log
logformat "- +_G%t.%. %D %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown"
access.log вообще не что не пишет пустой лист :(
Через connect даже на локальные серверы не заходит
UDP use NAT bind mode - включено
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#10 Сообщение 15.11.2010, 15:24

После правки конфига службу нужно перезапустить.

Если в лог ничего не пишется - значит, до прокси вообще ничего не добирается. Возможно, файрволл, или еще что-то. Браузер работает через 3proxy?

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#11 Сообщение 15.11.2010, 15:48

unlucky писал(а):После правки конфига службу нужно перезапустить.

Если в лог ничего не пишется - значит, до прокси вообще ничего не добирается. Возможно, файрволл, или еще что-то. Браузер работает через 3proxy?
Службу я перезапускал.
Брандмауэр отключил.
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#12 Сообщение 15.11.2010, 18:04

Попробую третий раз :)
Браузер работает через этот прокси?

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#13 Сообщение 15.11.2010, 19:50

unlucky писал(а):Попробую третий раз :)
Браузер работает через этот прокси?
Конечно работает!
И 100ый раз пробывал невкакую :(
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

unlucky
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 06.05.2008
Поблагодарили: 1 раз

#14 Сообщение 15.11.2010, 20:00

1. После браузера записи в логе прокси появились?
2. В SuperSocks5Cap внизу есть закладка "Log and status" - что там пишется при попытке просмотреть список серверов?
3. Если включить на той же страничке настроек Fake my IP same as server IP - не помогает?
4. На компе, где 3proxy, сетевые карты 2 или 1?

P.S. Запускать стим надо именно из окошка SuperSocks5Cap!

kocher356
Нович0к
Нович0к
Сообщения: 16
Зарегистрирован: 23.06.2009
Откуда: Россия, Челябинск
Контактная информация:

#15 Сообщение 15.11.2010, 20:21

unlucky писал(а):1. После браузера записи в логе прокси появились?
2. В SuperSocks5Cap внизу есть закладка "Log and status" - что там пишется при попытке просмотреть список серверов?
3. Если включить на той же страничке настроек Fake my IP same as server IP - не помогает?
4. На компе, где 3proxy, сетевые карты 2 или 1?

P.S. Запускать стим надо именно из окошка SuperSocks5Cap!
1. Нет
2.
15.11.2010 22:02:43 - Run - Run program D:\Games\Steam\Steam.exe in tunnel success,pid=1820
15.11.2010 22:02:45 - Tunnel - steam.exe:Connect to 69.28.153.82:27035 success.
15.11.2010 22:02:46 - Tunnel - steam.exe:Connect to 79.141.172.2:27030 success.
15.11.2010 22:02:46 - Tunnel - steam.exe:Connect to 72.165.61.190:27030 success.
15.11.2010 22:02:49 - Tunnel - steam.exe:Connect to 72.165.61.190:27037 success.
15.11.2010 22:02:49 - Tunnel - steam.exe:Connect to 67.135.39.189:27031 success.
15.11.2010 22:02:58 - Tunnel - steam.exe:Connect to ftp=10.51.138.229:21 success.
15.11.2010 22:03:00 - Tunnel - steam.exe:Connect to 68.142.83.183:27017 success.
15.11.2010 22:03:03 - Tunnel - steam.exe:Connect to ftp=10.51.138.229:21 success.
15.11.2010 22:03:03 - Tunnel - steam.exe:Connect to ftp=10.51.138.229:21 success.
15.11.2010 22:03:03 - Tunnel - steam.exe:Connect to ftp=10.51.138.229:21 success.
15.11.2010 22:03:59 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2753, socket=540
15.11.2010 22:04:00 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2755, socket=1880
15.11.2010 22:04:04 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2770, socket=1928
15.11.2010 22:04:04 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2771, socket=1924
15.11.2010 22:04:06 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2784, socket=364
15.11.2010 22:04:06 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2786, socket=1940
15.11.2010 22:04:07 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:2789, socket=1940
15.11.2010 22:04:45 - Tunnel - steam.exe:Connect to 69.28.153.82:27035 success.
15.11.2010 22:06:09 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:3933, socket=540
15.11.2010 22:06:09 - Tunnel - steam.exe:Udp socket close, reset socket=1948
15.11.2010 22:06:10 - Tunnel - steam.exe:Connect to 72.165.61.190:27030 success.
15.11.2010 22:07:24 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:1312, socket=1924
15.11.2010 22:07:24 - Tunnel - steam.exe:Udp socket close, reset socket=1824
15.11.2010 22:07:30 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:1378, socket=1924
15.11.2010 22:07:31 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:1388, socket=1924
15.11.2010 22:07:34 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:1425, socket=1880
15.11.2010 22:07:50 - Tunnel - steam.exe:Connect to 118.107.172.46:27031 success.
15.11.2010 22:11:06 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:3769, socket=1824
15.11.2010 22:11:06 - Tunnel - steam.exe:Udp socket close, reset socket=1832
15.11.2010 22:11:44 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:4280, socket=1880
15.11.2010 22:11:44 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:4301, socket=1824
15.11.2010 22:11:44 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:4305, socket=1924
15.11.2010 22:11:45 - Tunnel - steam.exe:udp bind cmd success, local 0.0.0.0:0, remote 10.53.21.240:4306, socket=1324
3. Я вписал туда ip прокси сервера :) (Не помогло )
4. Сетевые карты 2 ,но из них работает 1 другую я отключил.
Запускаю стим из окошка SuperSocks5Cap :)
Если не сложно залей и кинь программу SuperSocks5Cap может она у меня кривая :)
Ищу опытных людей для совместного проекта CSS.
https://psf-games.ru/
Изображение

Ответить Вложения 1