Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bungeecord like forwarding of IP and UUID #111

Open
zaikindenis opened this issue Dec 12, 2021 · 13 comments
Open

Bungeecord like forwarding of IP and UUID #111

zaikindenis opened this issue Dec 12, 2021 · 13 comments
Assignees
Labels
bungeecord Something related to BungeeCord enhancement New feature or request

Comments

@zaikindenis
Copy link

Could you add the ip_forward option like on bungeecord for IP and UUID forwarding to craftbukkit ?

@zaikindenis zaikindenis added the enhancement New feature or request label Dec 12, 2021
@lhridder
Copy link
Contributor

Hi, infrared already has UUID forwarding as it lets the backend server do authentication.
Infrared also has proxyprotocol and Real_ip support to pass through players ips.

@zaikindenis
Copy link
Author

"proxyProtocol": false,
"realIp": true,

tcpdump connect packet -> test.example.com///IP:PORT///1639306316c..

this works on sheme: infrared ( "realIp": true)->BungeeCord(ip_forward=true)->craftbukkit

but not work if: infrared ( "realIp": true)->craftbukkit

BungeeCord ip_forward use other pakets to send to craftbukkit real ip and uuid

@lhridder
Copy link
Contributor

Have you actually installed the RealIP plugin to retrieve these addresses? Otherwise everybody could spoof their ip

@haveachin
Copy link
Owner

I see, thats actually interesting. They must have implemented some kind of protocol between BungeeCord and Craftbukkit let me see if there is any documentation on it.

@zaikindenis
Copy link
Author

zaikindenis commented Dec 12, 2021

https://github.com/ME1312/VanillaCord

this project is patching the vanilla kernel
and the kernel works on the same protocol as BungeeCord->craftbukkit

@zaikindenis
Copy link
Author

zaikindenis commented Dec 21, 2021

not work: infrared ( "realIp": true)->spigot (bungeecord: true)

work fine: infrared ( "realIp": true)->BungeeCord(ip_forward=true)->spigot (bungeecord: true)
connect packet: test1.example.com///(IP):(PORT)///(timestamp)(ZERO byte)(IP)(ZERO byte)(UUID)(ZERO byte)(DATA)dd02
(UUID)= 32 byte user ID
(DATA) = [{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiID.....iePxn5d","signature":"qL7L3BADz........."}] - present on official game

if you rewrite your code on function UpgradeToIPForward
s := strings.Split(clientAddr.String(), ":") addr = fmt.Sprintf("%s///%s///%d\x00%s\x0012345678911234567892123456789312", addrWithForge[0], clientAddr.String(), timestamp.Unix(), s[0])
work fine, but 12345678911234567892123456789312 = static UUID for test.
how to get orignal UUID and DATA it I didn’t understand

@haveachin
Copy link
Owner

Wait, what? RealIP is only for the TCPShield Plugin called RealIP. What exactly would be the setup that you want to work?
infrared -> spigot or infrared -> bungeecord -> spigot?

Is this the protocol change that Spigot is looking for to have native IP (+UUID+Skin data) pass thru?
(ZERO byte)(IP)(ZERO byte)(UUID)(ZERO byte)(DATA)dd02

@zaikindenis
Copy link
Author

zaikindenis commented Dec 21, 2021

I want it to work infrared -> spigot

infrared -> bungeecord -> spigot, allready work

@lhridder
Copy link
Contributor

then you can install the realip plugin version 2.4 or use proxyProtocol with https://github.com/riku6460/SpigotProxy

@zaikindenis
Copy link
Author

VanillaCord has the same protocol like spigot but no plugins are available.

that's why I wanted to suggest that you implement forwarding IP + UUID + Skin data

@lhridder
Copy link
Contributor

UUIDs and Skins already gets forwarded as infrared is not a man in the middle proxy like bungeecord which handles the authentication part itself

@haveachin haveachin self-assigned this Nov 7, 2022
@torodiesel
Copy link

torodiesel commented Dec 7, 2022

So I am using AMP by cubecoders and the realIP is not being passed. I see there is a mention of a plugin. Is this a need to pass the client public IP to the server or is this a 3rd party online service? I dont want to use a online service just forward the IP from infrared to my minecraft instance.

@mitch0s
Copy link

mitch0s commented Dec 7, 2022 via email

@haveachin haveachin added the bungeecord Something related to BungeeCord label Dec 21, 2022
@haveachin haveachin changed the title IP and UUID forwarding Bungeecord like forwarding of IP and UUID Dec 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bungeecord Something related to BungeeCord enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants