haveachin / infrared

An ultra lightweight minecraft reverse proxy and idle placeholder
https://infrared.dev
GNU Affero General Public License v3.0
722 stars 58 forks source link

Minecraft Bedrock/Pocket Edition?! #44

Open iSilviu-debug opened 3 years ago

iSilviu-debug commented 3 years ago

How difficult would it be to support Geyser? (Minecraft Bedrock / Pocket Edition) Link: https://geysermc.org/

Thank you! 🌵

haveachin commented 3 years ago

It should work, if geyser translates to normal java edition protocol. Your setup should be: [mc clients] -> [geyser proxy] -> [infrared] -> [mc server]

tdeverx commented 2 years ago

Seems I discovered Geyser at just the right time! My first thought was infrared, how are you approaching the implementation? Are we talking something as simple as adding 2 separate hosts / ports in the config?

java.exaple.com : 25565 bedrock.example.com : 19132

haveachin commented 2 years ago

The core logic is already implemented in the rewrite branch. Infrared only checks the handshake packet and routes the traffic according to the server address. It does not interfere with client-server authentication nor does it listen or decrypt any communication between client and server after the initial handshake. Here is the core implementation for Bedrock https://github.com/haveachin/infrared/tree/rewrite/internal/pkg/bedrock

haveachin commented 2 years ago

You could already test it if you compile the code yourself. There is also a Makefile and a Dockerfile/docker-compose.yml if you know how to use those. But I would only recommend using it for testing purposes.

tdeverx commented 2 years ago

Yeah I noticed! But unfortunately, I'm running my containers on Synology and I don't know the first thing about compiling code myself, and that's excluding docker-compose 😂 (I'm relatively new to docker hahaha)

But, if you decide to publish any development branches for testing let me know, I'd be happy to test it out 👍