帖子

Memorial Edition

查看: 90|回复: 0

[2025.10.05] 内网穿透后让 Velocity 获取玩家真实 IP 的方法

[复制链接]

Lv.8 考古家

人气
235 点
金粒
1991 粒
宝石
2 颗
爱心
0 颗
钻石
1549 颗
贡献
0 点

石镐矿工勋章铁镐矿工勋章钻镐矿工勋章小麦种勋章骨灰勋章Java正版勋章Windows 10正版勋章

发表于 昨天 22:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

本帖转载于 Ref:Rain博客
也是基于我实际应用总结出来的,部分内容有删改

由于本土运营商对公网 IP 管控十分严格,有不少 Minecraft 服主会选择使用内网穿透服务来开设服务器。

但是以这种网络结构开设的服务器有一个问题,服务端无法拿到玩家的真实 IP(内网穿透会导致玩家的 IP 都变成 127.0.0.1)。

这会导致部分涉及处理玩家 IP 的功能完全无法使用,比如某些管理插件提供的 /banip IP 封禁功能,因为所有玩家的 IP 都是一样的,执行这个指令后会导致所有玩家都会被封禁。

本文将为有这类困扰的服主提供解决方案。

Case:1 纯代理线路入服

配置 frpc

在 frpc 配置文件中添加下面一行:

# .\frpc.toml

[[proxies]]
... # 省略隧道的其他信息,不要复制这一行
transport.proxyProtocolVersion = "v2" # 在已有隧道添加这一行即可

修改完需要重启 frpc 后才会生效。

配置 velocity.toml

在 Velocity 的配置文件中,启用如下配置项。

# .\velocity.toml

[advanced]
haproxy-protocol = true

重启 Velocity 后,配置项即生效。

Case:2 直连与代理并用

经过 Case:1 对服务器进行设置后,你会发现直连线路无法访问。为了解决这个问题,我们需要请出接下来的妙妙工具。

HAProxyReduce,是 HAProxyDetector 的替代品,支持 Paper/Folia/Velocity。

把它放进 Velocity 工作目录下的 plugins 文件夹就行了。

安装好插件后,先启动一下 Velocity,让插件把默认配置文件吐出来,然后关掉代理端,我们需要调整一下插件配置。

进入 /plugins/haproxy-reduce,打开 whitelist.conf

# ./whitelist.conf

127.0.0.0/8 # 默认配置
::1/128 # 默认配置
example.com # 在这里写上玩家连接服务器要用的那个域名就行了,不用写端口号,没域名就写 IP 地址

其他类型的服务端开启 HAproxy 的方法

如果你使用的是 Spigot,请继续使用 HAProxyDetector,你可以在这里找到中文的使用方法

如果你正在使用较新的 Paper及其分支或 Velocity,换成HAProxyReduce

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

暴雨中前进,伞是倒划天空的船。

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2025-10-6 03:55 , Processed in 1.346189 second(s), 20 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2025 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部