本人是西电微电子专业的学生,所学虽与云服务无关,但大量的专业软件均运行在Linux系统之中,同时本人对软件网路等颇有兴趣。暑假闲来无事,正巧看到阿里云有学生优惠,赠送14天的ecs服务器资源,一时兴起,开始研究怎么搭建一个自己的服务器。
开始想着用服务器创建云盘和服务器,但无奈各种问题无法解决,只能先从简单的入手,打造自己的mc java版服务器。
首先需要在阿里云创建一个实例(服务器),因为我已经领取了,这里就用购买ecs服务器的界面进行演示。
首先选择需要的规格(默认是2G内存,1Mbps带宽)。这个规格对于mc服务器来说有一些勉强,但在纯净服的条件下,也能供基友们联机使用。
网路选择类似下图
服务器系统(镜像)选择cent os 8.5 64位,该Linux发行版虽然已经停止更新,但仍然是服务端使用最广泛的系统,拥有强大的社区和资料,比较适合初学者进行学习。
密码部分使用自定义密码,因为mc服务器比较封闭,基本不会遇到攻击。即使攻击也不会损失太多,所以为了方便起见,直接使用最简单的密码。
上述步骤完成之后,即可创建实例了。等待一段时间后,我们就可以继续下一步了。
在继续安装环境之前,我们先要熟悉一下mc服务端需要的环境。mc java版本是用java写成的游戏,服务端也是用java写成的,所以我们首先需要安装java环境。同时为了服务器可以在我们不在的时候持续运行,需要使用screen软件创建虚拟“桌面”。同时还需要安装基础软件vim和wget。
实例创建完后,我们进入阿里云的后台管理界面。
先在所有产品界面中点击ecs服务器。
然后在后台中记录服务器的公网ip(非常重要,且不可泄露)
点击实例,进入该实例后台,在这里可以查看整个服务器的状态。
点击远程连接后,就可以进入cent os的命令行界面了。
这里为了操作方便,并未使用shell进行连接,而是使用阿里云自带的Workbench进行控制。进入后台界面后,我们安装mc需要的基础环境。
PS:为了之后更方便地管理服务器,建议使用shell软件进行管理。本人使用的是xshell7,官网有针对家庭和学生的免费版,体验很不错。
使用密码登陆后界面如图所示。
接下来可以安装所需环境了。
cent os可以使用yum进行快捷安装,该软件已预装在cent os上,类似iOS的app store或者电脑的软件管家。具体原理和细节可以参考这篇文章(https://learnku.com/articles/48649)。
安装wget、vim和screen
yum install wget
yum install vim
yum install screen
在命令行中输入上面的代码,一个一个安装,安装过程中会询问是否确认安装,命令行中输入y即可。
安装完成后,输入“软件 -version"会返回软件的版本信息,未成功安装是没有信息返回的,可以自检安装是否成功。
接下来就需要安装最重要的java环境了,网络上有很多教程,但基本上都是过期的例子,为了适配最新版的mc java服务器,我们需要安装最新版本的java,这里直接给出指令,不需要去亲自摸索。我在java环境安装中耗费了大量时间,不过也因祸得福学到了很多Linux系统的基本知识。
yum install java-17-openjdk-demo.x86_64
运行该命令后,再使用java -version查询安装版本,如下图即证明安装完成。
接下来需要准备mc服务器的版本,具体下载可以参考网络上的教程。mc官方的服务器是一个jar文件。我们需要在本地进行调试,并通过ftp服务将本地文件上传到服务端。
我使用的ftp软件时与xshell师出同门的xftp,同样面对家庭和学生用户都提供了免费的正版。输入服务器ip和密码即刻登陆看到服务器的文件。
在本地,我么需要用记事本写一个脚本启动mc服务端。
如图,-Xms1024m 指的是该服务器初始分配内存,-Xmx1500m指的是服务器最大的内存,之后的server.jar指的是服务端文件的名字,和文件夹中的匹配即可。之后将该文件后缀改为.bat并双击运行,运行完毕后文件夹会出现更多的文件(类似mc的软件夹)。
之后我们需要同意一个重要的协议,打开eula.txt文件,将里面的false改为true,再次双击start.bat后即可运行服务端。
这个就是运行成功的服务端。此时我们关闭界面。
.bat是Windows运行的脚本,在Linux中我们需要使用.sh运行脚本。仿照.bat的写法,我们写一个.sh的脚本。
在记事本中输入
#!/bin/bash
java -Xms1024m -Xmx1500m -jar server.jar
同时将文件后缀改为.sh放入文件夹,此时服务端准备工作已经就绪。打开xftp文件,输入ip地址、用户名和密码登陆到服务器的文件系统中。将本地的文件夹全部拷贝到服务端中。
然后我们需要在阿里云服务器中允许mc的端口通过(不设防火墙)。
在安全组中按照下图加入一个新的安全规则,确定后重启服务器。
重启完成后,按照上文过程登陆服务器后台,输入下面的指令
screen -S mc_server(S需要大写)
chmod +x start.sh
sh ./start.sh
等待数秒后服务端就启动完成。
之后启动同版本的minecraft,在多人游戏中输入ip地址即可畅玩。(温馨提示,第一次登陆后需要等比较多的时间用于传输数据)。
除了官方客服端,mc还有很多面板服和mod服供大家选择,这些可以自己探索。