Домашняя локальная сеть до сих пор даёт то, чего не найти в сетевых матчах через глобальный интернет: соперника, которого можно ткнуть локтем после спорного финта. Классика двухтысячных умеет собирать людей вокруг одного стола, но Windows 11 встречает старые игры прохладно: брандмауэр молча режет соединения, а список соперников остаётся пустым. Виноваты не игры, а новые настройки сети и забота о безопасности. Ниже собрана вся последовательность: от адресов и обнаружения до правил брандмауэра, выделенного сервера и возвращения протоколов из эпохи Windows 98.
Домашняя сеть на роутере и адреса для каждого компьютера
Основа вечера складывается из железа, и оно у большинства уже есть. Роутер с четырьмя гнёздами LAN, пара кабелей витой пары, компьютеры: этого хватает для сети на три-четыре машины. Кабель от каждого системного блока идёт в гнёзда LAN, а не в порт WAN, который обычно выделен цветом и подписан отдельно. Беспроводное подключение тоже годится, однако провод быстрее и стабильнее, а в матчах важна именно ровная задержка без рывков.
Роутер работает как раздатчик адресов, и за это отвечает служба DHCP. Каждому компьютеру автоматически выдаётся адрес вида 192.168.1.35, маска подсети 255.255.255.0 и адрес самого роутера, обычно 192.168.1.1. Маска 255.255.255.0 означает, что соседями по сети считаются устройства, у которых первые три числа адреса совпадают, а свободных адресов в такой подсети насчитывается 254. Посмотреть, что досталось конкретной машине, можно в параметрах: Параметры → Сеть и Интернет → Ethernet → свойства подключения, где перечислены IPv4-адрес, шлюз и серверы DNS.
Здесь одна тонкость решает судьбу вечера. Адрес, выданный DHCP, может смениться после перезагрузки роутера, и игра, настроенная на вчерашний адрес, перестанет видеть сервер. Поэтому машине, которая будет хостом, адрес закрепляют жёстко, вручную, и о том, как это делается, рассказывает следующий раздел.
Статический адрес и проверка связи командами netsh и ping
За адреса в Windows отвечает и командная строка, причём быстрее, чем мышь. Нажмите Win+R, введите cmd и нажмите Enter, чтобы открыть окно командной строки. Сначала выясните точное имя сетевого адаптера и текущие настройки:
ipconfig /all
Команда выведет список адаптеров с именами, адресами, масками и шлюзами. Имя вида "Ethernet" или "Беспроводная сеть" понадобится в следующей команде, поэтому перепишите его точно, с учётом пробелов. Теперь запустите ту же cmd через "Запуск от имени администратора" и выполните:
netsh interface ip set address name="Ethernet" source=static addr=192.168.1.20 mask=255.255.255.0 gateway=192.168.1.1
Здесь меняют три значения: имя адаптера после name, желаемый адрес после addr и адрес роутера после gateway. Первые три числа адреса должны совпадать с соседями по сети, последнее выбирайте в стороне от диапазона DHCP, например 192.168.1.20. Маска остаётся 255.255.255.0. После выполнения команда ничего не напишет, зато адрес закрепится, пока вы сами его не смените.
Проверить результат можно той же командной строкой:
netsh interface ip show config
В выводе появятся настройки всех адаптеров, и среди них новый статический адрес. Обратный переход на автоматические адреса делается одной строкой, и после неё адреса снова начнёт раздавать роутер:
netsh interface ip set address name="Ethernet" source=dhcp
Когда адреса расставлены, настаёт момент проверки. На втором компьютере в том же окне cmd выполните команду, подставив адрес машины-хоста:
ping 192.168.1.20
Если в ответ приходят строки "Ответ от 192.168.1.20" со временем в единицы миллисекунд, сеть жива, и дальше дело за настройками Windows. Строки "Превышен интервал ожидания" означают, что компьютеры пока не соседи: ищите ошибку в адресе, маске или кабеле. Любителям PowerShell подойдёт короткая альтернатива для того же окна:
Get-NetIPAddress -AddressFamily IPv4 | Format-Table IPAddress, InterfaceAlias
Она выводит таблицу адресов и имён адаптеров, из которой удобно переписывать значения для netsh.
Сетевое обнаружение и общий доступ в параметрах Windows 11
Сама сеть работает, но Windows 11 по умолчанию прячет компьютеры друг от друга. Первый переключатель живёт в свойствах подключения: Параметры → Сеть и Интернет → Ethernet → тип сетевого профиля. Здесь нужно выбрать значение "Частная сеть". Частный профиль снимает часть ограничений, потому что вы заявили системе: вокруг свои, домашние машины, а не чужая сеть кафе.
Второй переключатель лежит глубже: Параметры → Сеть и Интернет → Дополнительные параметры сети → Дополнительные параметры общего доступа. В профиле частной сети включите пункты "Сетевое обнаружение" и "Общий доступ к файлам и принтерам". Для беспроводного подключения те же переключатели ищите в ветке Wi-Fi того же окна.
На первый взгляд эти кнопки не имеют отношения к играм, и в этом главная ловушка. Через общий доступ удобно перекидывать патчи, карты и сохранения между машинами без флешки, а некоторые старые игры опираются на обнаружение компьютеров при поиске соперников. Передать другу свежий патч проще простого: щёлкните правой кнопкой по папке, выберите "Свойства", вкладку "Доступ", кнопку "Расширенная настройка", поставьте галочку "Открыть общий доступ к этой папке" и подтвердите кнопкой "ОК". После этого на другом компьютере в адресной строке Проводника введите \\192.168.1.20, подставив адрес хоста, и папка откроется как соседняя полка.
Дальше начинается самое интересное: сеть отвечает, компьютеры видны, а игра всё равно молчит. Пора наведаться в брандмауэр.
Правило брандмауэра для конкретной игры через wf.msc
Брандмауэр Windows Defender по умолчанию запрещает программам принимать входящие подключения. При первом сетевом запуске игра показывает окно с просьбой разрешить доступ, и один нажатый когда-то "Отмена" превращается в годы пустых списков серверов. Лечится это вручную, через консоль с полным контролем.
Нажмите Win+R, введите wf.msc и нажмите Enter: откроется окно "Брандмауэр Защитника Windows в режиме повышенной безопасности". Мастер правил проходит в семь шагов:
- В левом столбце выберите "Правила для входящих подключений";
- В панели справа нажмите "Создать правило";
- На странице "Тип правила" выберите "Для программы" и нажмите "Далее";
- Отметьте "Путь программы", через кнопку "Обзор" ведите к exe-файлу игры и нажмите "Далее";
- На странице "Действие" оставьте "Разрешить подключение" и нажмите "Далее";
- На странице "Профиль" оставьте отметку "Частный", снимите "Публичный" и нажмите "Далее";
- Задайте имя вроде "Сетевая игра Название игры" и нажмите "Готово".
После этого игра примет входящее подключение без лишних вопросов. Тот же результат достигается одной командой в cmd, запущенном от имени администратора:
netsh advfirewall firewall add rule name="LAN Game" dir=in action=allow program="C:\Games\Igra\game.exe" enable=yes
Путь после program замените на свой, а имя правила сделайте понятным, чтобы через год не гадать, для чего оно появилось. Удалить правило можно там же в консоли wf.msc, правой кнопкой по строке, пункт "Удалить".
Если справка игры перечисляет порты, по которым она принимает соперников, правило можно ужать до этих номеров: на странице "Протокол и порты" мастера выберите TCP или UDP и впишите номера из справки. Цифры у каждой игры свои, поэтому доверяйте только её руководству или службе поддержки разработчика, а не памяти соседа по двору. Правило требуется на каждой машине, которая принимает подключения, так что повторите операцию у всех участников.
Выделенный сервер и подключение друзей по IP
Многие игры той эпохи умели больше, чем простой поиск в списке: у них есть выделенный сервер, отдельная программа, которая крутит матч без графического окна. Хост запускает её на самой мощной машине, друзья подключаются напрямую по адресу, и список лобби им не нужен вовсе. У Counter-Strike 1.6 такая часть живёт в файле hlds.exe, у других игр сервер прячется в папке с игрой или запускается пунктом "Создать сервер" в главном меню.
Схема подключения выглядит одинаково почти везде. Хост запускает сервер и узнаёт свой адрес командой ipconfig. Затем сообщает друзьям четыре числа, например 192.168.1.20. В игре участники открывают пункт "Подключиться по IP" или консоль клавишей с буквой Ё и вводят:
connect 192.168.1.20
Через секунду игра начнёт соединение, и в списке игроков появятся соседи по столу. Этот путь надёжнее поиска по списку, потому что не зависит от обнаружения, лобби и прочих капризов старых сетевых меню.
Выделенному серверу тоже нужен пропуск от брандмауэра, поэтому правило из предыдущего раздела создайте для серверного файла, а не только для exe игры. Если соединение устанавливается, но игроки отваливаются через несколько секунд, виноват обычно второй порт: сама игра ходит по одному номеру, а обмен голосом или подробностями матча идёт по соседнему, и оба номера перечислены в справке.
Старые игры на протоколе IPX и обёртка ipxwrapper
Самая запутанная история прячется в слове IPX. Игры рубежа девяностых и двухтысячных, от Warcraft II и первых Command & Conquer до Age of Empires, искали соперников в локальной сети не через TCP/IP, а через протокол IPX, пришедший из офисных сетей Novell. Windows 98 умела с ним разговаривать из коробки, но в современных версиях системы поддержка выброшена, и пункт "Соединение по IPX" в меню старой игры ведёт в пустоту.
Выход существует, и это свободная утилита ipxwrapper. Она учит современные Windows говорить на IPX, упаковывая его пакеты в обычный UDP-трафик домашней сети: игра уверена, что работает со старым протоколом, а под капотом бегают безобидные сетевые пакеты. Ставится обёртка на каждый компьютер одинаково: файлы из комплекта копируются в папку с игрой, а настройки задаются в отдельной утилите ipxconfig, где выбирается сетевой адаптер и включается поддержка IPX. После установки на всех машинах пункт "Соединение по IPX" снова оживает, и игра ищет соперников так, как искала их четверть века назад.
Пара практических замечаний. Обёртка не открывает доступ за пределы дома, она работает строго внутри домашней подсети, что и требуется. А если игра всё равно никого не находит, проверьте в ipxconfig, что выбран тот адаптер, которому назначен реальный адрес домашней сети, а не виртуальные заготовки от других программ.
DirectPlay из компонентов Windows и другие ловушки запуска
Другой скелет в шкафу старых игр зовётся DirectPlay. Это библиотека сетевых лобби из состава DirectX, на которой построены сетевые меню Age of Empires II и множества стратегий и симуляторов конца девяностых и начала двухтысячных. DirectPlay давно выведен из активной жизни, но производитель оставил его в системе как компонент прежних версий, и включается он за минуту.
Нажмите Win+R, введите optionalfeatures и нажмите Enter: откроется окно "Включение или отключение компонентов Windows". Найдите в списке узел "Компоненты прежних версий", разверните его, поставьте галочку "DirectPlay" и нажмите "ОК". Компонент устанавливается без перезагрузки, после чего заново запустите игру, и её сетевое меню начнёт видеть соперников.
Дальше короткий маршрут по остальным ловушкам. Старая игра капризничает или не запускается вовсе: щёлкните правой кнопкой по exe-файлу, выберите "Свойства", вкладку "Совместимость", включите "Запустить в режиме совместимости с: Windows XP (пакет обновления 3)" и там же отметьте "Запуск от имени администратора". Игра видит соперников только с одинаковой версией: сетевые меню того времени не прощают разные патчи, поэтому синхронизируйте версии через общий доступ из третьего раздела. Все машины в интернете, но игры не видят друг друга: посмотрите настройки роутера, потому что гостевая беспроводная сеть и включённая изоляция клиентов режут обмен между устройствами, и тогда выход один, кабель или основная сеть.
Когда всё сходится, вечер обретает тот самый звук: четыре окна одной игры, четыре машины, одна сеть и матч, который ни от кого не зависит. Роутер гудит под столом, чай стынет, а соперник, у которого пошло удачно, сидит в двух метрах и злится видимым образом. Windows 11 ничего не имеет против этих матчей, она просто ждала правильных настроек.