开服准备
首先我们要明确自己开设的服务器的用途,是为了满足自己短时间联机的需求,还是想做大做强、做成24小时不间断运行的服务器?对于前者,笔者建议你在每次联机前花十分钟购买和配置一台ECS弹性服务器,对于后者笔者建议租用轻量运用型云主机。前者的优点是便宜,毕竟我们租来服务器以后不是24小时都会上线游玩的,如果我们到玩的时候才租服务器,玩多久租多久,就可以为自己省下一大笔成本;后者的优点是方便,不需要每次都麻烦的进行配置,想玩的时候打开MC客户端直接上号就可以了。
毕竟很多想要开服的人还是学生党,所以节约成本真的很重要(当然如果你是土豪那我没说)。如果选用ECS的话,大概成本在每小时1元左右;如果选择包年/包月租用主机的话,大概成本在每月三十到四十(有些网站有学生优惠,可以把成本压缩到两百一年左右)。
服务器配置选择
如果想要玩的爽、玩的流畅,服务器的配置就不能差。依笔者的个人经验,1核1G(内存)是底线,只适宜三人左右的联机。一般推荐2核2G左右的配置,这样玩起来服务器的负担会轻很多(服务器卡顿是真的令人难受)。如果你想开能容纳几十几百人的大服务器,服务器的配置就必须相应的变得更高,甚至可能花费会到达千元级别。
服务器的租用
这里笔者以租用ECS为例。我们首先随便找一家云服务提供商,找到ECS弹性云服务器,进入租用的配置选择界面。
计费模式选择按需计费(很重要),区域选择离自己近的。
规格按需选择。这里笔者财大气粗,选择了一个4核8GB的,玩游戏就是要让自己和基友都开心。
镜像选择Ubuntu 20.04LTS(很重要,本文展示的apt源基于Ubuntu20.04版本,若选择22.04及更高的话会出现软件源的问题)
网络配置。注意!注意!注意!一定要选择按流量计费,我们是轻量运用,不值得花大钱去买带宽。带宽大小越大越好,最好拉满(按流量计费时,带宽大小与计费无关)。其他设置默认即可。
部分服务商会要求在配置时就设置密码,乖乖设置即可。
到这里我们的服务器配置就告一段落了,配置费用每小时1元,很便宜。
如果你需要租用包年/包月的专属云主机的话,操作也是相同的。注意镜像选择Ubuntu 20.04LTS即可。
到这里我们的服务器就租用成功了。
服务器配置
服务器刚刚租下来是白板一块,我们要对它进行必要的设置。
安全组/防火墙放行25565端口
出于安全考虑,服务器一般都只放行少数几个端口。这里我们的MC服务器一般运行在25565端口上,如果不对它予以放行的话会导致我们连接不上服务器。我们前往服务器的控制界面,找到防火墙/安全组界面(如果找不到就是没有防火墙,就不需要这一步了)。
这里我们选择更改安全组(或者其他类似的按钮),在入方向规则和出方向规则中加入TCP协议25565端口,和UDP协议25565端口(以防万一)。
登录服务器,更改软件源
按下Win+R,输入cmd打开命令提示符(用Mac的同学打开终端)。输入
ssh root@你的IP
如果提示没有找到ssh的话,就去设置-应用-可选功能中添加功能OpenSSH客户端。
第一次连接服务器会弹出类似提示,输入yes确认即可。
接下来输入设定好的密码,或者服务器管理界面显示的初始密码即可。
现在我们已经成功地连接上了服务器。
对Ubuntu系统而言,它的默认软件源位于国外。由于一些不可抗力的影响,我们从国外下载数据速度很慢,所以我们可以将默认的软件源更换为位于国内的阿里源或者清华源。
我们使用vim编辑软件源文件:
vim /etc/apt/sources.list
此时你应该看到如下图的界面
注意:如果最下方有readonly字样的话,就退出vim(输入冒号和一个q),并在上面的指令前加上sudo和一个空格再次运行。理论上,接下来你的所有操作都应该如此。
进入vim后不要轻举妄动,键盘上的键并不能直接向文件输入内容。
我们先依次按下999dd,将文件清空。接下来,按下i,进入插入(编辑)模式。复制下面的内容(二选一),粘贴到vim中。粘贴的方式很简单,win10下可以直接右键点击cmd窗口快速粘贴。
阿里云:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
清华大学:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
接下来,按一下ESC,然后输入**:wq**(注意冒号),回车,就可以退出了。
vim的操作比较复杂,但是对于你来说,使用vim将会变成你将来Linux平台上所有操作中最不可或缺的一部分。
接下来,更新软件列表(但不要跟着其他教程upgrade升级软件!)
apt update
如果看到大片的内容滚滚而下,那就是成功了。
安装Java
每个玩MC的人都知道,MC是跑在Java上的,我们服务器也不例外,需要安装Java。安装的方式很简单,先搜索最新版本的Java。
apt search openjdk
服务器会为我们搜索到各种各样版本的Java。请记住,你需要安装的是最新版本的openjdk-xx-jdk。例如,笔者写下本文时,需要安装的是这个:
如果jdk安装版本过老,会导致游戏不能正常启动!请务必注意
接下来找到最新版本的jdk,就可以对它进行安装了。
apt install openjdk-17-jdk -y
接下来,稍等片刻,Java就安装完成了。查看一下Java的版本来确认安装成功:
java --version
下载MC服务端
打开网站MCVersions.net - Minecraft Versions Download List。这里列出了官方版本的服务器包。(之后你可以考虑其他支持插件的服务器包)
进入下载页面,有客户端和服务端两种选项。
我们右键点击Server Jar按钮,选择复制链接(我们不需要真的下载)。
回到服务器,我们切换一下目录,并在用户目录下创建一个mcserver目录存放服务端、存档等文件。
cd ~
mkdir mcserver
cd mcserver
接下来我们把服务端jar下载到我们的服务器上。
wget 刚刚复制的链接
很快就下完啦。使用ls -l命令确认一下当前目录。
ls -l
可以看到,server.jar文件已经静静地躺在了我们的服务器上。
开服!
启动server.jar
我们使用这样的命令来启动服务端:
java -jar server.jar nogui
首次启动,Minecraft会要求我们同意EULA条款。
使用vim打开elua.txt:
vim eula.txt
将其中的eula = false 改为eula = true。
再次用刚刚的命令启动服务端。
很顺利,服务器开始生成世界了。
我们打开电脑上的游戏,输入我们的IP地址:25565端口,尝试连接服务器。
很顺利!我们服务器成功地启动了!
如果出现“验证失败”之类的错误,可能是因为你没有使用正版账号登录。这种情况也简单,我们关闭服务器的正版验证就好了。打开根目录的server.properties文件,将online-mode一行改为false:
online-mode=false
回到服务器的界面,我们可能需要给自己上个管理(op),这种情况下在后台输入
op 你的名字
即可。
当我们需要关闭服务器时,输入
stop
服务器就会随之关闭。
使用screen
可能有的同学会担心,关闭ssh窗口后服务器会不会继续运行。对此,linux很安全,虽然不会把mc的服务端进程杀掉,但是我们也不能再回到服务器后台的界面中。如果你不幸遇到了这种情况,请这样操作来先把服务端杀掉:
ps -aux | grep java
如图,我们看到Java进程的PID是7501。所以我们就把7501进程结束就好了。
kill 查到的PID
接下来我们使用一个叫做screen的工具,来在linux下实现多任务的操作。
screen -S 一个名字
这个操作的意思是创建一个新的screen,并把-S后的内容作为它的名字。
进入screen后,我们正常启动服务器。
如果需要退出screen,我们就同时按下Ctrl+A,并马上按下D。
退出后,可以使用这样的命令回到screen。
screen -r 那个名字
下载存档
当我们不玩以后,我们可能需要将我们的存档下载下来。这时我们就先把服务器关掉,回到这里:
我们使用ls命令,可以看到多了很多东西。蓝色的world就是存放存档的文件夹。
我们用cd命令切换到world文件夹中,使用zip命令将目录下的所有内容压缩到save.zip。
cd world
zip -q -r save.zip *
如果提示没有安装zip,就安装一下:
apt install zip -y
如果什么都没说,那就是压缩成功了。我们退出服务器,回到cmd中:
exit
使用scp命令把存档下载到当前目录(就是光标前面那个):
scp root@你服务器的IP地址:/root/mcserver/world/save.zip save.zip
过程中,会要求你输入服务器密码,输入就好了。
上传存档也是一样的,只不过先本地后远程:
scp save.zip root@123.60.21.159:/root/mcserver/save.zip
我们可以先删除远程已有的存档,然后重新创建存档目录并将save.zip解压
rm -rf world
mkdir world
mv save.zip world/save.zip
unzip world/save.zip
rm -f world/save.zip
关服(认真脸)
如果是用ECS的小伙伴,玩完以后一定要记得删除服务器哦!不然会一直计费。
到这里,基本教程就告一段落啦,现在你已经学会了最基本的开服操作,接下来迎接你的有各种各样的模组,权限,MOD等等,一个崭新而又宽广的世界已经向你开启了大门,希望你玩的开心!