НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Порты и файрвол DDNet простыми словами

DDNet (DDraceNetwork)Updated Nov 3, 20266 min read

Сервер DDNet (DDraceNetwork) использует один UDP-порт для всего, что делают игроки: вход, игра, удалённая консоль на F2 и проверка для списка серверов. Обычный порт DDNet 8303, но у сервера PlayNHost свой порт, который панель записывает в конфиг сервера при каждом запуске. Никому не нужно открывать порт на роутере или в файрволе.

Какие порты использует сервер DDNet?

ПортДля чего нуженПротоколПо умолчанию у DDNetНа вашем сервере PlayNHostГде вы это видите
Игровой портИгроки DDNet и Teeworlds 0.7, удалённая консоль (F2) и список серверовUDP8303Основной порт, номер назначает PlayNHostПорты и сеть и строка Адрес на карточке Играть с друзьями
Внешняя консоль (econ)TCP-консоль для внешних инструментовTCPВыключена (ec_port 0)Не используется: порта для неё нетВводите команды в Console панели

Сервер DDNet открывает UDP-сокет только для своих игроков, как показывает исходный код DDNet версии 20.2.1. Вход админа на F2 идёт внутри этого же соединения, поэтому отдельного порта RCON, который нужно искать или открывать, нет. В собственном стартовом файле DDNet сказано, что порт сервера «по умолчанию равен 0, чтобы автоматически выбрать свободный порт в диапазоне 8303-8310»: все настройки перечислены на странице Settings and Commands на сайте DDNet.

Карты единственное, что игроки могут получить другим путём. Когда Быстрая загрузка карт включена (по умолчанию) и пароля на вход нет, игроки скачивают карты по HTTPS из сети загрузки PlayNHost. Иначе они скачивают их с вашего сервера через игровой порт.

Почему мой порт не 8303?

Много серверов делят одну машину, поэтому каждый сервер получает свой номер порта. При каждом запуске панель записывает его в data/autoexec_server.cfg как sv_port, так что DDNet слушает на нём и сообщает о нём списку серверов. Вам не нужно его задавать.

Как увидеть порт моего сервера в панели?

  1. Откройте сервер в панели и нажмите Порты и сеть в меню слева.
  2. Скопируйте адрес в разделе Отправьте это игрокам. Это адрес и порт в виде address:port, например 203.0.113.10:25590.
  3. Посмотрите раздел Все порты. Порт с меткой Основной и описанием Порт, к которому подключаются игроки это ваш порт DDNet. Под заголовком Все порты на странице написано Каждый порт принимает TCP и UDP.

Тот же адрес есть в строке Адрес на карточке Играть с друзьями на вашей странице Обзор.

Карточка «Играть с друзьями» сервера DDNet со строками «Название сервера», «Адрес» и «Пароль»

Подробнее о самой странице: Как найти порты и IP-адрес вашего сервера.

Как подключаются игроки?

  • Браузер серверов. В клиенте DDNet игроки нажимают Play (Играть), открывают вкладку Internet и ищут название вашего сервера. Для этого Публичный список серверов в Настройки игры должен быть равен ipv4.
  • По адресу. Игроки нажимают F1, чтобы открыть консоль клиента, и вводят connect, а затем ваш адрес вместе с портом, например connect 203.0.113.10:25590. Это работает независимо от того, есть ли сервер в списке.

Игроки Teeworlds 0.7 заходят на тот же порт, по адресу. Полные шаги описаны в статье Как зайти на ваш сервер DDNet.

Нужно ли открывать порты на роутере или в файрволе?

Нет. Файрвол перед игровыми серверами PlayNHost пропускает трафик на порты, которые панель выдаёт серверам, и TCP, и UDP, а остальное отбрасывает. Ваш порт DDNet доступен из интернета, как только сервер запущен.

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

Частые проблемы с портами и их решения

Сервера нет на вкладке Internet

Проверьте, что Публичный список серверов равен ipv4 в Настройки, затем Настройки игры, и перезапустите сервер после изменения. После запуска Console показывает register/6/ipv4: successfully registered и то же самое для register/7/ipv4. Если эти строки есть, список DDNet знает о вашем сервере. Остальные проверки описаны в статье Ваш сервер DDNet не отображается в браузере серверов.

Игроки получают тайм-аут после того, как вы добавили свои настройки

myServerconfig.cfg выполняется после строки, в которой панель задаёт ваш порт, поэтому строка в нём имеет приоритет. Если вы вставили конфиг с другого хостинга, найдите в нём эти строки и удалите их:

  • sv_port, который переносит DDNet на порт, которого у вашего сервера нет.
  • sv_register_port, который сообщает списку серверов не тот порт, на котором слушает DDNet.
  • bindaddr, который привязывает DDNet к одному адресу.

Сохраните файл и перезапустите сервер. Затем снова скопируйте адрес с Играть с друзьями. Подробнее об этом файле: Как добавить собственные настройки на сервер DDNet.

Console пишет, что порт, возможно, уже занят

DDNet останавливается при запуске с couldn't open socket. port ... might already be in use. Чаще всего копия сервера не успела завершиться: подождите минуту и снова нажмите «Запустить». Если номер в строке не совпадает с вашим Основной портом, причина в строке sv_port в myServerconfig.cfg: удалите её, как описано выше. Если ничего не помогло, отправьте строку в поддержку в тикете.

Игрок ввёл адрес, но не может подключиться

  • Порт пропущен или это 8303 от DDNet. Скопируйте адрес целиком из строки Адрес в Играть с друзьями.
  • Сервер ещё запускается. Дождитесь, пока Console покажет server name is и название вашего сервера.
  • Школьная, рабочая или общедоступная сеть может блокировать нестандартные порты. Для проверки попробуйте другую сеть.

Вход админа на F2 не работает

Дело не в порте: F2 использует то же соединение, что и игра. Проверьте пароль и перезапуск, как описано в статье Пароль RCON не работает на вашем сервере DDNet.

По всем остальным вопросам начните со статьи Проблемы сервера DDNet и их решения.

Ваш сервер уже у другого хостинга? Перенесите его к нам

ПОСЛЕДНИЕ БЛОГИ