暑假将至,放假一起和朋友们联机玩游戏是多么快乐的事情啊。但是目前家庭宽带没有公网IP,对游戏联机造成了极大的阻碍。不过我们可以自建内网穿透服务器,解决这个问题。本教程搭建的是内网穿透服务器,只用于联机数据的传输,游戏服务器还是得搭建在本地。
此方法所需条件:(开始教程前先评估条件,以免浪费人力物力财力)
1.开服者没有公网IP。假如说你有公网IP,不需要浪费钱做这个了,直接开服即可。
2.开服者网络质量较优秀。一般来说,只要是三大运营商网络,质量一般不差。长城宽带等运营商,可能会极度影响联机体验。
3.开服者需在自己电脑上开服。本教程搭建的是内网穿透服务器,只用于联机数据的传输,游戏服务器还是得搭建在本地。
此方法价格:(开始教程前请先规划预算)
1.服务器价格:¥15.50/月(可按周购买)
2.流量价格:¥0.80/GB(实测,5个玩家生存游玩6小时左右消耗1GB,跑图开销更大)
此方法实现的效果:(若对效果满意,再开始教程)
1.搭建简单。完成本教程大约只需要半小时(不包含配置Minecraft服务端)
2.价格便宜。本教程约等于只花费流量费,无需购买昂贵的高配置的云服务器搭建。
3.服务器配置高。服务器配置取决于开服者电脑配置,只要不是远古电脑,配置肯定比便宜的云服务器高。
此方法的缺点:(如果有无法忍受的缺点,那就不要继续了)
如果想要游戏服务器一直运行,必须让开服者电脑挂着游戏服务器。
此方法的简单原理图:(若有不严谨的地方,可以评论区指正)
购买云服务器
本教程使用阿里云云服务器,如果你有更实惠的选项,可以更改,操作基本相同。
1.访问阿里云并注册账号
阿里云官网:https://www.aliyun.com/
访问阿里云官网,注册账号,完成实名等相关认证。
2.进入购买页面
在“产品”选项中,找到“云服务器 ECS”选项访问,点击“立即购买”。(如果你处在一键购买页面,请切换到自定义购买)
3.选择服务器配置
从上到下,若没提到的保留默认。
付费模式:包年包月
地域及可用区:华东2(上海)、随机分配
上海服务器,在大陆访问延迟都很不错,我比较推荐。如果有距离你更近的服务器,也可以自行调整。
实例规格:筛选2核0.5G的服务器
其实就是最便宜那款
镜像:CentOS 7.9 64位
存储:高效云盘 20GB
其实就是最便宜选项,这都远远过剩
点击右下角“下一步:网络和安全组”。弹出“突发性能实例产品特性确认”,直接确认即可(我们这服务器不存在这问题,因为CPU几乎无占用)
公网 IP:勾选“分配公网 IPv4 地址”,选择“按使用流量”,带宽选择30Mbps
10个人绰绰有余,你可以自己改,反正价格一样。不选固定带宽是因为太昂贵。
点击右下角“下一步:系统配置”。
登录凭证:自定义密码
登录密码:设置一个一定强度的密码,防止被暴力破解(重要!!!)
直接点击右下角“确认订单”。
购买时长:按自己需要,最低按周购买。
点击右下角“确认下单”。支付费用。(强烈建议等会给账号充值一定金额,因为流量是按量扣费的)
4.进入服务器控制台
找到公网IP一栏,复制此IP留存备用。(下图服务器是我写教程专门开的,写完就释放了,因此不打码)
连接云服务器
1.下载安装Xshell和Xftp
Xshell是一款SSH软件,用于控制服务器。如果你有自己喜欢的SSH软件,可以自行更改。Xftp可以方便地向你的服务器上传文件。
(1)访问NETSARANG官网
(2)下载免费的家庭/学校版Xshell
在“所有下载”选项里,选择“家庭/学校免费”
填写姓名(不重要)、邮箱(重要),勾选两者,点击下载。
访问你的邮箱,会发现两封邮件,分别是Xshell和Xftp的安装包下载链接。点击下载链接,下载Xshell和Xftp的安装包。然后安装Xshell和Xftp。
2.连接服务器
(1)打开Xshell
(2)点击左上角添加服务器
(3)填写框内信息
名称随便起,主机填写之前复制的IP地址,其他都默认,然后点击确定。
(4)连接服务器
点击左侧一栏刚才新建的会话,连接你的服务器。
第一次连接陌生服务器会弹出以下对话框,点击“接受并保存”
然后就要输入用户名,默认是“root”
然后输入你购买服务器时设置的服务器密码。
若一切正确,将会看到欢迎语:“Welcome to Alibaba Cloud Elastic Compute Service !”,此时,你已经连接到了你的云服务器。
下载并配置frp
1.下载frp
我们使用的内网穿透软件是frp,简单,易操作。以下是frp的GitHub页面,如果你不会用GitHub,那么就用下面我的云盘链接分享吧。
2.配置frp服务端
解压Linux版的frp,用记事本打开frps.ini,清空里面的内容,粘贴以下内容,替换中括号的内容然后保存。
[common] bind_port = 7000 dashboard_port = 7500 dashboard_user = [仪表盘用户名] dashboard_pwd = [仪表盘密码] token = [客户端连接密码]
示例:
[common] bind_port = 7000 dashboard_port = 7500 dashboard_user = ChrisKim dashboard_pwd = awa token = test
3.配置frp客户端
解压Windows版的frp,用记事本打开frpc.ini,清空里面的内容,粘贴以下内容,替换中括号的内容然后保存。
[common] server_addr = [服务器IP] server_port = 7000 token = [客户端连接密码] [mc] type = tcp local_ip = 127.0.0.1 local_port = 25565 remote_port = 25565
示例:
[common] server_addr = 106.15.189.200 server_port = 7000 token = test [mc] type = tcp local_ip = 127.0.0.1 local_port = 25565 remote_port = 25565
上传frp至服务器并运行
1.上传frp服务端
打开Xshell,点击如下按钮进入Xftp页面。
把Linux版的frp拖入右侧上传至服务器。然后就可以关闭Xftp了。
2.安装Screen
Screen可以让软件持续运行,即使我们断开了SSH。在SSH中输入以下命令安装。
yum install screen -y
安装基本上秒装,然后就可以进行下一步
3.运行frp
创建一个新的session(注意大小写):
screen -S frp
进入frp的目录:
cd frp_0.37.0_linux_amd64/
给frps运行的权限:
chmod +x frps
检查frps的权限:(若显示名称是绿色的,则可以运行)
ll
运行frp服务端:(出现以下内容既运行正常)
./frps -c frps.ini
退出此session:
Ctrl + A 然后按 D
放行安全组
点击“手动添加”,端口范围填写7000、7500、25565(分三次添加),授权对象选择“0.0.0.0/0”
运行frp客户端
在本机打开frp Windows版,在文件夹内新建一个文本文档,重命名为“run.bat”
用记事本打开新建的批处理,填入以下命令:
frpc -c frpc.ini
保存后双击批处理运行,若出现以下画面既正常运行。
你本机的25565端口已经可以在公网访问了。公网访问你的云服务器IP的25565端口,即可访问到你本机的25565端口。
此时只要在本机运行Minecraft服务器,在游戏中输入你的云服务器IP,就可以连接上服务器啦。
附:Minecraft服务端配置方法(精简)
这其实不是我这篇教程需要介绍的内容,但是想着教程的完整性,尽量让新手一篇教程就搞定全部操作,我就也顺便说说吧。不过我只会介绍最简单的配置方法,即原版官方服务器。如果你要安装forge、fabric,或是开插件服,请自行百度教程学习。
1.下载服务端
官方启动器有服务端下载选项,点击即可下载server.jar。
(温馨提示,1.17需要Java14以上来运行,如要开1.17服务器,请至Java官网下载Java16)
2.首次运行服务端
将server.jar放到一个文件夹内,在里面新建文本文档,重命名为run.bat批处理,编辑批处理,填入以下内容保存。1G和8G分别是最小内存和最大内存占用,依据你的电脑配置决定。
java -Xms1G -Xmx8G -jar server.jar -nogui pause
运行批处理,首次运行服务器会报错,因为要同意EULA协议。
打开文件夹内新生成的eula.txt,将false改为true来同意协议,保存。
3.配置服务端
用记事本打开文件夹内新生成的server.properties,可自行编辑配置。(我一般只改游戏模式、难度、命令方块,其他不需要改)
#Minecraft server properties #Sat Mar 14 16:12:18 CST 2020 spawn-protection=16 max-tick-time=60000 query.port=25565 generator-settings= force-gamemode=false allow-nether=true #是否允许进入地狱 enforce-whitelist=false gamemode=survival #游戏模式 survival生存 creative创造 adventure冒险 broadcast-console-to-ops=true enable-query=false player-idle-timeout=0 difficulty=easy #难度 peaceful和平 easy简单 normal中等 hard困难 broadcast-rcon-to-ops=true spawn-monsters=true #是否生成怪物 op-permission-level=4 pvp=true #是否启用玩家互相伤害 snooper-enabled=true level-type=default hardcore=false #极限模式 enable-command-block=false network-compression-threshold=256 max-players=20 #最大玩家数 max-world-size=29999984 resource-pack-sha1= function-permission-level=2 rcon.port=25575 server-port=25565 #服务器端口,可自行修改,也可以不修改 server-ip= #服务器IP,留空即可 spawn-npcs=true allow-flight=false level-name=world #存档名称,也就是读取的存档文件夹的名称,默认为world view-distance=10 #视距 resource-pack= spawn-animals=true white-list=false #是否启用白名单,启用后只有白名单用户能进入服务器 rcon.password= generate-structures=true online-mode=true #是否连接正版验证,开启后只有正版玩家能进入,开盗版服请改为false max-build-height=256 level-seed= #地图种子,默认留空 prevent-proxy-connections=false use-native-transport=true motd=A Minecraft Server #在多人游戏界面显示的服务器介绍语 enable-rcon=false
4.再次启动服务端
再运行批处理,服务器就可以正常启动了。如要关闭服务器,请在命令行内输入stop命令,直接叉掉会回档。
额外:给服务器解析域名
如果想要给服务器解析一个域名,可以在阿里云上注册一个域名,然后解析A记录为你的服务器IP。这样在游戏中填写你的域名,就可以连上服务器了。
发表回复