plasmoapp / plasmo-voice

Proximity voice сhat mod for Minecraft
GNU Lesser General Public License v3.0
223 stars 62 forks source link

Add server information in "handshake" packet #408

Open erxson opened 1 week ago

erxson commented 1 week ago

Было бы круто, если бы первый пакет, который отправляется по UDP протоколу содержал адрес, по которому было установлено подключение. Тогда у меня была бы возможность написать реверс прокси, которое на одном UDP порту могло бы проксировать войс на два и больше серверов. У тспшилда и неопротекта такая же хуйнюшка, но по тсп.

Типо если в пакете записан адрес bibibo.ru то я проксирую чувачка на bibiboRP, а если rapapa.ua, то на rapapaCraft

Apehum commented 1 week ago

Из-за этого придется менять протокол и ломать совместимость версий, и я не уверен, стоит ли это того Есть вариант добавить это не ломая совместимость, но тогда при использовании реверс прокси, придется требовать от клиента определенную версию мода

Думаю сделать второй вариант в 2.1. Я добавлю serverIp и serverPort в PingPacket, как это сделано в хендшейке Майнкрафта. Ну и добавлю в конфиге возможность менять минимальную версию мода, поддерживаемую на сервере Этого будет достаточно?

erxson commented 1 week ago

Да. Спасибо!

Apehum commented 1 week ago

Добавил, пререлиз можно скачать тут Сделал еще тестовый UDP reverse proxy на Go, вроде бы все работает без проблем

erxson commented 1 week ago

Дичайше крут!