Перенаправление 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 определяется исключительно нами и контролируется нами, поэтому вы можете управлять ресурсами двух серверов, используя один сервер балансировки нагрузки.