我已经创建了一个反向代理,但我遇到了一个问题,它将服务器的IP发送到目标Minecraft服务器,而不是连接到反向代理的Minecraft玩家的IP。
我看过ProxyPipe的
我也看过Minecraft协议握手wiki,但它没有解释如何设置连接IP。
如果有人能给我指出正确的方向,我应该如何将玩家的真实IP发送到武吉服务器/蹦极服务器,这样我就可以从武吉/蹦极插件中读取原始IP,那就太好了。
我现在的代码:https://gitlab.com/shaunagostinho/MinecraftReverseProxy
BungeeCord明确地将玩家的IP地址破解/编码到正在发送的数据包中,它不仅仅是一个微不足道的反向代理。
此功能称为IP转发。
问题是,香草Minecraft服务器无法识别它。
因此,无论您使用哪个Minecraft服务器后端,都需要了解编码,并将其与播放器关联的IP地址替换为蹦极给出的IP地址。
蹦极:
https://github.com/SpigotMC/BungeeCord/blob/dce4ea193ad461832094f4368829e927db578265/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java#L266
https://github.com/SpigotMC/BungeeCord/blob/e93323ddbc8f22f1efa0647e2fc03adc66c7c488/proxy/src/main/java/net/md_5/bungee/ServerConnector.java#L92
水龙头:
https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/browse/CraftBukkit-Patches/0043-BungeeCord-Support.patch#6,33
因此,您可以看到它转发、IP地址、UUID和包含GameProfile属性的json。