我创建了一个反向代理,但我遇到了将服务器的IP发送到目标Minecraft服务器的问题,该服务器与Minecraft播放器连接到反向代理的IP相对。
我看过ProxyPipe的& InAbates(https://github.com/ducc/InAbate/blob/master/src/main/java/com/inabate/bungee/PlayerListener.java)Bukkit插件试图找出他们如何设置播放器的原始IP,但我没有运气。
我还查看了Minecraft Protocol Handshakes wiki,但它没有解释如何设置连接IP。
如果有人能够指出我应该如何将玩家的真实IP发送到Bukkit服务器/ Bungee服务器的正确方向,那么我可以从Bukkit / Bungee插件中读取原始IP,这将非常棒。
我目前的代码:https://gitlab.com/shaunagostinho/MinecraftReverseProxy
答案 0 :(得分:0)
BungeeCord明确地将玩家的IP地址破解/编码到正在发送的数据包中,它不仅仅是一个简单的反向代理。
此功能称为IP转发。
问题是,vanilla Minecraft服务器无法识别它。
因此,您使用的Minecraft服务器后端需要了解编码,并将与播放器关联的IP地址替换为bungee提供的IP地址。
Bungeecord:
承插:
所以你可以看到它转发,IP地址,UUID和包含GameProfile属性的json。