Как играть с другом по сети в любую игру: порты, TCP и UDP
Как играть с другом по сети без белого IP и Хамачи: узнайте порт и протокол своей игры и откройте сервер другу одной командой fxtunnel.
Чтобы играть с другом по сети, одному из вас нужно запустить игру или сервер как хост, а второму достучаться до хоста через интернет. Мешает почти всегда одно: домашний компьютер не виден снаружи. Решение укладывается в три действия. Узнайте, какой порт и протокол слушает ваша игра. Откройте его командой fxtunnel tcp <порт> или fxtunnel udp <порт>. Отправьте другу адрес вида fxtun.ru:14215. Белый IP, настройка роутера и программа у друга не нужны.
Игры на TCP работают на бесплатном тарифе. Для UDP нужен тариф Base. Ниже разберём, как понять, что нужно именно вашей игре, и что делать, если портов у неё два.
Как устроена игра по сети
Почти любая сетевая игра устроена одинаково. Один компьютер — хост: на нём работает мир, он принимает подключения. Остальные — клиенты: они подключаются к хосту по адресу и порту. Хостом бывает отдельная программа (выделенный сервер) или сама игра, если в ней есть кнопка вроде «Открыть для сети» или «Создать сервер».
Порт — номер «двери», у которой хост ждёт игроков. У Minecraft Java это 25565, у Terraria — 7777. Протокола два:
- TCP доставляет данные по порядку и без потерь. Им пользуются Minecraft Java и Terraria.
- UDP отправляет пакеты без гарантий доставки, зато без задержек на перепроверку. На нём работают Minecraft Bedrock, Factorio и Project Zomboid.
Дома, на одном Wi-Fi, всё работает само: друг видит ваш компьютер напрямую. Через интернет — нет. Ваш компьютер стоит за роутером, а часто ещё и за общим NAT провайдера с серым адресом. Входящее подключение от друга до вас просто не доходит. Подробно про это — в статье «Серый IP: как узнать и что делать».
Туннель решает задачу с другой стороны. Клиент fxtunnel на вашем компьютере сам подключается к серверу fxTunnel, и тот выдаёт публичный адрес. Друг подключается к этому адресу, а сервер передаёт его соединение вашей игре.
подключение по IPfxtun.ru:14215 fxtunnel tcp 7777localhost:7777 Как узнать порт и протокол своей игры
Нужны два значения: номер порта и TCP это или UDP. Искать их стоит в таком порядке.
Вики игры или руководство по серверу. Самый надёжный путь. Ищите страницу про выделенный сервер (dedicated server) и слово «port». Там обычно написано и значение по умолчанию, и протокол, и как его поменять.
Настройки сервера. Порт почти всегда можно задать: в Minecraft это server-port в server.properties, в Terraria — параметр -port, в Factorio — ключ --port. Если вы его меняли, считается ваше значение, а не то, что в вики.
Спросить у системы. Запустите сервер игры и посмотрите, какие порты заняла программа.
На Windows в PowerShell:
Get-NetTCPConnection -State Listen | Select-Object LocalPort, OwningProcess
Get-NetUDPEndpoint | Select-Object LocalPort, OwningProcess
Get-Process -Id 1234Первые две команды покажут открытые TCP- и UDP-порты с номером процесса, третья по номеру процесса (вместо 1234 подставьте свой) назовёт программу.
На Linux:
sudo ss -tulpnВ колонке Netid будет tcp или udp, в Local Address:Port — порт, в конце строки — имя процесса.
На macOS:
sudo lsof -nP -iTCP -sTCP:LISTEN
sudo lsof -nP -iUDPЛайфхак: сравните вывод с запущенным сервером и без него. Строки, которые появились, и есть порты игры. Если их несколько, откройте вики: часть портов бывает служебной и для игры с другом не нужна.
Порты популярных игр
В таблице только игры, чьи порты подтверждены официальной вики или документацией сервера. Порты указаны по умолчанию для выделенного сервера.
| Игра | Порт | Протокол | Туннелей | Тариф | Источник |
|---|---|---|---|---|---|
| Minecraft Java Edition | 25565 | TCP | 1 | бесплатный | minecraft.wiki |
| Minecraft Bedrock Edition | 19132 | UDP | 1 | Base | minecraft.wiki |
| Terraria | 7777 | TCP | 1 | бесплатный | terraria.wiki.gg |
| Factorio | 34197 | UDP | 1 | Base | wiki.factorio.com |
| Project Zomboid | 16261 и 16262 | UDP | 2 | Base | pzwiki.net |
Столбец «Туннелей» показывает, сколько портов нужно открыть. Один туннель fxTunnel открывает ровно один порт. На бесплатном тарифе одновременно работает один туннель, поэтому игре с двумя портами нужен Base: на нём пять туннелей одновременно, и UDP.
Про Minecraft с другом есть отдельный подробный разбор: «Майнкрафт по сети без Хамачи». Про остальные игры из таблицы и другие популярные — отдельные статьи: сервер Minecraft Bedrock для друзей, сервер Project Zomboid, сервер Valheim и Palworld, Terraria и Stardew Valley по сети.
Открываем сервер одной командой
Установите клиент и войдите
На Windows в PowerShell:
irm https://fxtun.ru/install.ps1 | iexНа Linux и macOS:
curl -fsSL https://fxtun.ru/install.sh | shЗатем в новом окне терминала:
fxtunnel loginКлиент откроет страницу входа в браузере. Подтвердите вход, и в терминале появится Authorized!. Аккаунт заводится на fxtun.ru, входить нужно один раз.
Игра на TCP: пример с Terraria
Запустите выделенный сервер Terraria и создайте или выберите мир. Порт оставьте стандартный, 7777 (terraria.wiki.gg). Во втором окне терминала:
fxtunnel tcp 7777Connecting to fxtunnel server...
Tunnel established!
TCP: fxtun.ru:14215
Forwarding to localhost:7777
Ready to receive connections
Строка TCP: fxtun.ru:14215 — адрес для друга. Порт у вас будет свой, из диапазона 10000–20000. В Terraria друг выбирает в главном меню Multiplayer, затем Join via IP, персонажа, и вводит IP-адрес fxtun.ru и порт 14215 (terraria.wiki.gg).
Туннель работает, пока открыто окно терминала. Остановить его можно клавишами Ctrl+C.
Игра на UDP: пример с Factorio
Factorio использует только UDP и порт 34197 (wiki.factorio.com). Запустите сервер Factorio на этом порту, затем:
fxtunnel udp 34197Connecting to fxtunnel server...
Tunnel established!
UDP: fxtun.ru:20715
Forwarding to localhost:34197
Inspector: http://127.0.0.1:4040
Ready to receive connections
Порт UDP-туннеля берётся из диапазона 20001–30000. Друг подключается к серверу по адресу fxtun.ru и порту из строки UDP:. Строку Inspector: для игр можно не замечать, она про HTTP-туннели.
На бесплатном тарифе UDP-туннель не откроется, клиент ответит:
Failed to connect: server rejected tunnel: UDP tunnels are not available on your plan — upgrade to enable UDP
Это не ошибка сети: сервер прямо говорит, что UDP на тарифе нет. Он включается с тарифа Base.
Почему порт меняется и как его удержать
Сервер fxTunnel выдаёт первый свободный порт из диапазона. Пока клиент работает, порт держится за вами: пропал интернет, клиент переподключится и получит тот же номер. А вот после перезапуска fxtunnel порт будет новым, и другу придётся отправить свежий адрес.
Чтобы адрес не менялся, попросите конкретный порт флагом --remote-port:
fxtunnel tcp 7777 --remote-port 17777
fxtunnel udp 34197 --remote-port 24197Номер должен быть из диапазона: для TCP 10000–20000, для UDP 20001–30000. Попросить --remote-port 7777 нельзя, сервер ответит outside allowed range. Если номер уже занял кто-то другой, клиент откажет с Failed to connect: server rejected tunnel: port 17777 is already in use, и нужно выбрать другой. Навсегда порт за аккаунтом не закрепляется: кто первым занял, того и порт. Держите в запасе пару номеров.
Игры с двумя портами
Одни игры используют два порта. Project Zomboid, например, работает на UDP 16261 и 16262 (pzwiki.net). Официальное руководство Valheim пишет прямо: сервер занимает указанный порт и следующий за ним, по умолчанию 2456–2457 (valheimgame.com).
С туннелем тут два момента.
Каждому порту нужен свой туннель. Два порта значит два туннеля, а два туннеля одновременно есть только с тарифа Base.
Номера снаружи и внутри разные. Туннель на локальный порт 16261 получит снаружи, скажем, fxtun.ru:20412, а туннель на 16262 — fxtun.ru:20413 или вообще другой номер. Если игра ждёт второй порт строго на единицу больше первого или сама сообщает игрокам свой номер порта, такая разница может сломать подключение.
Приём для таких игр: запустить сервер на портах из диапазона UDP и попросить ровно такие же номера снаружи. В настройках сервера игры поставьте, например, порты 20261 и 20262, а туннели откройте так, каждый в своём окне:
fxtunnel udp 20261 --remote-port 20261
fxtunnel udp 20262 --remote-port 20262Теперь номера совпадают: игра слушает 20261 и 20262, и снаружи те же 20261 и 20262. Друг подключается к fxtun.ru:20261. Какие именно порты нужны конкретной игре и где они задаются, смотрите в её документации. Разборы для Project Zomboid и Valheim выйдут отдельными статьями, ссылки на них выше.
Если игра не даёт ввести адрес
Некоторые игры ищут сервер только в локальной сети. Хост рассылает объявления всем компьютерам вокруг, клиенты собирают их в список. Minecraft так показывает открытые для сети миры: игра хоста рассылает объявление на групповой адрес 224.0.2.60:4445 (minecraft.wiki). Через туннель такое объявление не доходит, поэтому у друга мир в списке не появится.
Для Minecraft это не беда: есть прямое подключение по адресу. Но если в игре нет поля для адреса вообще, туннель не поможет. Тогда нужна виртуальная локальная сеть вроде Radmin VPN или ZeroTier, где все игроки как будто сидят в одной комнате. Честное сравнение обоих подходов — в статье «Аналог Radmin VPN и Хамачи».
Кого пускать на сервер
Адрес туннеля публичный: кто его знает, тот и может подключиться. Для игры с друзьями обычно хватает встроенных средств самой игры. Пароль сервера, белый список игроков, в Minecraft — online-mode и /whitelist.
У TCP- и UDP-туннелей есть и флаг --allow-ip: он пропускает только перечисленные адреса, остальных сервер сразу отбрасывает.
fxtunnel udp 34197 --allow-ip 203.0.113.10 --allow-ip 198.51.100.0/24Минус один: у многих домашних провайдеров внешний IP друга время от времени меняется, и тогда список придётся обновлять. Флага --auth с паролем у TCP и UDP нет, он только для HTTP-туннелей.
Если друг не может подключиться
Не тот протокол. Игра на UDP, а открыт fxtunnel tcp, или наоборот. Проверьте по вики или через ss -tulpn / Get-NetUDPEndpoint.
Не тот порт. Сервер игры запущен на одном порту, а туннель смотрит на другой. Число в команде fxtunnel должно совпадать с портом, который слушает игра.
Адрес без порта. Друг вписал просто fxtun.ru. Нужен адрес целиком, с портом из строки TCP: или UDP:.
Старый адрес. Вы перезапустили fxtunnel без --remote-port, и порт стал другим. Отправьте новую строку.
Второй туннель не открылся. На бесплатном тарифе работает один туннель одновременно. Второй получит Failed to connect: server rejected tunnel: tunnel limit reached.
Разные версии игры. Многие серверы пускают только клиентов своей версии. Выберите одну версию на двоих.
Что дальше
- Самый частый случай, Minecraft Java с другом, по шагам: «Майнкрафт по сети без Хамачи и белого IP».
- Как устроены UDP-туннели для игровых серверов: «Игровой сервер за NAT — хостинг через UDP-туннель».
- Сравнение с виртуальными сетями: туннель вместо Radmin VPN и Хамачи.
- Коротко о том, чем туннель отличается от Хамачи, рассказывает страница «Аналог Хамачи».
UDP — с тарифа Base
Игровые серверы, голосовые чаты и DNS работают по UDP. UDP-туннели открываются на тарифе Base и выше, вместе с пятью туннелями одновременно.
Читайте дальше
Майнкрафт по сети с другом без Хамачи и белого IP
Майнкрафт по сети с другом без Хамачи и Radmin: откройте мир или сервер Java Edition одной командой. Другу ничего ставить не нужно.
7 мин · 29 сентября 2026Игровой сервер за NAT — хостинг через UDP-туннель
Хостинг Minecraft, Valheim, CS2 за NAT через UDP-туннель fxTunnel: настройка портов, задержки, подключение игроков и оптимизация.
9 мин · 27 марта 2026TCP и UDP туннелирование — разбор протоколов
Как TCP- и UDP-туннели передают базы данных, SSH, игровые серверы и DNS: мультиплексирование, инкапсуляция датаграмм и запуск через fxTunnel.
7 мин · 15 февраля 2026