Перенаправление ip в Java

В течение последних нескольких недель я искал интернет, умы компьютерных программистов и всего лишь несколько случайных людей в ситуации, которую я ищу, чтобы преодолеть. В основном, что я пытаюсь сделать, напишите AntiJoinBot "плагин" (если хотите) для популярной игры Minecraft. Это будет похоже на все остальные, поскольку он блокирует IP-адреса на основе использования прокси-сервера или нет, но этот AntiJoinBot работает на другом VPS, чем на самом сервере.

Это лучший график, который я могу сделать из ситуации (это не так хорошо):

(сервер не-minecraft) Соединение → Проверка прокси → Перенаправление на сервер → Minecraft

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

Если у вас есть решение или лучший способ сделать это, пожалуйста, помогите мне.

Ответ 1

Перенаправление соединений по строкам, которые вы хотите, требует поддержки протокола (приложения). TCP/IP не поддерживает его. AFAIK, SOCKS тоже не поддерживает. Если протокол приложения Minecraft (и, соответственно, клиенты и серверы Minecraft) не поддерживает перенаправление, вам не повезло.

(FWIW - то, как работает перенаправление HTTP). HTTP имеет "элемент протокола", который позволяет серверу указывать клиенту перенаправление и куда перенаправить. Затем клиент повторно отправляет исходный запрос на новый адрес.)

Но это не значит, что вы не можете иметь дело с вредителями. Это просто означает, что подход перенаправления не является жизнеспособным. Попробуйте использовать собственный прокси-сервер или IP-фильтр/перенаправитель.

Ответ 2

Вы пытаетесь сохранить ресурсы сервера за счет увеличения трафика. Я не уверен в ответе, но, возможно, взглянув на концепцию LBS (Load Balancing Server), вы можете найти ответ.  LBS определяется исключительно нами и контролируется нами, поэтому вы можете управлять ресурсами двух серверов, используя один сервер балансировки нагрузки.