我用的是Geyser插件
Java玩家用frp域名进服可以直接获取IP
基岩版进服,如果是内网可以获取真IP
但用frp的域名就显示127.0.0.1,怎么解决啊?
Java玩家用frp域名进服可以直接获取IP
基岩版进服,如果是内网可以获取真IP
但用frp的域名就显示127.0.0.1,怎么解决啊?
首先,Geyser本质上也是一个代理端,它的工作就是将来自基岩版的流量翻译成Java版并转发给Java服务端。
要同时获取Java版玩家和基岩版玩家的真实IP地址,你至少需要使用BungeeCord,因为你的服务端将会需要同时监听两个端口,而Minecraft本身似乎是不能这么做的。
以下内容均在BungeeCord的config.yml中的listener项配置:
第一个端口给Java版玩家使用,可以是25565,你不需要对这个端口做太多工作,只需保证proxy_protocol为false即可。
第二个端口给基岩版玩家使用,如果你想让基岩版玩家使用19132端口,那么这个端口不能是19132,因为Geyser必须使用19132端口。将这个端口设为一个通常不太会使用的端口(30000以上,65500以下),并将proxy_protocol设为true。之后在BungeeCord安装Geyser插件,将插件指向的Java服务器端口设为你刚刚设置的那个不太会使用的端口。
设置完后,你的BC的config.yml文件看起来像这样:
- listeners:
- - proxy_protocol: false(保证端口1号的这个地方是false)
- host: 0.0.0.0:25565(这里是端口1号)
- - proxy_protocol: true(保证端口2号的这个地方是true)
- host: 0.0.0.0:40000(这里是端口2号)
你的Geyser配置文件看起来像这样:
- bedrock:
- port: 19132(这里设置的是玩家连接使用的端口)
- enable-proxy-protocol: true(将这个地方设为true来获取真实IP,如果你未来不再使用frp,则设为false)
- remote:
- port: 40000(这里设置的是BC的端口)
- use-proxy-protocol: true(将这个地方设为true来获取真实IP)
Falln 发表于 2023-7-2 13:13
首先,Geyser本质上也是一个代理端,它的工作就是将来自基岩版的流量翻译成Java版并转发给Java服务端。
要 ...
但是我是用的是Paper服务端,怎么解决?
s36kafh 发表于 2023-7-2 17:28
但是我是用的是Paper服务端,怎么解决?
所以你需要套一层BungeeCord来实现同时获取Java版和基岩版的IP地址
Falln 发表于 2023-7-2 13:13
首先,Geyser本质上也是一个代理端,它的工作就是将来自基岩版的流量翻译成Java版并转发给Java服务端。
要 ...
frp中两个地址都已经开了proxy protocol=v2
JAVA可以解析出真正的地址(36.101.**.**),但是基岩版还是127.0.0.1
s36kafh 发表于 2023-7-2 17:32
frp中两个地址都已经开了proxy protocol=v2
JAVA可以解析出真正的地址(36.101.**.**),但是基岩版还是127 ...
我知道你的两个frp都开了proxy_protocol,但这只对第一层代理,Geyser本身也算一层代理,所以基岩版玩家要通过两层代理,你要让这两层代理都获取真实IP,所以你需要开两个端口,而套一层BungeeCord是最简单的方法。
Falln 发表于 2023-7-2 17:38
我知道你的两个frp都开了proxy_protocol,但这只对第一层代理,Geyser本身也算一层代理,所以基岩版玩家 ...
我重新安装了BungeeCord,但是我如何往配置文件添加这些选项?配置:
- server_connect_timeout: 5000
- enforce_secure_profile: false
- remote_ping_cache: -1
- forge_support: false
- player_limit: -1
- permissions:
- default:
- - bungeecord.command.server
- - bungeecord.command.list
- admin:
- - bungeecord.command.alert
- - bungeecord.command.end
- - bungeecord.command.ip
- - bungeecord.command.reload
- - bungeecord.command.kick
- timeout: 30000
- log_commands: false
- network_compression_threshold: 256
- online_mode: true
- disabled_commands:
- - disabledcommandhere
- servers:
- lobby:
- motd: '&1Just another BungeeCord - Forced Host'
- address: localhost:25565
- restricted: false
- listeners:
- - query_port: 25577
- motd: '&1Another Bungee server'
- tab_list: GLOBAL_PING
- query_enabled: false
- proxy_protocol: true
- forced_hosts:
- pvp.md-5.net: pvp
- ping_passthrough: false
- priorities:
- - lobby
- bind_local_address: true
- host: 0.0.0.0:25577
- max_players: 1
- tab_size: 60
- force_default_server: false
- ip_forward: false
- remote_ping_timeout: 5000
- prevent_proxy_connections: false
- groups:
- md_5:
- - admin
- connection_throttle: 4000
- stats: e32a0979-67b0-47b9-9222-1c801c0e0fb3
- connection_throttle_limit: 3
- log_pings: true
s36kafh 发表于 2023-7-2 18:37
我重新安装了BungeeCord,但是我如何往配置文件添加这些选项?配置:
看到配置文件里有一个叫listeners的项了吗?把里面的所有东西复制一遍(就是- query_port: 25577到force_default_server: false复制一遍),然后分别把两个25577按照我说的方法设置一遍,Paper端的端口改成25565之外的值,把下面这块的25565改成Paper端的端口就行了
- servers:
- lobby:
- motd: '&1Just another BungeeCord - Forced Host'
- address: localhost:25565
- restricted: false
另外,Paper端还需要打开spigot.yml文件,设置bungeecord项为true
Falln 发表于 2023-7-2 18:43
看到配置文件里有一个叫listeners的项了吗?把里面的所有东西复制一遍(就是- query_port: 25577到force_ ...
那我应该可以把BungeeCord的端口改成别的,而paper可以保留25565吗,如果可以,是这样吗?
- servers:
- lobby:
- motd: '&1Just another BungeeCord - Forced Host'
- address: localhost:25560
- restricted: false
- listeners:
- - query_port: 25560
- motd: '&1A Bungee server'
- tab_list: GLOBAL_PING
- query_enabled: false
- proxy_protocol: true
- forced_hosts:
- pvp.md-5.net: pvp
- ping_passthrough: false
- priorities:
- - lobby
- bind_local_address: true
- host: 0.0.0.0:40000
- max_players: 1
- tab_size: 60
- force_default_server: false
s36kafh 发表于 2023-7-2 18:58
那我应该可以把BungeeCord的端口改成别的,而paper可以保留25565吗,如果可以,是这样吗?
...
是这样的。
Falln 发表于 2023-7-2 18:58
是这样的。
BungeeCor还d有个问题,我用geyser(1.16.5最后一个版本)的离线登录,但需要搭配floodgate 。但我找不到关于BungeeCord的旧版floodgate,dalao能否找一下?
s36kafh 发表于 2023-7-2 20:40
BungeeCor还d有个问题,我用geyser(1.16.5最后一个版本)的离线登录,但需要搭配floodgate 。但我找不到关 ...
https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/
在左侧的构建历史一个个试过去,直到找到能正常运行的即可,也就88个文件也不需要每个都试一遍
Falln 发表于 2023-7-2 13:13
首先,Geyser本质上也是一个代理端,它的工作就是将来自基岩版的流量翻译成Java版并转发给Java服务端。
要 ...
我有个疑问,如果Geyser的日志中输出的来源IP是127,那BungeeCord转发的是127还是真实ip ?
s36kafh 发表于 2023-7-3 23:16
我有个疑问,如果Geyser的日志中输出的来源IP是127,那BungeeCord转发的是127还是真实ip ? ...
Geyser获取到的是127,那bungeecord接收到的自然也是127,转发的也是127
Falln 发表于 2023-7-4 08:27
Geyser获取到的是127,那bungeecord接收到的自然也是127,转发的也是127
BungeeCore
无法连接至世界
Falln 发表于 2023-7-2 17:29
所以你需要套一层BungeeCord来实现同时获取Java版和基岩版的IP地址
还是127怎么办