Connection timed out и Connection refused: почему не подключается к серверу
ОшибкиТекст ошибки здесь важнее, чем кажется: по нему сразу видно, на каком этапе оборвалось соединение. Три формулировки — три разных диагноза.
Недействительная сессия: «перезапустите лаунчер или игру»
Ошибка входа «Недействительная сессия (перезапустите лаунчер или игру)» появляется при подключении к серверу с включённой проверкой лицензии. Сервер спрашивает у Microsoft, действительно ли вы вошли в аккаунт, и получает отказ. Чаще всего причина в одном из четырёх:
- Истёк токен входа. Лаунчер долго был открыт или компьютер уходил в сон. Решение: полностью закройте игру и лаунчер, откройте заново.
- Вход с другого устройства. Если зайти в тот же аккаунт на другом ПК, старая сессия становится недействительной. Выйдите из аккаунта в лаунчере и войдите снова.
- Сбитое время на компьютере. Если часы отстают или спешат, проверка входа не проходит. Включите автоматическую синхронизацию времени в настройках системы.
- Нелицензионный лаунчер. С пиратского лаунчера на сервер с проверкой лицензии не зайти — нужен сервер с отключённой проверкой (
online-mode=false). Если сервер ваш, учтите: без проверки любой может зайти под чужим ником, поэтому ставьте плагин авторизации.
Если ничего не помогло, проверьте статус серверов Microsoft: при сбоях авторизации ошибка появляется у всех игроков сразу.
Connection refused
io.netty.channel.AbstractChannel$AnnotatedConnectException:
Connection refused: no further information
До машины вы достучались, но на указанном порту никто не отвечает. Варианты:
- сервер выключен или ещё не запустился — проверьте консоль, там должно быть
Done (12.345s)! For help, type "help"; - вы подключаетесь не на тот порт — по умолчанию 25565, если в
server.propertiesне указан другой; - сервер запущен, но упал сразу после старта — смотрите
logs/latest.log.
Connection timed out
io.netty.channel.AbstractChannel$AnnotatedConnectException:
Connection timed out: no further information
Ответа нет вообще — пакеты уходят в пустоту. Это уже не про сам сервер, а про дорогу к нему:
- порт не проброшен на роутере — самая частая причина для домашнего сервера. Изнутри дома всё работает, снаружи нет;
- файрвол Windows блокирует
javaw.exe— разрешите ему входящие соединения; - у провайдера серый IP: снаружи к вам в принципе не достучаться, нужен VPN между игроками или хостинг;
- вы даёте друзьям локальный адрес вида
192.168.1.5— он работает только внутри вашей сети. Нужен внешний IP.
Unknown host
java.net.UnknownHostException
Адрес не преобразуется в IP: опечатка в домене, либо домен не существует. Проверьте написание, и если это домен сервера — что он вообще жив.
Порядок проверки, чтобы не гадать
Разделите задачу надвое: работает ли сервер вообще и доходит ли до него трафик.
- Зайдите с той же машины по адресу
localhost. Получилось — сервер жив, проблема в сети. Не получилось — проблема в сервере. - Проверьте порт снаружи любым сервисом проверки портов. Закрыт — занимайтесь роутером и файрволом.
- Сверьте порт в
server.properties(server-port) с тем, что вводите в клиенте.
Отдельно про UDP
Сама игра работает по TCP, но есть дополнения, которым нужен UDP: голосовые чаты (Simple Voice Chat, Plasmo Voice) и Geyser для входа с телефонов. Их «не работает» выглядит иначе: в игру вы заходите нормально, а голос не работает или Bedrock-клиент не видит сервер.
У многих хостингов UDP-порт нужно запрашивать отдельно. Спрашивайте до оплаты тарифа, а не после.
Если сервер чужой
Когда не подключается к публичному серверу, дело чаще всего не в вас: сервер перезапускается, переехал на другой адрес или закрылся. Посмотрите статус в мониторинге — если он офлайн и у других, ждать смысла нет.
Статус и аптайм русских серверов — в мониторинге: мы пингуем их каждые пять минут.Частые вопросы
Что значит «Недействительная сессия, перезапустите лаунчер или игру»?
Сервер не смог проверить ваш вход: истёк токен авторизации или вы вошли в аккаунт на другом устройстве. Выйдите из аккаунта в лаунчере, войдите снова и перезапустите и лаунчер, и игру.
Чем Connection refused отличается от Connection timed out?
Refused — до машины вы достучались, но на этом порту никто не слушает: сервер выключен или указан не тот порт. Timed out — ответа нет вообще: адрес неверен, либо пакеты режет файрвол или роутер.
Сервер работает у меня, но друзья не заходят. Почему?
Вы подключаетесь изнутри своей сети, а они снаружи. Значит, порт не проброшен на роутере или закрыт файрволом.