Top.Mail.Ru
Ответы
Аватар пользователя
7лет
Изменено

Помогите! Не работает мультиплеер в майнкрафт.

Дело такое. Я с другом решил поиграть в мультиплеер майнкрафт. Он создал сервер, а я хотел зайти через хамачи. Проблема в том, что меня кикает из сервера с ошибкой java.net.SocketTimeoutException: Read Timed Out. Играем мы на одинаковых версиях, хамачи вроде как работает. Подскажите, что делать? Я думаю, что тут возможны несколько причин:

1. Самая вероятная.
Скорее всего, проблема в том, что друг криво настроил настроил сервер. Я как только начинал создавать свои сервера, я тоже сначала их криво настраивал, после чего появлялась такая ошибка.

2. Менее вероятная.
Ошибка связана с хамачи, который скорее всего криво настроен. Но это тоже мало вероятно, т. к желтого треугольника возле ника нету.

3. Самая невероятная причина.
Возможно в ethernet кабеле 3 контакт RX+_D2 на +получение данных немного обломан, а т. к чем меньше площадь поперечного сечения проводника, тем больше его сопротивление, возможно именно из-за этого у меня выскакивает ошибка. Скорее всего, кабель обломался на половину. Длина обломанного кабеля скорее всего будет радиусом кабеля. Давайте вычислим сопротивление. Я его попробовал вычислить на фото. Возможно я вычислил его неправильно, но тем не менее, сопротивление в этой области в 2 раза больше всего кабеля. А чем больше сопротивление, тем меньше ток. Давайте пойдем дальше. Я соединяюсь с другом через хамачи. Хамачи использует для связи UDP протокол. При работе программа для соединения с центральным сервером использует порты 12975 и 32976. Первый (12975) для установки соединения, второй (32976) во время работы. А т. к кабель поврежден, то и получаемая информация тоже может быть повреждена. Допустим сервер отправил число 123. В двоичном коде это 110001 110010 110011. Из-за поврежденного провода, некоторые биты могут не отправиться. Я нарисовал это на рисунке. В итоге, отправилось , что является пустыми символами. Т. к игра не может их распознать, она и не может подключиться к серверу. Рассмотрим ошибку. Она выглядит так -
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.io.InterruptedIOException
java.net.SocketTimeoutException
Это сигнал о том, что время чтения истекло. Это вполне логично, когда игра не может распознать то, что отправляет сервер.

Вообщем, жду вашего ответа. Как это исправить?

По дате
По рейтингу
Аватар пользователя
Мастер
7лет

Не играй в эту фигю

Аватар пользователя
Мастер
7лет

На будущее- никогда не рисуйте