相信有很多小伙伴都想把自己得mc服务器映射到外部公网上,和朋友们一起玩。但是却不了解方法和怎样做,下面我为大家整个活,演示一下怎么将你本地的Minecraft服务器做内网映射,让你和你的好基友不在局域网内也可以一起愉快的玩耍。(本教程写给新人和小白,还请各位大佬不喜勿喷)

首先你得本地搭建上Minecraft服务器,并启动,我使用的java版是某大佬做好的一键开服包教程,点击这里一键直达


第一个方法:内网穿透

实现原理:网穿透是反向代理的一种,可以将你本地内网的程序的某个端口映射到服务器外网的某个端口,通过访问服务器的端口从而实现对内网内某个程序的访问。(内网穿透的版本很多有ngork,nps,frp等待,其中frp最为简单,本文使用的也是frp)

所以我们需要用内穿服务客户端,将我们本地Minecraft服务器的25565(一般是这个)映射到公网服务器没被占用的某个端口上。因此我们需要一个公网服务器并且运行着内网穿透服务端,但是大部分小伙伴都没有公网服务器,那就只好用免费公益的服务器了,因此我们使用SAKURA FRP作演示。(此方法Java版适用,基岩版Minecraft开服映射请查看下面的基岩版设置后再操作)

1、首先你要去SAKURA FRP官网注册一个账号,并登录,在用户信息栏找到你得访问密钥。
请输入图片描述
请输入图片描述

2、推荐选择官方提供的GUI图形化界面,使用简单方便,很适合不会配置FRP客户端的朋友,可以在下面的软件下载一栏下载。要注意你是win7还是win10,win10两个版本都可以,win7只能用老版本。
请输入图片描述

下载后直接解压打开,并将.exe文件发送到桌面快捷方式。
win8,win10版本新版本

老版本win7可用

新版本,老版本的区别在于:新版本功能更多,例如开机自启,隐藏内穿程序等;而老版本简洁易用,更容易上手,如果你是win7,还有不太懂配置,建议用老版本!

如果打开exe启动器,弹出缺少 Microsoft .NET Framework4.x环境。
请到这里下载安装:www.lanzous.com/i9kz30h

3、打开GUI启动器,填入你得用户密钥,就是用户信息里面那个,然后登录。

新版本:
新版本

老版本:
老版本

4、老版本选择启动器的“快速新建隧道”一项,新版用户点那个+号就可以。

然后点隧道列表,点击隧道或者快速新建隧道。

对于Minecraft,其进程名一般为“java”,所以需要在左侧列表内找到进程名为Java的项目,如果有多个项目,请检查您是否运行了多个服务端或者有其他Java程序正在监听端口。如果找不到“java”一项,请检查您的Minecraft服务端是否正常启动。并且确认您的Minecraft服务端是基于Java的版本。并尝试点击“刷新列表”。

找到java进程选中,然后选择一个节点,注意要根据你自己家的网络来,如果你家移动,最好就用移动节点,或者BGP,多线;电信就选择电信,这样延迟会好很多;还有就是一定不要选择禁止大流量和禁止MC的节点!填写没被占用的端口(范围10240-65535)。

名称随意,然后点击创建。

老版本如果显示端口本占用就填范围内的其他端口,直到有可用的为止。

新版用户可以填0随机分配一个可用端口。

新版本:
请输入图片描述
请输入图片描述

老版本:
请输入图片描述
请输入图片描述

5、最后到到隧道列表或者启动现有隧道列表,点击启动,出现启动成功,就可完成了,然后注意不要关闭窗口,关闭就会断开服务,点击最小化即可。

新版本:
请输入图片描述
请输入图片描述

老版本:
请输入图片描述
请输入图片描述
请输入图片描述

6、完成映射后,你的朋友就可以用Minecraft客户端,输入你映射到到所在节点服务器的公网ip或者域名加上端口号(例如:cn-zj-dx-2.sakurafrp.com:61234,这个也就是Minecraft联机中需要发给对方的你的服务器地址。)进入你的服务器了。
请输入图片描述

7、如何查看你的创建隧道的域名和端口号,请到官网用户面板的隧道列表查看详细信息。
请输入图片描述
请输入图片描述

格式一定要是你创建隧道的: 服务器ip或者域名:远程端口号

冒号是英文格式下的冒号“ : ”,要注意一下。

特别注意:这个方法只适用于java版Minecraft,如果你是基岩版(PE版)Minecraft,Minecraft 基岩版(PE版)是UDP协议且映射到的公网端口必须和你开服的端口号相同,您需要手动输入一个远程端口号,并使得此端口号与你服务端的端口号相同,如果提示端口已被占用则请同时更换你的本地服务端端口号和映射的远程端口号。具体看下面的基岩版设置。

或者你可以自建frp,并且开启使用udp协议,本地内网端口外网远程端口一致使用19132,自建frp的教程以后我会出。

基岩版映射使用方法:

基岩版使用与java版略有不同。

1、需要先手动在官网用户中心创建隧道,点击创建隧道,选择节点,一定不要选择禁止MC和禁止UDP的节点!!!然后只用修改基础设置,名称随意,隧道类型选择UDP,本地地址填127.0.0.1,本地端口和远程端口一定要一致,然后点击下面完成创建。(如果显示端口被占用请重新修改本地端口和远程端口,保持一致并直到创建成功为止)
请输入图片描述
请输入图片描述

2、然后需要修改基岩PE版Minecraft服务器的本地端口为上面你创建好的隧道的端口。

我们打开基岩版开服包找到server.server.properties文件,用记事本打开,并找到server-port那一栏。
请输入图片描述
请输入图片描述

改好后,保存,然后重新启动基岩版Minecraft服务端。
请输入图片描述

3.开启内网映射,步骤同java版一样,直接密钥登录GUI图形启动器,然后选择你创建好的节点,点击启动,具体看上面java版的第5步和第6步。复制你的映射地址给你的朋友即可进入你的服务器一起玩了。
请输入图片描述
基岩版远程端口和本地端口必须一致

最后:樱花的免费内网穿透毕竟是公益节点,用的人比较多,所以有偶尔时不时有断线属正常现象,像这样的免费公益内网穿透也有很多,例如nat123,花生壳,ngrok.cc等等,如果你需要稳定的内网穿透,可用考虑自建FRP,用于和朋友一起玩。关于自建FRP我以后会在评论中给出详细教程地址,在这里就不过多描述了,或者您可以自行百度搜索,也可以来私聊问我。


第二个方法:异地组建局域网

实现原理:使用虚拟专用网络的功能在公用网络上建立专用网络,在企业网络中有广泛应用。代理网关通过对数据包的加密和数据包目标地址的转换实现远程访问。如果你不懂什么是虚拟专用网络,那么他的另一个名称你一定不陌生,就是“科学上网”,还有 “微坯恩” #这里和谐一下。我们这里一定需要国内的节点,海外的延迟太高丢包严重,并且也会触及到红线!!一定注意!

我们需要用到它的异地组网功能,将你的Minecraft服务器和Minecraft玩家的pc通过代理客户端接入到我们同一个虚拟专用网络中来,(你可以理解为就是加入一个已经创建好的局域网,也可以说是p2p对等网络)
异地组网

同样的我们这里也需要用到客户端,同内网穿透不同的是,内网穿透只需要Minecraft服务器用内穿客户端映射出去;使用这种方法我们的Minecraft服务器和玩家也需要用到客户端,也就是传说中的p2p模式。这种模式相对于内穿来说,更稳定一些,但是步骤也要多一些。

虚拟专用网也有很多,例如open,电脑自带的PPTP等,我们这里使用简单易用的(Open)做演示。

使用教程地址:www.lanzous.com/i9u7kgh

1、首先客户端和线路下载地址(禁止用于违规用途,否则后果自负):

www.lanzous.com/b06lp9tub 密码:beqt

2、导入TCP或者UDP线路文件,具体看教程。java版用TCP和UDP线路都可以,基岩版-PE版必须用UDP线路。

3、Minecraft服务器PC通过客户端链接加入同一专用网络同一子网内获得一个地址。

Minecraft服务器先通过Open客户端链接上获得一个内网地址,一般是10.x.x.x或者192.168.x.x。例如:10.12.0.4

那么你的Minecraft服务器地址就是:java版(10.x.x.x:25565),基岩版(10.x.x.x:19132)这个也就是Minecraft联机中需要发给对方的你的服务器地址。
请输入图片描述

4、用户PC通过客户端加入同一专用网络同一子网内也获得一个地址,然后添加链接Minecraft服务器地址:10.x.x.x:25565或者10.x.x.x:19132,即可进入到游戏中。如果不可以访问进入请关闭防火墙,或者防火墙放行对应程序或者端口。

Java版:
请输入图片描述

基岩版(PE版):
请输入图片描述

这里补充一下,免费通过P2P局域网代理联机的方式还有如:teamviewer支持3个人联机玩耍;hamachi(蛤蟆吃)支持5个人联机玩耍;Zerotier支持免费100台设备加入同一子网也就是支持100个人联机(但是移动宽带网络用户不适应这个方法,可能会无法建立你MC服务器和玩家间的点对点连接,从而使流量绕行海外Zerotier根服务器转发,导致高延迟,丢包,以及无法连接服务器等,如果你MC服务器处于移动网络则会导致所有玩家无法加入等问题),要解决这个问题可以自己建利用一个闲置的国内公网服务器(配置不做要求,阿里腾讯等学生机就可以)搭建一个Zerotier的moon(卫星节点),这样来帮助建立稳定的点对点连接,传输速度可以跑满你局域网的网络带宽;另外Tinc也可以实现这样的功能,不过搭建和配置,都超级复杂,不是很推荐。


第三个方法:DDNS+路由器端口转发

实现原理:先利用ddns动态域名解析服务实时动态记录动态IP地址,将动态IP地址转换成唯一的域名;然后再一级路由网关上设置端口转发,将你Minecraft服务器所在的局域网ip例如192.168.1.x的25565或者19132端口映射绑定到你家宽带网络的动态公网ip地址的端口域上。

如果你家网络是动态公网ip(就是过一段时间或者重新拨号链接网络IP地址会自动变换的),就可以使用动态域名解析,也是通过客户端实时或者定时(一般10分钟左右)将你家的ip解析更新到唯一的域名上。这样被人访问你的Minecraft服务器只需要访问你的 域名:25565就等于直接访问你服务器的 你家的ip:地址,无论这个IP地址如何变化。

这个方法只适合家里宽带是动态公网的朋友,一般电信的小伙伴家里可能会有,联通少也可能有,移动的就不用看了,二级路由,蹭别人wifi的也不用看了( ̄▽ ̄)"(手动滑稽),直接用前面的方法就好了。

ddns+端口转发方法如下:

1、先确定你的宽带是否是具有动态公网ip

直接百度搜索ip,会得到你所在网络的IP地址,做一下记录。
请输入图片描述

然后登录你家一级路由器的后台,就是电信天翼网关的后台地址,查看网关状态里面的WAN口IP地址,是否和你百度的ip地址一致,如果一致就证明你的宽带是有动态公网地址的;如果不一致,显示10.x.x.x或者192.168.x.x或者172.x.x.x,那就说明你不具有动态公网地址,就不用往下看了。
在网路状态里查看WAN口信息
请输入图片描述

2、设置端口转发。

在一级路由网关的高级设置里面,创建新的端口映射,填写你电脑的局域网地址,可以Win+R输入cmd,打开cmd窗口输入ipconfig回车查询,也可以登录路由器后台,在设备管理里面查询。
请输入图片描述
请输入图片描述

3、端口转发设置好后,玩家已经可以通过宽带的ip+端口的形式访问我们的Minecraft服务器了,但是还没完,一旦动态ip一改变,玩家就无法访问进入了,所以我们继续设置ddns动态域名解析服务,免费的ddns服务有花生壳,nat123,3322,dynu,cloudflare,阿里云等等;一般路由器中都有3322,花生壳Oray等等,具体设置教程百度你的路由器怎么设置ddns就好了,我这里不做过多介绍,最推荐的还是3322,免费好用,可以去3322官网查看配置教程。

如果你的路由器不支持ddns,你可以下载花生壳的ddns,window客户端,之前花生壳不支持UDP,现在已经支持了,所以可以支持基岩版Minecraft了。你还可以使用nat123,具体教程,去nat123官网也可以找到。

对于使用阿里云和cloudflare的ddns设置需要自己注册拥有一个域名,在Linux环境下,对于小白有点复杂,后面会专门出一篇教程来介绍,有兴趣请持续关注,你也可以搜索相关教程,自己动手搭建。

4、ddns设置完成后,你可以去站长工具ip查询一下你的ddns域名并且ping一下,是否能ping通,以及是查询的结果是否和你家网络当前的动态ip一致。

查询地址:ip.tool.chinaz.com

例如:
请输入图片描述

5、如果上面步骤全部完成,并且测试没问题,你就可以把Minecraft服务器地址发给你的朋友,让他进来一起玩了。

设置好后的Minecraft服务器地址为:你的ddns域名:对应版本端口号

例如我的

JAVA版:ddns.mimao.club:25565

基岩版:ddns.mimao.club:19132


以上就是全部的映射方法了,感谢观看,如有不妥的地方还请评论指出。

如果你懒得设置,只是想偶尔和朋友玩一下,你可以去游侠对战平台,免费且教程简单。

如果你自己电脑不能24小时开服,你不在的时候又想让朋友玩,那你可用使用挂机宝,24小时全年在线,价格便宜,不了解挂机宝和不会搭建可以联系我,可以全程帮忙部署。
转载还望各位大佬注明文章地址:
https://www.tufei.site/archives/41/

哔哩哔哩:https://www.bilibili.com/read/cv4908140