Как Bungeecord/Lilypad отправляет игроков на другие серверы

Поэтому ранее я задавал вопрос, можете ли вы отправить клиента, который находится в ServerSocket, на другой сервер. Но теперь я спрашиваю, как игроки для майнкрафта отправляются с сервера на сервер, используя Bungeecord и / или Lilypad. Я знаю, что LilyPad использует прокси-серверы и тому подобное, но как игроки, при подключении к серверу Bungeecord/Lilypad, отправляются на хаб / спавн и / или на другие серверы, например, на сервер выживания и творческий сервер. Такие серверы можно найти на серверах, имеющих сети. Я знаю, что в Treasure Wars используется лилипад, если это поможет.

1 ответ

Решение

Вы ответили на свой вопрос. И Bungeecord, и LilyPad являются сетями прокси-серверов.

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

Другими словами, клиент Minecraft не переключает соединения в любой точке. IP-адрес сервера, к которому подключен клиент Minecraft, никогда не меняется, и это адрес прокси-сервера. Однако что меняется, так это сервер, к которому подключен прокси. Если клиент отправляет какое-либо сообщение прокси-серверу, заявляя, что он хочет перейти на концентратор, прокси-сервер затем отключается от любого сервера, к которому он в данный момент подключен, подключается к концентратору и отправляет обратно клиенту Minecraft все сообщения, на которые отвечает концентратор,

Это мое понимание, основанное на быстром поиске.

Однако, если бы клиент Minecraft был также модифицирован, можно было бы создать подобную сеть без использования прокси-сервера, например:

  • Клиент взаимодействует с сервером таким образом (может быть, игрок заходит на портал), чтобы вызвать какое-либо действие по переключению сервера.
  • Сервер распознает это взаимодействие и, поскольку он и клиент модифицированы, знает, как реагировать. Ответ - это просто отправка клиенту сообщения, в котором говорится: "Переключитесь на другой сервер. Вот IP-адрес: (введите IP-адрес здесь)"
  • Клиент получает сообщение от сервера и по собственному желанию отключается от текущего сервера и повторно подключается к новому.
Другие вопросы по тегам