Skip to content

kauri-off/voxelproxy

Repository files navigation

VoxelProxy

Бесплатный аналог takker.ru — прокси для Minecraft, позволяющий двум клиентам одновременно играть на одном сервере под одним ником.


Как это работает

VoxelProxy запускается локально и слушает порт 25565. Оба клиента подключаются к нему, а он уже подключается к реальному серверу. Первый подключившийся клиент становится активным (его ввод отправляется на сервер). Второй — пассивным (получает все пакеты от сервера, но его ввод игнорируется).

[Основной клиент] ──► [ViaProxy] ───┐
                      (опционально) ├──► [VoxelProxy] ──► [Minecraft-сервер]
[Доп. клиент] ──────────────────────┘

Интерфейс

Скриншот

Использование

Запустите voxelproxy.exe и выберите нужный режим вкладкой Ручной или Авто.


Ручной режим

  1. Откройте вкладку Ручной
  2. Введите адрес сервера (mc.funtime.su)
  3. Нажмите Запустить — в логе появится локальный IP для подключения
  4. Сначала подключите основной клиент — он станет активным
  5. Затем подключите дополнительный клиент

Автоматический режим (Windows, хотспот)

Режим для сценария, когда дополнительный клиент подключён через Wi-Fi хотспот с этого же ПК. WinDivert перехватывает трафик на уровне ядра и прозрачно перенаправляет его в прокси — адрес вводить не нужно, он берётся из самого Handshake пакета.

Требования:

  • Запуск от имени администратора (необходим для WinDivert)
  • Файлы WinDivert.dll и WinDivert64.sys рядом с voxelproxy.exe (входят в архив релиза)
  • Windows-хотспот активен (192.168.137.x)

Порядок подключения:

  1. Запустите voxelproxy.exe от администратора и откройте вкладку Авто
  2. Нажмите Запустить
  3. Сначала подключите дополнительный клиент к серверу как обычно через хотспот (например mc.funtime.su)
  4. Затем подключите основной клиент к тому же серверу напрямую (127.0.0.1:25565)
  5. VoxelProxy автоматически спарит их и установит соединение

Трафик с портов 25560–25570 перехватывается WinDivert.

Устранение проблем

Клиент не подключается / нет интернета на клиенте

WinDivert или служба хотспота могли зависнуть. Перезапустите в PowerShell от администратора:

sc.exe stop windivert
Stop-Service SharedAccess

Затем снова включите хотспот в настройках Windows и перезапустите voxelproxy.exe.

Не работает при включённом VPN (TUN-режим)

VPN в TUN-режиме создаёт виртуальный сетевой адаптер, который перехватывает весь IP-трафик раньше WinDivert. В результате пакеты от клиента не попадают на форвард-слой, и перенаправление не работает. Отключите VPN на хосте перед использованием автоматического режима.


Поддерживаемые версии: 1.16.5 | 1.20.1 | 1.21.4


Ограничения

  • Лицензионные (online-mode) серверы не поддерживаются — используйте ViaProxy как промежуточный слой
  • Оба клиента должны быть одной версии

Советы

  • Для лучшей стабильности запускайте прокси на отдельном ПК
  • Можно безопасно закрыть один из клиентов — второй продолжит играть
  • Если сервер требует лицензию, подключитесь через ViaProxy с настроенным аккаунтом

Перенаправление трафика (Linux, iptables)

Только для Linux. Требуются права root/sudo и наличие iptables.

Скрипт iptables-route.sh перенаправляет весь TCP-трафик на портах 25560–25570 на указанный адрес (VoxelProxy) на уровне ядра Linux через iptables DNAT OUTPUT.

Сценарий использования: клиент подключается к любому адресу на порту из диапазона 25560–25570, ядро прозрачно перенаправляет соединение на VoxelProxy (IP:PORT), который уже проксирует на реальный сервер.

Использование

Сделать скрипт исполняемым (один раз):

chmod +x iptables-route.sh

Запустить интерактивное меню:

sudo ./iptables-route.sh

Меню предлагает:

VoxelProxy Lite (Порты: 25560:25570)
1) Включить (Задать выход)
2) Выключить
3) Удалить логи (историю)
4) Выход
  • Включить — запрашивает адрес назначения в формате IP:PORT и активирует перенаправление
  • Выключить — удаляет правило iptables
  • Удалить логи — очищает упоминания скрипта из ~/.bash_history и ~/.zsh_history

Важно: правила iptables сбрасываются при перезагрузке. Для автовосстановления используйте iptables-persistent или добавьте вызов скрипта в @reboot cron.


Лицензия: GPL-3.0

About

Бесплатный аналог takker.ru — прокси-сервер для Minecraft, позволяющий двум клиентам одновременно играть на одном сервере под одним ником.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors