• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】

教程 关于解决使用内网穿透后无法获得玩家真实IP的问题(例如:Authme)

前排提醒:此文章的内容对于有公网IP的电脑没有意义


我在本地开服的过程中,使用了内网穿透将服务器暴露在公网环境中:喝果汁:
但是问题来了,我使用的插件Authme获取到的IP都是本地回环地址(127.0.0.1)
导致我为了让服务器玩家成功注册,解除了IP限制。
于是,玩家的小号成功入侵了服务器:无语:

在经过一番探索后,我找到了解决的办法,现在把方法教给大家
文章后面也会把这个示例打包上传给大伙参考

使用到的软件:OpenFrp,BungeeCore,spigot-1.12.2

其中OpenFrp可更换为任意支持开启Proxy Protocol V2协议的内网穿透
首先我们在OpenFrp上注册(OpenFrp打钱),并创建好一个隧道(这个应该不用教吧)
创建好隧道后,点击管理隧道,点击我们刚创建的隧道里的编辑选项
(如果在教程结束后无法进入服务器,出现连接中止的情况,请尝试更换线路创建隧道,避雷
泉州电信,教程写到一半才发现进不去)
3c72d2c9-d7a1-4fa8-a155-55f489e62a71.webp
014fca30-aecf-470d-aa4e-c147cc604bfb.webp1759214849573.webp
在高级配置中启用Proxy Protocol V2协议并开启数据压缩,隧道方面便配置完毕了
之后下载软件启动隧道即可

BungeeCore端配置
BC端如果服务器玩家人数不多,可以把占用调到512M或更低,看服务器的情况自行调整
BC端配置文件config.yml中写好我们要跳到的本地服务器端口[25566]
设置BC端的访问端口[25565],此处要与OpenFrp中设置的映射对象一致
开启proxy_protocol协议

b3c7e0f6-5439-4baa-bee3-aa9b940a3b25.webp
BC端便配置完毕了


示例Spigot-1.12.2配置server.properites
将端口设置成25566(可以写成其他端口号,与BC端中要跳转到的服务器端口保持一致就行)
在spigot.yml需要开启bungeeCord,保证链接通过bc转发

c1864e06-57b1-4574-8e80-85af81a9c914.webp1759211125942.webp


接下来便是启动服务器,启动内网穿透(OpenFrp),尝试进入服务器了

可以看到在输入内网穿透软件提供的地址后,游戏成功识别到了服务器
(spigot核心因为不支持V2协议,因此是搜索不到服务器的)
1759215363483.webp
我们尝试进入
1759215440767.webp
此时服务器后台获取到了玩家的真实IP,不再是本地回环地址127.0.0.1
1759215474342.webp
至此,教程结束
示例服务器:https://wwcg.lanzouu.com/iWryI37ca5le
现在来说说这套方案的优缺点:开车:


优点:不用额外购买服务器,使用免费的内网穿透即可获取到玩家的IP
如果在本地有多余的电脑想拿来开服务器,便可使用这套方案:吃彩瓜:


缺点:需要额外启动一个BC端来作为中转,并且因为获取到的MOTD是BC端的,需要在BC端单独配置(MOTD插件我打包进了压缩包)
最后,感谢你的浏览,如果有用请点个赞吧:嘿嘿:

 
内容版权许可
CC BY 署名
最后编辑:
bungeecord是这样,建议用velocity,更成熟的群组端,握手协议安全性更高
 

在线管理成员

在线会员

  • 小小的子沐呀
  • 黎 渊
后退
顶部 底部