前言
昨天突发奇想用阿里云来搭建一个Minecraft的服务器共手机版使用,本以为很简单的事情,结果兜兜转转做了两天才勉强搭建成功。
这个教程不能说从0开始,毕竟你先得有钱买服务器,
也不能说技术贴,毕竟不深入,也比较照顾新手。
总体对接触过linux的同学会容易一点。
配置说明
云平台:阿里云
系统版本:Ubuntu16
服务器平台:Nukkit
使用到的工具:Putty,FileZilla,浏览器
第一步:购买服务器和下载工具
首先你得有一个阿里云服务器,学生的话9.9一个月买最低配,可供5人左右小型服务器。至于怎么选内存,规格什么的,就不细说了,这个没太大影响,而且网上也有很多教程。
买好服务器后,需要下载Putty,FileZilla。
Putty是为了通过SSH连接服务器,作为操作窗口(毕竟图形化太占内存了,本来配置就不高)
FileZilla是为了从你的window电脑传文件到云主机
所以不用这两个也行,可用同类软件代替。
putty使用教程:https://jingyan.baidu.com/article/f96699bbe53d82894e3c1bec.html
FileZilla使用教程:https://help.aliyun.com/knowledge_detail/36243.html
(我觉得阿里云官方的putty教程对新手不太友好)
觉得不够详细可以自己百度。
顺便附上我的阿里云折扣卷:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=vaz2csxo&utm_source=vaz2csxo
(购买云服务器ECS会用到)
你的支持是我创作的动力
![img_083525d54297b44f87e11f81cba0f4c2.png](https://yqfile.alicdn.com/img_083525d54297b44f87e11f81cba0f4c2.png?x-oss-process=image/resize,w_1400/format,webp)
第二步:下载Nukiit核心
下载方法很多,可以去官网下载,如果官网挂了的话,也可以去贴吧、论坛等地方下载,我也会提供一个。
内核就是这样一个东西。
![img_dcceaa887f51851868098ded617956cc.png](https://yqfile.alicdn.com/img_dcceaa887f51851868098ded617956cc.png?x-oss-process=image/resize,w_1400/format,webp)
官网地址:https://ci.nukkitx.com/job/NukkitX/job/master/
我用的内核:https:/防/pan.b和aidu.c谐om/s/10cEqMKmXiaAiLcnDBFpNVw 密码:f26f
官网进去之后点这个下载
![img_4d4d6ce2fecaadb9d14029cfdf5201e7.png](https://yqfile.alicdn.com/img_4d4d6ce2fecaadb9d14029cfdf5201e7.png?x-oss-process=image/resize,w_1400/format,webp)
名字不太一样,不过没关系下载完成之后用FileZilla传到你的云主机上。
![img_a07ce8f0d279eb09111c071d2465741e.png](https://yqfile.alicdn.com/img_a07ce8f0d279eb09111c071d2465741e.png?x-oss-process=image/resize,w_1400/format,webp)
我是在home里面新建Nukkit文件夹,然后把内核直接拖过去。
把各种文件分清楚看起来比较舒服。
第三步:运行Nukkit
首先要确定你的云主机装了JDK,通过这条命令
java -version
![img_24e7465c0bd8959c69a9d4de387755f4.png](https://yqfile.alicdn.com/img_24e7465c0bd8959c69a9d4de387755f4.png?x-oss-process=image/resize,w_1400/format,webp)
如果没有显示版本号,下面会提示安装,并给出安装命令。
也可以直接用下面这句:(改变openjdk-8-jdk可下载不同版本)
apt-get install openjdk-8-jdk
然后再次检查你的JDK,版本要1.8或以上的
JDK安装完后请cd到Nukkit核心所在的文件夹,即移动到文件夹下
![img_23c0910d3eeb8d720420d0e3fb6aa7fb.png](https://yqfile.alicdn.com/img_23c0910d3eeb8d720420d0e3fb6aa7fb.png?x-oss-process=image/resize,w_1400/format,webp)
如果你的位置和我的一样,可以用我的指令,注意看‘#’后面的变化,
用ls指令可以查看文件夹下的文件,如图。
(小技巧:如果文件夹名字太长,可以用TAB键自动补全,即文件夹名字敲到一半,按TAB键会自动补全名字)
注意:下面一键开服务
之后用下面的命令运行Nukkit开服
java -jar nukkit.jar
通过该条指令就可一键开服了
![img_a1baa6f1c9b0f9cacd0cd89ba6aabdb2.png](https://yqfile.alicdn.com/img_a1baa6f1c9b0f9cacd0cd89ba6aabdb2.png?x-oss-process=image/resize,w_1400/format,webp)
如图开服成功,注意图中红框部分。
chs是选择中文简体,服务器对应PE版本是v1.1.3,对应端口是19132
第四步:开放阿里云接口
然鹅,到这里还没有结束。
一般的教程到这里就结束了,如果你用局域网用自己的window开服确实也就结束了。
但用阿里云开服还没有结束,你会发现你的手机还是没法连上服务器,因为......
划重点!划重点!划重点!
还没有关闭防火墙,开放端口。
下面我们只能继续:
用这条指令查看防火墙状态:
ufw status
![img_43e607d1b8fbfc2a91de959c2b836147.png](https://yqfile.alicdn.com/img_43e607d1b8fbfc2a91de959c2b836147.png?x-oss-process=image/resize,w_1400/format,webp)
active,看到这个单词就说明防火墙在活跃状态,没有关闭。
随后用这条指令关闭:
ufw disable
![img_152684da7613c6f416b88963805c21d5.png](https://yqfile.alicdn.com/img_152684da7613c6f416b88963805c21d5.png?x-oss-process=image/resize,w_1400/format,webp)
如图所示,然后再次查看防火墙状态inactive,妥了,防火墙已经关闭了
接下来开放阿里云端口,我们需要开放UDP协议19132端口
在浏览器打开阿里云官网,登录你的账号,打开控制台。(在右上角)
![img_4679671ae0d700896049bab06bf41f19.png](https://yqfile.alicdn.com/img_4679671ae0d700896049bab06bf41f19.png?x-oss-process=image/resize,w_1400/format,webp)
先选择你服务器所在的地区,我的服务器在华北2
然后云服务器ECS->安全组->配置规则
![img_07de45d08186975c3d4998c088c0f199.png](https://yqfile.alicdn.com/img_07de45d08186975c3d4998c088c0f199.png?x-oss-process=image/resize,w_1400/format,webp)
进入配置规则页面后,
右上角添加安全组规则
![img_8e5a378e9773ce88a67d41cd5a65c57b.png](https://yqfile.alicdn.com/img_8e5a378e9773ce88a67d41cd5a65c57b.png?x-oss-process=image/resize,w_1400/format,webp)
具体配置内容
说明一下:
协议类型:自定义UDP
(打死我也想不到是用UDP协议来传输数据,这里折腾了我一晚上)
端口范围:19132
(服务器所用的接口,可以在 server.properties里更改)
授权对象:0.0.0.0/0
(所以外网IP都可以访问)
描述:为我的世界服务器开放的端口
(自己写的备注,防止以后忘了这是干嘛用的)
![img_450d6005f8aced62564db72503d33812.png](https://yqfile.alicdn.com/img_450d6005f8aced62564db72503d33812.png?x-oss-process=image/resize,w_1400/format,webp)
规则配置完成之后是这个样子,
我们要确认这三个:自定义UDP,19132/19132,,0.0.0.0/0
![img_30735a055838d6e08080b4db4fe4f529.png](https://yqfile.alicdn.com/img_30735a055838d6e08080b4db4fe4f529.png?x-oss-process=image/resize,w_1400/format,webp)
然后就可以用手机通过你的公网IP和端口来接入服务器了,
可以装各种插件(我还不会),和基友一起愉快的玩耍了!
![img_f43b79c342c4594f4fd557d73eca728c.png](https://yqfile.alicdn.com/img_f43b79c342c4594f4fd557d73eca728c.png?x-oss-process=image/resize,w_1400/format,webp)
第五步:用screen将进程挂在后台。
此时你会发现,一但关闭putty窗口后,服务器就关闭了,因此我们需要screen。
apt-get install screen
然后创建一个新对话框,并在里面开启服务器
screen -R mc
java -jar nukkit.jar
接着Ctrl+a然后按d挂起
下次连接putty时,用下面指令回复窗口
screen -r mc
如果恢复不了,用下面这两条:
screen -d mc
screen -r mc
查看挂起的所有窗口
screen -ls
用exit指令可结束窗口,
更具体可以百度:linux中screen的用法
最后一步:检查
如果登不进去,请检查
1.防火墙已关闭
2.端口已开放,并且选择的是自定义UDP
3.公网IP和端口号无误
4.PE版本号和服务器版本号对应
5.登录名不能是steve
以上有任何我没写清楚的地方,推荐自己百度,毕竟大体思路是没有问题,剩下细枝末节的照顾不到,当然也可以下方留言。
后序
这两天我几乎把开发相关的帖子、文章都看遍了,还有关于用pocketMine开服也看了很多,但pocketMine遇到的问题实在太多,最终只有Nukkit能搭起来,然后用了一下午时间整理出这篇文章,虽然没法面面俱到,但也有些参考价值。有问题可以在下方留言,不敢说都能解决,但有空会看的。
希望能有dalao交我如何用PocketMine开服。
创作不易
买高配云服务器的话请考虑用我的折扣卷,喜欢的换请点下方的爱心,可以适当打赏我会更开心,你们的支持将是我创作的动力,祝你们顺利开服。