Pterohost docs

Connection refused - отказано в подключении

Исправление ошибки Connection refused при подключении к Minecraft серверу

Что означает “Connection refused”?

Ошибка “Connection refused” (Отказано в подключении) возникает когда ваш клиент Minecraft достучался до сервера, но сервер активно отклонил соединение. Это означает, что проблема НЕ в сети, а в настройках самого сервера.

Разница между “Connection refused” и “Connection timed out”

Это важно понимать!

Connection refusedConnection timed out
Сервер отказал в соединенииСервер не ответил вообще
Порт закрыт или занятФайрволл блокирует
Проблема в server.propertiesПроблема в сети/файрволле
Сервер работает, но не слушает портСервер выключен или недоступен

Connection refused = “Я тебя слышу, но не буду с тобой разговаривать” Connection timed out = “Я тебя вообще не слышу”


Причина #1: Порт не указан в server.properties

Minecraft сервер должен слушать определенный порт. Если порт настроен неправильно, соединение будет отклонено.

Проверка server.properties

Откройте файл server.properties в корне сервера и найдите:

server-port=25565

Типичные ошибки:

  • Порт указан неправильно: server-port=0 или server-port=
  • Порт совпадает с другим сервисом
  • Указан порт, который уже используется

Решение:

  1. Убедитесь что указан правильный порт (обычно 25565)
  2. Если используете нестандартный порт, убедитесь что он свободен
  3. Сохраните файл и полностью перезапустите сервер
# Правильная настройка для порта по умолчанию
server-port=25565

# Или для нестандартного порта
server-port=25566

Важно! После изменения server.properties нужно полностью перезапустить сервер, команда /reload не поможет!


Причина #2: Неправильный server-ip (bind-ip)

Параметр server-ip определяет на каком IP адресе сервер будет принимать подключения.

Проверка настройки

В server.properties найдите:

server-ip=

Что означают разные значения:

ЗначениеЧто это значит
server-ip= (пусто)Слушать на всех интерфейсах (РЕКОМЕНДУЕТСЯ)
server-ip=127.0.0.1Только локальные подключения (localhost)
server-ip=192.168.1.100Только с конкретного IP

Решение:

Для обычного хостинга:

server-ip=

Оставьте пустым!

Для локального сервера (если играете на том же ПК):

server-ip=0.0.0.0

или

server-ip=

Если указан 127.0.0.1: Это означает что подключиться можно только с того же компьютера! Измените на пустое значение.


Причина #3: Порт занят другим процессом

Два процесса не могут использовать один порт одновременно.

Проверка открытых портов

Linux:

sudo netstat -tulpn | grep :25565

или

sudo ss -tulpn | grep :25565

Пример вывода:

tcp  0  0  0.0.0.0:25565  0.0.0.0:*  LISTEN  12345/java

Если вы видите другой процесс (не java), он занял порт!

Windows:

netstat -ano | findstr :25565

Затем найдите процесс по PID:

tasklist | findstr "[PID]"

Решение:

Вариант 1: Остановить конфликтующий процесс

Linux:

sudo kill -9 [PID]

Windows:

taskkill /PID [PID] /F

Вариант 2: Сменить порт сервера

В server.properties:

server-port=25566

И подключайтесь через yourserver.ru:25566


Причина #4: Файрволл блокирует входящие подключения

Даже если порт открыт, файрволл может блокировать ВХОДЯЩИЕ соединения.

Проверка и настройка UFW (Ubuntu/Debian)

sudo ufw status numbered

Должна быть строка:

[ 1] 25565/tcp    ALLOW IN    Anywhere

Если нет, добавьте:

sudo ufw allow 25565/tcp
sudo ufw reload

Проверка iptables

sudo iptables -L INPUT -n --line-numbers | grep 25565

Если пусто, добавьте правило:

sudo iptables -I INPUT -p tcp --dport 25565 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4

CSF (ConfigServer Firewall)

Отредактируйте /etc/csf/csf.conf:

Найдите строку TCP_IN и добавьте порт:

TCP_IN = "22,25565,25566,80,443"

Примените изменения:

sudo csf -r

Hetzner Cloud Firewall

Если используете Hetzner:

  1. Зайдите в Cloud Console
  2. Firewalls → Выберите ваш firewall
  3. Add Rule:
    • Protocol: TCP
    • Port: 25565
    • Source: Any IPv4, Any IPv6
  4. Apply changes

Причина #5: Режим офлайн и проблемы с аутентификацией

Иногда проблема в настройках онлайн-режима.

Проверка настроек

В server.properties:

online-mode=true

Значения:

  • online-mode=true - только лицензионные клиенты (проверка через Mojang)
  • online-mode=false - пиратские клиенты тоже могут зайти

Решение:

Если у вас пиратский сервер:

online-mode=false
enforce-secure-profile=false

Если лицензионный:

online-mode=true

Внимание! Если online-mode=false, ОБЯЗАТЕЛЬНО установите плагин авторизации типа OpeNLogin для безопасности!


Пошаговая диагностика

Используйте этот чек-лист:

  • В server.properties указан правильный порт (обычно 25565)
  • server-ip пустой или установлен в 0.0.0.0
  • Порт не занят другим процессом (проверено через netstat)
  • Файрволл разрешает входящие соединения на порт
  • Сервер полностью перезапущен после изменений
  • online-mode соответствует типу сервера (лиц/пират)
  • В логах нет ошибок типа “Address already in use”

Примеры правильной конфигурации

Стандартный сервер (лицензия)

server-ip=
server-port=25565
online-mode=true

Пиратский сервер

server-ip=
server-port=25565
online-mode=false
enforce-secure-profile=false

Несколько серверов на одной машине

# Первый сервер
server-ip=
server-port=25565

# Второй сервер
server-ip=
server-port=25566

# Третий сервер
server-ip=
server-port=25567

Проверка через логи

Откройте logs/latest.log и ищите:

Если порт занят:

[ERROR]: **** FAILED TO BIND TO PORT!
[ERROR]: The exception was: java.net.BindException: Address already in use

Решение: Смените порт или остановите конфликтующий процесс.

Если всё запустилось нормально:

[INFO]: Done (3.5s)! For help, type "help"

Тестирование подключения

С того же сервера (localhost)

telnet localhost 25565

Если подключается - сервер работает, проблема в файрволле.

С другого компьютера

telnet YOUR_SERVER_IP 25565

Если не подключается - файрволл блокирует.


Всё еще не работает?

  1. Проверьте логи хостинга - возможно там есть дополнительная информация
  2. Обратитесь в поддержку - покажите им error из логов
  3. Попробуйте стандартный порт 25565 - некоторые хостинги ограничивают другие порты
  4. Проверьте квоту портов - на некоторых хостингах есть лимит открытых портов

Connection refused почти всегда решается правильной настройкой server.properties и файрволла! {.is-success}